David’s Swift Dilemma
The v1.0 release of Swift has come and gone, and v1.1 is right around the corner. My thoughts so far can be summed up as this: the hype of Swift is over for me - I want my ObjC 3.0 language. I’ll keep trucking along in Swift for the projects I can, but at the end of the day, I’m, on the whole, fairly disappointed in the language.
[…]
I’ve tried many different projects with Swift from algorithms to data structures to solutions for working with structured data like JSON; pretty much everything short of a full-blown app. Around every corner I’ve been met with frustration due to design limitations, bugs, performance issues, poor debugger support, and what ultimately comes down to design choices. It’s this last group that has me the most disheartened.
[…]
I don’t just dislike the concept of generics, I hate the extremism that generics forces onto your code. Once you move to generics in your code, you, by definition, give up an extreme amount of flexibility in your code base. In exchange, you are supposed to get back improvements in type safety, code reduction, and performance. What no one talks about though, is the cost to write that code, to debug that code, and to understand that code, especially as generic systems get more and more “feature rich”.
It’s a shame that the introduction of Swift means that we will probably not see much more modernization of Objective-C. I think there is a lot more that could be done there. Plus, the benefits would be available much sooner.