Programming mobile phones

Casting my senile mind back some 35 years while trying to resolve the issues surrounding today's rant, I particularly remember one experience when I was getting my Master's degree. 'Programming languages' was a course that moved like lightning. Even back then, I was amazed at the number of different computer languages that were around, and the rate at which new ones were appearing. With the ignorance of youth (redundant), I cannot remember ever questioning "why?"

I learned the obvious ones like Fortran, COBOL and Algol 60. I puttered around with the obscure ones like Snobol, APL and PL360. I got my grounding in 'structured' programming with Algol 68, Simula 67 and PL1 and more latterly moved on to the proliferation of rubbish. Alright, I will concede that C was a good idea at the time, and its evolution through C++ and C# added all the bells and whistles, but enough is enough. Why do all hardware manufacturers, especially the mobile phone ones, have to come up with a different language / operating system / development environment with every new device?

I had ignored this recent race-towards-madness, as my partner and I had settled on Visual Basic and the Microsoft Visual Studio environment some years ago as we developed our first products. A couple of years ago, we made the decision to develop a mobile phone version, and then my grumblings began. First of all, which phone to pick? Not because I give a rat about which phone it actually is, because as a Geezer Geek, all I want my phone to do is to let me make phone calls, do emails and very occasionally run a BUSINESS application. I don't want to tweet, blog, text or do any other anti-social activity.

I looked at iPhones, BlackBerrys (by the way, what is the correct plural ... BlackBerrys or BlackBerries?) and Windows Mobile phones. Since then, I have also investigated Android phones, adding confusion to the already cluttered landscape.

So I picked the easy alternative, the 'Windows Mobile' phones, since I already had experience of the development environment. In no time at all, I was able to move data around a cloud database, have graphics showing a sailboat cruising the ocean and to even play nautical tunes. A few easily-solved issues and then "Bob's your uncle", my sales force automation product was up and running, and it was time to move the product to the other phones.

Or was it?

First I looked at the BlackBerry as it was supposed to be the most popular for business people. It was programmed in Java (i.e. Algol 60 with a few syntax changes), so that wasn't a big deal and I attempted to download the development environment. I thought to myself "how difficult will it be to convert a program from Visual Basic into Java?" (i.e. Algol 60) Well my god, forget even worrying about converting the language, as two Computer Science degrees proved useless in guessing what to download. Two days later, when I thought I had it figured out, I started it up, ready to dive in. I gave up! Never could work it out, and by that time, my curmudgeon's blood had thickened and all I wanted to do was throw the BlackBerry against the wall ... so I did.

Let's take a look at the iPhone, I thought. It is certainly pretty and gets a lot of hype on its little-kid's applets, but lots of people say it is not that good for REAL business applications. Since most high-tech people have a tendency to be overly critical about anything they haven't invented, I decided to ignore the pessimistic hype. Once again, a different development language (of course, why make it too easy?), but I already knew C (i.e. Algol 60) and so how difficult could 'Objective C' (i.e. Algol 60) really be? Reasonably easy it turns out, but I never got to the part where I had to try and find a conversion program because I found out I had to pay Apple for the privilege of developing an iPhone program. Well, isn't that a special honor, but one I chose to reject, so I threw the iPhone against the wall and moved on to an Android based phone. Java (i.e. Algol 60) again, and a much easier development environment to download, but by this time I was bored. Bored with all the problems that don't need to be there because the tools were developed by new-age geeks, not by technical people from my generation. Bored with having to learn multiple languages which are all really Algol 60, and bored with multiple development environments, none of which is as good as Visual Studio.

I have resigned myself to having to do the Android version, but I am not pleased. I may throw the Android at the wall just for sport. Will the next person who decides to invent a new programming language please just use Algol 60 and make us all happy? Will the next person who decides to invent a new development environment just do a deal with Microsoft and use Visual Studio? Will the next person who decides to write a new phone operating system just quit their job and go sell cars? Enough already, and let us not forget that the moral of the story is this - all of you new and enthusiastic developers writing applets in Java or Objective C (i.e. Algol 60) need to understand the timeless certainty that REAL PROGRAMMERS ONLY WRITE IN ASSEMBLY CODE!

Glyn Meek, with 40 years of experience in the technology industry, has earned his curmudgeonly outlook.

Copyright © 2011 IDG Communications, Inc.

Shop Tech Products at Amazon