Minority Opinions

Not everyone can be mainstream, after all.

Languages I’ve Learned: The Early Years

leave a comment »

Somehow, it has failed to surprise me to learn a new programming language in a week.  Once the fact was pointed out, I figured it might have been from the sheer number of languages I’ve seen.  I won’t claim to be able to program in all of them, particularly not without a manual, nor do I still use many, but I’m familiar with over thirty.

These are, as nearly as I can recall, the first ten that I learned, listed in roughly chronological order.

BASIC

In third grade, we were introduced to programming by copying arithmetical expressions and other minor statements into old green and black computers.  I’m not sure how much sank in, but I’ve actually learned a bit of the language since then.  It’s completely obsolete now.

Pascal

The family computer lived in my room for some time while growing up.  Included in its paraphernalia was a set of Pascal manuals.  Dad tried to teach me once, but I was still too young to completely understand.  Still, I somehow learned the basic syntax, and even remember the distinction between procedures and functions.  Mostly, though, it has come up in the context of converting strings between C format (nul-terminated) and Pascal format (length-prefixed) when using Macintosh system calls.

HyperTalk

Junior High had a “programming” class that turned out to be entirely on HyperCard.  The first few lessons were more about the interface than about the script.  I’m not sure how much everyone else learned, but I breezed through every lesson and tried to explore the limits of what could be done.  The teacher wasn’t nearly as impressed as I thought he would be with my final project, but at least two others would later enjoy what I could accomplish with the program.

Redcode

How I came to have a copy of Core War for the old Macintosh is beyond me, but I managed to spend quite a bit of time on it.  My only remotely good warrior abused an instruction that doesn’t even exist in current versions, as well as the relative spacing between the two competitors.  I didn’t think of it as an introduction to assembly language, but it probably helped me later on.

RPL

Where most students in my high school had TI calculators, I had the HP 48G.  I was also frequently bored in math class.  That led to lots of time playing around to see what I could do, which included a password protection scheme, a couple of games, and early work on listing Pythagorean triples.

C

High school let me study a real language in a sort of supervised independent study program, with two other students.  I don’t recall how exactly we settled on C, but it became useful for both console and graphical programs.  I highly recommend learning it simply to understand a computer’s memory model.  Sadly, the only remaining copies of my work from this era are on a password-protected zip disk that I can no longer access.  Since then, I’ve continued using it for minor programs and open-source patches, some of which are still relevant.

C++

To be honest, I first learned C++ as a sort of C with objects.  The more it breaks from this model, the less I like it, even if certain features can make some things easier.  I hear that Qt makes it nice to work with, though.

Excel 4 macros

At one point, I abused Excel as a database of sorts, programming it to do a few useful things for me.  The language was interesting because it was typed in a spreadsheet column, using the cells to the left and right as storage and parameters.  I was a bit sad to see that future Excel versions no longer support the language, even if the new one is more powerful.

Perl

My first job was an internship with a major computer company, who somehow had failed to procure a workstation by my start date.  So my first week was spent with the camel book.  Basically all I did was a simpler command-line interface to a complex command-line simulation program, setting parameters for each night and parsing the results.  I still occasionally use Perl for tasks slightly too complex for grep, sed, and cut, but it’s been several years since I was fluent.

QuickBasic

Organizing a silent auction left my family with first pick of the unsold items, including an old laptop.  It came with Windows 3.1 and a copy of QuickBasic, complete with example programs.  For some reason, it was on that machine that I first experimented with cryptography.  After it died, I’ve only seen the language used in one other context, to enhance the output of another program.  The next version of that program included similar functionality, so even that use is probably dead now.

To be continued…

Advertisements

Written by eswald

22 Nov 2011 at 6:02 am

Posted in Technology

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s