[swift-evolution] A concern

David Hart david at hartbit.com
Sun Feb 19 10:31:53 CST 2017


I definitely agree with you: simplicity is the ultimate sophistication. The way I see it, a great language should strive to be both full featured and simple: by reusing concepts and keywords whenever possible, by designing orthogonal features that work in concert to be even more powerful, by saying no to new features which don't add enough usefulness to be worth their cognitive weight.

We can definitely go too far in both directions: some languages are so simple they are very elegant, but miss features that would make them useful in more situations. Some other languages are so full featured that they become very powerful but are too complicated as a result: a mess to learn, implement and keep good at (C++ and D). Swift definitely tries to take a pragmatic approach, somewhere in between, perhaps slightly more on the full-featured side of things, but tries to reduce that cognitive load with progressive disclosure of features.

And I agree that we should continue to strive for keeping as much simplicity as is possible. That's why I'm fighting to get scoped-private access deprecated, and why I'm initially doubtful of features like "pure functions", even if that last case may provide enough advantage to be worth the cost. We should all strive to start discussing new features with initial scepticisme until we can prove tangible advantages.

Thanks for reminding us all of this :)

> On 19 Feb 2017, at 10:00, Rien via swift-evolution <swift-evolution at swift.org> wrote:
> 
> Hello All,
> 
> Its Sunday, time for some reflection...
> 
> One of the big plusses of Objective-C was that the entire manual was just a few pages long. I have not looked it up, but IIRC the entire manual describing the language was probably less than 50 pages. Much less if you subtract the filler stuff.
> 
> Now, Objective-C is -arguably- not a very ‘nice’ or aesthetically pleasing language.
> 
> Swift is a huge improvement aesthetically speaking. But at the cost of a much larger user manual. Right of the bat it was clear to me that in Swift some of the learning curve from the framework (Cocoa) was shifted into language (Swift). I.e. Swift seemed specifically targeted to the idioms we used in Objective-C/Cocoa. It was one of the reasons that I took to Swift immediately.
> 
> Now that we have Swift 3, many of the original shortcomings have been filled. A few remain, but imo not very many.
> 
> That brings me to my concern: Swift seems to be on course to become a behemoth of a language. 
> 
> I am absolutely convinced that everybody on this list has the best of intentions. We all want the very best tool available. We want Swift to become a shiny many facetted jewel among the languages.
> 
> But in doing so we might -inadvertently- make Swift into a behemoth that can do everything ... if you know how!
> 
> In my opinion Swift is on course to become a very complex language where one needs guru status to be a mid level programmer. Beginning programmers will stand no chance whatsoever to maintain an app developed by an expert. (A bit like C++, another extremely powerful language - that seems to have been abandoned.)
> 
> I have been on this list now for a few weeks, and I see very little push-back on new suggestions. Most of the reactions are positive-constructive. IMO we need more push-back. Without it behemoth status is all but guaranteed.
> 
> I don’t know about the core team, I don’t know about Apple, I don’t know where they want to go.
> 
> I just want to make a plea here: Please stop Swift from becoming a behemoth.
> 
> I don’t know if the millions (?) of Swift developers not on this list agree with me. I somehow think they do, after all they are not on this list! They are not looking to change Swift...
> 
> Well, I just had to get that off my chest...
> 
> To close this off, I do want to take this opportunity to thank the core team for their work, I truly appreciate it!
> And whatever may come, here is one happy Swift user!
> 
> Best regards,
> Rien
> 
> Site: http://balancingrock.nl
> Blog: http://swiftrien.blogspot.com
> Github: http://github.com/Balancingrock
> Project: http://swiftfire.nl
> 
> 
> 
> 
> 
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution



More information about the swift-evolution mailing list