This was originally published on 2014-06-08.

Apple's Swift was released last week, and I can't help but think that this may be remembered as Apple's monopolization of "connected" app frameworks.

I think Apple can revolutionize mobile devices in the same way that Microsoft dominated the PC market in the last 30 years. Everybody expects Apple to continue to sell hardware. In reality, Apple has always been a software company, and I predict that it will keep delivering its software with every piece of hardware it sells (but this will change). As computers get faster, interconnected, and with multiX^100 cores, software will rule. It would not be unthinkable that by then all software will run in the cloud and our devices will just load all our information off the cloud. At this point a device would only be used to access our data and apps. It would not make sense anymore for any phone to only be connected to one operating system, in the same way that now it doesn't make sense for any phone or tablet not to be able to access a particular website because it is Android, Windows, or iOS.

How about this?

iTunes will be able to run apps as an extension. This will allow Windows users to play games and use iOS apps securely, encapsulated. Think iTunes for Android phones and Windows phones.

Real Player had a feature like this 10-15 years ago. One could download music and download games that would use Real Player as a hub for all these games, but they could have also been applications.

A law will pass that says somebody like Apple or Microsoft cannot disallow each other from running each other's software. Then all bets are off; it will come down to software.

Back to Swift.

Swift feels like a scripting language but compiles and is just as fast as compiled languages. JavaScript sucks. Everybody uses it because they are forced to use it. That is it. If everybody had it their way, they would use Python or Ruby for scripting. The problem with those languages is that they are not fast. Swift got the muscles of the Apple-backed compiler. Apple has simplified things and will keep simplifying them to the point that it will become very intuitive (the same way they did ARC).

What is next for Apple and apps?

They need to implement visual programming. Node programming. Take hints from Apple Shake, or other 3D programs that do this very well. I already see this happening with Storyboards, Data Models, and Mapping Models.


Written in 2014, right after Swift was announced. For where I landed on Swift more than a decade later, see My Swift Journey: Why I Love It but Can't Use It at Work. For how I think about picking languages today, see Language Choice in the LLM Era.