I am not a programmer, or an engineer, or even a certified computer technician. I can “script” some stuff, and tweak some things, but Mac and iOS development is something outside the scope of my skills. It may surprise you to know that I still like reading, and listening to, programmers talk about computer programming. Not because I understand every little thing, but because I enjoy the universal truths that seem to connect people — even those of different professions.
This Debug episode is largely Guy English arguing that everything is fine with Objective-C, and that there is no reason to fear Doom befalling the platform, while John Siracusa argues that it’s really hard to see when Doom will come and that it is prudent to at least start a discussion about alternatives, and backup plans. There are some raised voices too, go figure.
I happen to agree with John (he also wants to continue to extend Objective-C while a new solution is worked on. It is an imminently reasonable position.) I have worked with people that did not want to extend what currently existed as a stop-gap. I have also had to argue in favor of The Old Way I didn’t care for, simply because no viable solution was readily available. People can also have an attachment to The Old Way in a way that is not rational.
These kinds of conversations come up where you work in all kinds of weird ways. From procedures, to manifest formats, to pipeline tools, to whatever. There is always The Old Way and The New Way. Mortal Kombat! Dun-duh-duh-duh-dun-duh-dun-duh-dun-nuh.
As I said, this kinds of Old/New things happen all the time. I am still under a NDA concerning what I did at my last job, so I’ll redact the sensitive parts. When ☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒. And then ☒☒☒☒☒☒☒☒☒☒☒☒☒☒☒.
The discussions that come about because of these conflicting views are interesting. Both want the best outcome, but both object to the other’s assessment of not only the severity of the problem, but how quickly action must be taken, and what to do while the second solution gestates. Fear of failure because action was taken, or because no action was taken.
Even as someone that does not consider himself a programmer, I’ve at least screwed around in Xcode enough to know it has some things I don’t care for. I don’t find the language approachable, especially not when I’m coming from something as succinct as Python, but I do deeply respect the interface tools. You can make a text editor in a matter of minutes, with almost no actual Objective-C written. There are many other powerful interface features there, all built on Cocoa, so it’s very clear to that it would not be a simple matter to start over from scratch in this area. It helps to understand, to some degree, the unwillingness to bail on it.
Another programming analog I’ve also found fascinating are the flareups between different Python camps over how 2.x and 3.x are being handled. Many years ago, it was decided to start 3.x in parallel to 2.x, with 2.x receiving some backported things from 3.x, but there was never a plan to unite 2.x with 3.x. They would forever remain separate, with 2.x eventually terminating development with 2.7.x. This is an example where John’s position is followed, but it still doesn’t yield a pleasant outcome. It’s just not a sure thing. Alex Gaynor (developer for PyPy, Django) had a post about his thoughts, and a followup with some download statistics between versions. A survey of over 4,000 users seems to kind of line up, but it’s not exclusively pessimistic. But even Dropbox, a company that has hired Guido Van Rossum, is still on 2.7, with a new company blog post from this past week about effort being put in to a new 2.7-only JIT interpreter. This definitely isn’t like flipping a light switch, and I would assume Apple would also face many difficulties with coercing people in to The New Way as well.