this little homage to my introduction to programming as an adolescent, Dennis Ritchie died.
The death of Steve Jobs did not affect me greatly. I appreciate the attention to elegance and detail that Apple applies to their design, but I have barely used Apple products in my adult life. What Mac aficionados must have felt at Jobs' passing, I am feeling a bit of that with the death of Ritchie.
Dennis Ritchie created C, which I have repeatedly referred to as my "first language" as a programmer ("first" being akin to "native" in this case.) Every other language I have worked in I have done so with a C accent. C was beautifully small and efficient, fast in execution and powerful in capability. It is the language crafted to build the UNIX kernel. You could create code that practically read like English, or you could create code that stomped rampantly over anything in memory. Even the manual was a concise, elegant work, telling you everything you needed to know in an impossibly short format. "C is not a big language, and it is not well served by a big book," the preface of the 2nd edition of "The C Programming Language" reads.
I began programming in C in the late 80's, after buying my Commodore Amiga. I had programmed games in BASIC for what seemed like ages, but the speed of that interpreted language always bothered me. I had successfully learned to program in the compiled language Pascal, and now I was ready to try something that could do what I wanted really fast. There were numerous C examples showing how to access the Amiga's graphics and sound, and I dove in (with limited success) to learn to do that. It wasn't until I got a PC (an AMD 486 clone) in the early 90's that I acquired Borland's Turbo C and really got to work. Game programmers like Id Software and how-to authors like Michael Abrash opened the gates of knowledge to the arcane VGA card to me and my friend Jens. When we acquired a student discounted edition of Watcom's C/C++ compiler with its integrated Rational Systems DOS/4G Extender, the flat memory model became available and I felt like something magic had happened. All of memory was available to me without all that XMS/EMS and segment/offset malarkey.
Professionally as a test/measurement software engineer, I wrote C programs to access hardware, to process test data, to display user interfaces and graphs of results. When I came to my current job, I wrote a few utilities in C at first, but found scripting languages like Perl or UNIX shell more useful for what I needed to do. Still, as I said, I approach every new syntax I learn with the silent question of "I know how to do this in C. How do I do it in X?"
Death Guard Tactical Squad 2 - Second of my Death Guard Tactical Squads. I plan to eventually push both of these units to 20 models each, and add a few more units. Well, now that Burning...
6 days ago