Keep Two Thoughts

Personal essays


Changes - Essay from Newsletter 226

When the landscape changes quickly

We begin

We’ve just passed the tenth anniversary of the introduction of Swift - the modern programming language for Apple platforms.

I’ll never forget where I was when Swift was announced. It felt like that day everything changed.

“Wait Daniel,” you say, “you’re talking about Sunday aren’t you?”

It’s true that this is not an essay about computer programming. It is an essay about U.S. Politics.

I may not have all the details correct - but that’s really not the point. Because the story I want to tell is about this programming language Swift and this other language Objective-C. Referred to as Obj-C, this was the language Swift was designed to replace.

I loved working in Obj-C.

I wrote books about it, wrote apps in it, and spent much of my time teaching classes where the code was Obj-C.

But there were people who complained.

Escalation

Obj-C was an old language that was built on the C language and followed in the traditions of other old languages.

Developers started looking at other platforms and wondered why we couldn’t have our own modern language for Apple platforms.

They started to grumble loudly that Apple needed to make a change. They wouldn’t invest in this platform anymore if Apple didn’t.

And then there was a famous incident known as the “Go to fail bug”.

Some code written in C caused a security vulnerability that everyone seemed to talk about.

Days went by and Apple didn’t fix it.

This was a critical issue - where’s the response.

Finally this bug was patched but the damage had been done.

Of course, bad code can be written in any language.

Of course, buggy code can be written in any language.

But this code was written in C and so calls for a modern language escalated.

Before each Apple event there would be rumors that this would be the event where Obj-C was replaced with a new language. There was nothing factual to back up these rumors but as each event passed the complaints would increase because Apple didn’t do this thing that Apple was publicly and aggressively not commenting on.

Boom

In a way I felt sorry for Apple (in the way one feels sorry for a gazillion dollar corporation).

They had shown they could modernize Obj-C over the past few years by making changes here and there and showing us that we could write clean and powerful apps using this language.

It wasn’t good enough for the critics.

They wanted something new and no amount of tweaking the existing language here or there was going to convince them otherwise.

There were always those who were loyal to the existing language. Sure it could be a little awkward to use, but it’s the language that had gotten us here. We’d accomplished so much with it. It felt odd to leave it now.

But then ten years ago at Apple’s Worldwide Developers Conference, they announced the release of a new language.

Swift.

Boom. I was all in.

I loved Objective-C, I had no issues with Objective-C, but if this was the future I wanted in. Before the session was over I had asked my designer to create a book cover for a book I wanted to write about this new language.

I cleared out my calendar for the rest of the summer and devoted it to Swift.

The change wasn’t going to be easy and there were challenges along the way - some that I foresaw and many that I didn’t.

The learning curve

Of course the transition to Swift was quite so cut and dried.

During the summer while I was trying to learn to code in Swift, it hadn’t been officially released yet. Objective-C was still the language for App development for the iPhone and Mac.

The tools for coding in Swift weren’t mature yet. Some of the error messages were baffling.

There were ways of working with this new language that felt so unfamiliar and to make things worse, all of the widgets we were controlling to put text and images and tabs and lists up on the screen - they were all written in Obj-C.

We had to learn the new stuff while still figuring out how to continue the things we loved about the old stuff.

Meanwhile, Swift itself was still changing as it took on more and more responsibilities.

A year in, Swift told us, “here are some new ways of communicating with me.”

A year after that, Swift told us, “hey, I got some things wrong. Here are some changes you’re going to need to make or things that used to work won’t work any more.”

Given all of that, and as much as I’d loved Obj-C, the change was worth it. I accomplish things and think in ways I never thought with the older language. It’s kept me young and there is a transparency to the language evolution that we never had in the past.

Anyway, this isn’t an essay on computer programming languages. It’s an essay about U.S. politics.


Essay from Dim Sum Thinking Newsletter 226. Read the rest of the Newsletter or subscribe


See also Dim Sum Thinking — Theme by @mattgraham — Subscribe with RSS