Published in News

Apple's Swift is not up to snuff

by on12 June 2018

After four years developer writes "Dear John" to Swift

Four years after it was released to the enthusiasic applause of the Tame Apple Press, a group of developers have been looking at the progress of Apple's programming language Swift and found that Jobs' Mob created a  chocolate teapot.

Dominik Wagner wondered what exactly Swift was trying to solve. The continued existence of programming languages such as Lua, Objective-C, Erlang, and Ruby (on Rails) serves a purpose, even if they have issues. Swift was touted to be more modern, the future, super cool and the one ring of programming languages.  At the time, we wondered.  Apple's own software skills had progressively slipped so it was unclear how it was going to write any software let alone a whole language.

Swift chose to be opinionated about features of Objective-C, which developers thought were virtues, not problems.  Many apps that would have just compiled fine if done in Objective-C either can't take advantage of new features of the devices easily, or had to be taken out of the App Store alltogether, because upgrading would be too costly.

It also did not play nice with Apple's own framework ecosystem. Wagner said that Apple did a great job on exposing Cocoa/Foundation as graspable into Swift as they could,but Swift wants to impose its own rules on the design paradigms that created the existing frameworks. Since this is a design problem, it cant be fixed just mitigated.

"From old foundational design patterns of Cocoa, like delegation, data sources, flat class hierarchies, over to the way the collection classes work, and how forgiving the API in general should be. If you work in that world you are constantly torn between doing things the Swift/standard-library way, or the Cocoa way and bridging in-between. To make matters worse there are a lot of concepts that don't even have a good equivalent. This, for me at least, generates an almost unbearable mental load", he wrote.

"Four years in now, it is not too late to pivot and take everything that has been learned and form that into the developer experience in an evolution of Objective?C that really caters to the goals and ideas of the platform. In my opinion, a lot of the "lofty goals" haven't been achieved, and as discussed, should even be non-goals. Just imagine a world where Objective?C would have gotten the same amount of drive and attention Swift got from Apple? It is not a big leap to see that everyone would be better off right now. Swift just ended up being a jack of all trades, master of none."



Last modified on 12 June 2018
Rate this item
(0 votes)

Read more about: