evolution

The Evolution of Programming

Now that I'm not a professional software developer and have moved more into a communications/marketing role, I can be more circumspect about programming - and it's something I've been thinking about over the last few days.

Back in the days where computers were not connected by anything other than SneakerNetTM, code was written. Relatively speaking, it was etched into magnetic media and sometimes carefully filed away. Speaking personally, there are literally tens of thousands - maybe even hundreds of thousands - of lines of code I've written that have died natural deaths. Programs that died with their hardware predecessors, such as the Timex Sinclair, the Vic-20/Commodore 64/Commodore 128, and even now the DOS based code that I worked on. It is, quite simply, gone. Back in those days, there was no copy and paste of code - and object oriented programming was a thing debated in Dr. Dobbs Journal as violently as the Middle East has raged.

Spoiler: Object oriented programming won that war.

Hardware took off on the IBM/PC/XT/AT architecture once it opened. Microsoft rose to the fore. Wintel rose to the fore. Unix could be found just about anywhere that was serious about computing, and Apples morphed to Macintosh Apples but lacked enough marketshare to be a platform with as many developers as the IBM architecture.

The IBM PC started off at 4.77 MHz, and from there it's been a contest of numbers. RAM, too, expanded up to 640K and beyond. We're in the GHz spectrum now, but it matters less about clock speed and more about throughput these days.

Back then people actually had to write code. To be a programmer then one had to be able to take a problem, figure out how to solve it and then implement it in a programming language. Back in those days, 'compiling breaks' were frequent: On at least one project, every time I compiled I could go and get lunch - which forced developers to get it correct the first time. Compiler errors were actually used as insults. Still, there were those that used the interpreted languages which ran noticeably slower.

Network theory was beginning to propagate. I remember discussing with my Computer Science teacher in high school about connecting the PC network - which he called 'Spider-net' - to the IBM System 36. In those days, I'd walk to school with code written on paper because we only had a certain amount of time on computers - they were more expensive in those days, so fewer schools had fewer computers. I was fortunate that there was an Amstrad PC1512 at home (after the HP Vectra ES, after the IBM PC XT) so once we did get the PCs at school, I could SneakerNetTM my floppy disk back and forth - back when a floppy disk was, indeed, floppy. Incidentally, this was the era when Desktop Publishing began, when it was Ventura Publisher and Aldus Pagemaker that ruled the roost - and my father was in love with Spellbinder.

There were bulletin board systems (BBS) and modems that were measured in baud. Someone would have to host the BBS, of course, but when the majority of people using BBS's were geeks, hosting was almost never a problem. The BBS was the social media of its time, and the reality is that it has only gotten a little prettier and a little more attention over the years.

The Internet came. It brought with it scripting languages - in my opinion, they weren't really programming languages and to an extent still aren't. I remember angry discussions about HTML not being a programming language. That argument got swept aside after the Browser War period when it seemed everyone had some sort of axe to grind about what browser a viewer should use on their website. This has made a comeback lately.

Where once you could talk directly to hardware with code, operating systems let this happen less and less. Device Drivers became the call of the day, and for those of us who twiddled bits the world became a very annoying place.

Version Control systems took off as more people were able to work together across large areas.

Code could increasingly be copied and pasted - sometimes well. And software development tools became so easy to use that many a fool could use them - and many a fool did.

Programming has evolved - necessarily - and will continue to do so. Where we once used to timeshare computers, computing devices now timeshare humans.The nerds from high school - at least from my era and prior - have shaped the way people live through code. In many ways that is a good thing - but in other ways it's a bad thing. When you work only in a box, you see only the inside of the box. Still, one has to marvel at how far we have taken computing.

Nowadays, the question is how far computing can take us. So many programming languages, so many different data formats, so many hardware platforms with their peculiarities hid by an increasingly thick veneer of hardware abstraction.

In the end, the evolution of programming is evolving us. Despite silly issues - and they are silly, those that staunch the propagation of technology (digital divide) - technology is becoming as ubiquitous as fire and electricity, so much so that it is said more and more frequently that broadband is a human right, an entirely different discussion altogether.

I wonder where it will take us next. For the most part, it has been a fun trip so far - a trip so many now didn't get to experience, but with fresh experiences chasing the horizon.

And now, I program mainly in English.

Enhanced by Zemanta

Jacques Monod

Ideas have retaineed some of the properties of organisms. Like them, they tend to perpetuate their structure and to breed; they too can fuse, recombine, segregate their content; indeed they too can evolve, and in this evolution selection must surely play an important role.

Subscribe to RSS - evolution