If I wasn’t so interested in developing Mac, iPhone, iPad, Watch, and TV apps then I wouldn’t bother. But after two decades of being a network and back-end systems programmer (what’s come to be known as a “Full Stack” developer) I’ve really just grown tired of it and want to do something new. On top of that the language I’ve primarily devoted the last 20 years of my life to has grown long in the tooth. Like many Java developers I’ve waited year after year for the platform to really become all that it promised to be. But, instead, it seems to have drifted off into this abyss waiting for anyone to notice that it’s finally dead. I mean, come on! It’s been 25 years or so since Java came out and we are JUST NOW, in version 12, getting a run-time that will release unused heap memory back to the OS!
It’s kind of like Elvis. We were promised “young Elvis” who would simply get better with age and constantly push the envelope of music giving us ever newer masterpieces of auditory joy. Instead we’ve now got “old, fat Elvis” still singing the same tunes that made him famous 25 years earlier gyrating around on the stage as buckets of sweat pour off of his body. Then, to add insult to injury, the women (think middle managers) still swoon for him like they’ve all been hypnotized into still seeing him as his younger version. And, just like with Elvis, one day soon we’ll hear that Java has been found dead. Suffering a fatal SEGFAULT while trying to grunt one out on the toilet. And, except for the few lunatics who swear he’s not really dead, all we’ll be left with is a massive stack dump!
Some people might ask why I don’t go with something like C# and Xamarin so I can develop for both iOS AND Android at the same time. Well the answer is actually simple. I absolutely detest Microsoft (and C# is a Microsoft invention and Xamarin was purchased by Microsoft), Swift is open source (yes you read that right) which C# isn’t, and developing for Android does not interest me in the least. For one thing with Android you get, well, phones and cheap iPad knockoffs and that’s about it. I also want to develop for Apple computers (macOS), Apple TV (tvOS), and Apple watches (you guessed it…watchOS). So with Swift I get to do all four platforms.
Also, as an added bonus, Swift exists on Linux platforms too!!!
So, as I learn Swift I’ll keep posting here as time permits with all the latest on my adventure. 🤪