[swift-evolution] A concern

Dimitri Racordon Dimitri.Racordon at unige.ch
Sun Feb 19 14:33:29 CST 2017


Very interesting topic!

I disagree with the premise. Without having written a single line of Objective-C (nor Cocoa), I was able to get started with Swift in maybe 2 busy nights. Advanced concepts are difficult to master, but imho the learning curve is not that steep.

There are experts in every languages used in the industry, because actual production-ready applications often required experts. That is not to say that all languages are born equal, but my belief is that if the complexity isn’t in the language, then it’s somehow pushed into the libraries. In that case, being an expert isn’t really about mastering the language, but rather about mastering all the intricacies of its mainstream libraries (J2EE, Ruby on Rails, the 10’000’000 libraries required to make something work in Javascript, …).

Now I do think it is indeed very important to be careful not to create another C++, and I would hate to see Swift going that way. Despite visible efforts to keep it at bay, the syntax of the language does look impressive, and the countless blog posts on capture semantics prove that memory management is not as intuitive as one would think. But judging by the few months I’ve been subscribed to this list, I don’t feel like the community (or at the very least the users of this list) is heading the way of an "12 years of experienced minimum required" behemoth.  Additional keywords and syntactic constructions are often considered with a lot of prudence, and I’m under the impression that a solid 1/2 of the threads end up discussing about consistency at some points.

I find it very valuable to receive this great amount of suggestions, and I it’d be a little bit sad if everything was simply pushed-back in favour of conservatism. These suggestions, and following discussions, allow us to constantly reevaluate the consistency and ease-of-use of the language. This can be seen as most of the time people end up proposing extensions to existing types, or operator overloads.

Best regards,
Dimitri



More information about the swift-evolution mailing list