Bashing against one technology or another is something we as developers are born with. Often, our comments are ungrounded, caused by our daily work or a particular problem we cannot solve. Sometimes, they are justified. I get to follow a large community of experienced iOS and macOS developers on Twitter. These last couple of days, a few heated discussions got my attention:
Today at the breakfast table my 2 year old asked me "daddy if Swift had to interop with unsafe Objective-C code anyway why did they have to build a new language? Could they have built a type system and tooling on top of ObjC, like TypeScript" I didn't know what to tell my child— Brian Gesiak (@modocache) March 23, 2018
Which image comes to mind, when you think about Objective-C and Swift interoperability?— Matthias Tretter (@myell0w) March 22, 2018
The more creative the better 🙈
Before 2014, nil messaging bugs were considered a minor nuisance at worst compared to other issues. There was no big outcry to eliminate nil messaging. It wasn't until Swift arrived that nil messaging ex post facto became public enemy #1.— Jeff Johnson (@lapcatsoftware) March 25, 2018
I totally hear what you are saying! These kinds of discussions are nothing new among Apple developers. I do not want to initiate flamewars here. I am by far the last person on Earth who could take a side, moreover, due to the fact that my Objective-C experience is fairly limited. Indeed, I have gained a bit of Swift knowledge over the past year or so, but that's mainly due to my interest in the language and less so because of the Apple developer ecosystem. I develop iOS apps, enjoy doing that, both as a hobby, and on a professional level, but I enjoy writing Swift, because I believe that the language has a potential far exceeding the limits of the Apple ecosystem (ping me if you want to chat about running Swift apps on the server 😉)
It is however, a bit distressing when you see the Apple developer community being torn between the new wave of Swift programmers, and those who would choose Objective-C and not look back. For many, it is not a decision hey can take themselves. The maturity of the projects, and the specific requirements often force developers choose one over the other. There are obvious pro and cons for each, and as said already, I wouldn't be the one to take a side. These discussions just got me thinking, what if Apple had chosen not to go forward with a completely new language, but tried to modernize a workhorse that has served the company for decades?
Looks like a little too late for that? I'd love to hear your opinions on this.
Subscribe to Preslav's Thoughts and Ramblings
Get the latest posts delivered right to your inbox