And once I knew Java, I declared, “That’s it. I’m never learning another language.”
What a fool I was. Though it took me over ten years to realize it.
For over a decade, I made my living doing server side Java. And though I was interested in iPhone apps, that they were written in Objective-C essentially stopped me from doing anything about it. Then Android came around and to me it proved that I would indeed not need to learn another language to get into the mobile game.
Three Android apps later and a lot of consulting, I finally realized that, while people wanted an Android app, they really wanted to be on the iPhone first, market share and statistics be damned.
So I knuckled down and learned Obj-C, my first new language in just over a decade. And the floodgates opened.
For whatever reason, Android is and was seen as a second-run OS by the creative class’ running today’s startups. But iOS on the resume suddenly peaked a lot of people’s interest and business boomed. But, more importantly, it opened my eyes to something that I’d long ignored. It’s not the language you program in, it’s what you’re programming.
More importantly, it now made available to Dan and I one of the most profitable platforms on which to launch a game, a dream he and I have shared for a few years now.
As almost everyone knows, it’s almost impossible to make a successful game only on the Android platform and for a myriad of reasons, ranging from rampant piracy to user’s unwillingness to pay for seemingly anything. But a game launched on iOS and Android together stands a much better chance. Which brings me to the latest language I’ve learned: C++.
No company that is beholden to another can ever be a true success, as people who’ve made money building Twitter clients discovered when the terms of service were suddenly changed. But learning yet another language allows us to port the bulk of our game code between iOS and Android. And should we wish to expand past Google’s Play store, there’s always Amazon to sell through as well.
I call this progression of languages “the reverse track” because many of my colleagues of the same age or older have gone in the opposite direction, starting with the complex languages first but who now mostly use scripting languages. This is because, for what they do, this direction towards simplicity makes sense.
The point, I suppose, is to never declare a language the last you will ever learn. Because if your next project needs it, you may have to learn another. And that’s a good thing.