Computing Systems / Programming Languages Exposure Timeline


My exposure to computing systems and programming languages began at a fairly early point in my life. I can not accurately date the first time I actually saw a computer, although it was definitely sometime prior to 1978. The timeline below attempts to document my exposure to various computing systems and programming languages.

The format of the time-line is year by year, with the latest information at the bottom. For each year, I list:

Cobol   Fortran
1979
 
 
 

My father was taking programming courses at the University of Houston. His courses involved programming in both COBOL and Fortran. This was back in the day when jobs were submitted via punch cards. He would write out his programs on paper before going down to the UH Computer Center to punch them out on cards. I doubt I learned much of either Cobol or Fortran, but I did get some idea about how to write programs.

Basic
Cobol   Fortran
1982
 
Commodore
VIC-20

A work colleague of my father's had purchased a VIC-20 for his children to use. When we visited, I would write simple BASIC programs.

Tandy
CoCo I

My friend John, who lived down the street, had a CoCo I. Occasionally, we wrote programs in Extended BASIC. Mostly, we played video games.

Basic
Cobol   Fortran
1983
 
Timex
Sinclair 1000

My friend Antonio Poveda, had a Sinclair. We would write programs to graph various formulae, using Sinclair 1000 BASIC.

Apple
][e
DOS 3.3

Brent, another friend, had an Apple ][e. This was the nicest system I had the opportunity to use, up until this point. We wrote small programs in AppleSoft BASIC.

Coleco
Adam
EOS

Antonio got an Adam and it quickly became the primary platform that we worked on. We continued exploring graphs of algebraic formulae using SmartBASIC, which was included with the Adam.

Basic
Cobol   Fortran
1984
 
Apple
//c
ProDOS

My first personal computer.   This computer revolutionized my computing experience. Until now, computing was something that I did on the rare occasion that I was in the right place and my friends were in the right mood. My computer use time increased by at least two orders of magnitude. Most of what I did was in AppleSoft BASIC, although the magazine programs would sometimes call for Integer BASIC instead.

IBM
PCjr

A friend of mine, Christian, had a PCjr. His father originally purchased it to use for work purposes, but soon replaced it with a PC AT system. I only used it once or twice and programmed it in BASIC.

Logo
Basic
Cobol   Fortran
1985
 
 
Apple
//c
ProDOS

For a brief period of time, I had the Apple LOGO II system. The main thing I recall is that it was enourmous fun working with the turtle graphics.

Apple
Macintosh
Mac OS

What's notable about my first introduction to the Mac is that I was terribly disappointed that it didn't have a built-in BASIC &mdash or any other bundled programming language. Since I equated using a computer with programming it, this made the Mac seem particularly useless.

Tandy
TRS-80 Model IV
TRSDOS

My first computer class. Although someone had donated some IBM PCs to the school, the class was based on the TRS-80 Model IV system. I had used the Model IV before at Radio Shack, but this system was even better because it was networked. The teacher controlled the student nodes from her system, but we could still do some programming on our own. Our programs were most likely in Disk Based BASIC.

Assembly (6502)
Basic
Cobol   Fortran   Logo
1986
 
 
Apple
//c
ProDOS

I had spent a lot of time typing in programs from COMPUTE! magazine. Mostly they were in either AppleSoft or Integer BASIC. Occasionally, there would be ASM routines for speeding up particular computations. This drove me to begin investigating 6502 Assembly language, with Machine Language for Beginners, by Richard Mansfield, as my primary reference. The book included an assembler program.

Commodore
C64

My friend Carl Waggerman had a C64 and used to run a BBS on it. I never did any programming on it

IBM
PC-AT
DOS 3.2

My friend Matt McKinney also had an IBM PC-AT system, which I don't think we ever programmed other than making .BAT files.

Texas Instruments
99/4A
Basic

Matt also had a TI 99/4A which we programmed occasionally in Basic.

Pascal
Assembly (6502)   Basic
Cobol   Fortran   Logo
1987-08 … 1987-12
Uni of Texas - Pan Am
Freshman
Packard Bell
80386-based
DOS 3.3

My first CS class (Data Structures) using Turbo Pascal. I still recall the stack-based maze solver, using backtracking. This was notable to me because I also wrote a utility program to edit the mazes. This was my first exposure to the idea of using a utility program external to the main program to modify the data.

Assembly (68000   VAX)   DBASE IV   DCL   Hypercard   Prolog
Assembly (6502)   Basic   Pascal
Cobol   Fortran   Logo
1988-01 … 1988-08
UT - Pan Am
Comp. Lab Cons
Apple
MacSE
Mac OS 4.1

This time around I borrowed a Mac from Pan Am and used it at home for an entire holiday weekend. I wrote my first GUI program in TurboPascal for Mac that weekend. I began learning 68000 assembly as well as HyperCard.

AT&T
3B1
SYS V R3

Pan Am got this system for a OS class, but it wasn't used very often. I only used it for dialing up the local BBS systems. It was, however, my first SYS V exposure.

DEC
VAX 8550/8700
VMS CLUSTER

The university also had a VMS Cluster, comprised of a VAX 8550 and a VAX 8700. I had access to a guest account on the system and was able to access BITNET, as well as learn a small amount of DCL. I was also able to learn some VAX assembly from my friend Eric.

Packard Bell
80386-based
DOS 3.3

My favorite lab to work in was in the Math building, because it allowed me to learn from other student's projects like: writing databases in DBASE IV, writing expert systems using Prolog and writing TSRs for DOS using Turbo Pascal.

CSH   elisp
Basic   DCL   Pascal
Assembly (6502   68000   VAX)   Cobol   DBASE IV   Fortran   Hypercard   Logo   Prolog
1988-09 … 1988-12
CMU
Freshman
CMU
Andrew System running on
DEC Ultrix,   IBM AOS
Sun SunOS

This was the first time I had any real opportunity to use UNIX at any length. Most of my programming revolved around learning CSH and elisp. Over winter break, I read through Bach's The Design of the UNIX Operating System.

Ada   C   Modula-2
Basic   CSH   DCL   elisp   Pascal
Assembly (6502   68000   VAX)   Cobol   DBASE IV   Fortran HyperCard   Logo   Prolog
1989-01 … 1989-05
CMU
Freshman
Apple
Mac SE
OS 6.5

My first CS class at CMU, 15-100, involved programming in Pascal using the locally developed Pascal Genie system.

CMU
Andrew System running on
DEC Ultrix,   IBM AOS
Sun SunOS

Through my friends and roommate, I was exposed to many languages that I otherwise wouldn't have been at this point: Ada and Modula-2 from my friend Phil, who was a senior. My roommate, who was a CS major, was learning C. I recall specifically that his semester-long assignment was to build up a Lisp interpreter.

C   CSH   elisp   Pascal
Ada  Assembly (6502   68000   VAX)   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Logo   Modula-2   Prolog
1989-06 … 1989-12
CMU
Sophomore
CMU
Andrew System running on
DEC Ultrix   Sun SunOS

15-211 was in C.   We were required to learn C on our own, as the lectures focused on data structures and other techniques. We did many interesting projects, including implementing LZW compression and text justification algorithms.

scheme
C   CSH   elisp   Pascal
Ada  Assembly (6502   68000   VAX)   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Logo   Modula-2   Prolog
1990-01 … 1990-09
CMU
Sophomore
 
CMU
Andrew System running on
DEC Ultrix   Sun SunOS

15-212 was in scheme. There were many excellent projects in this class including implementing a message-passing OO system that emulated a network of SMTP servers and a propositional calculus theorem prover.

perl   S
C   CSH   elisp   Pascal   scheme
Ada  Assembly (6502   68000   VAX)   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Logo   Modula-2   Prolog
1990-10 … 1992-03
CMU
Sys Admin — Statistics
 
DEC
DECStation 3100   µVAX II
Ultrix

I took a job as Systems Administrator for the Statistics Deptartment at CMU. I learned S in the course of doing some statistical analysi for work. I also learned perl, which I used extensively for systems programming.

awk   sed
C   CSH   elisp   perl   S
Ada  Assembly (6502   68000   VAX)   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Logo   Modula-2   Pascal   Prolog   scheme
1992-04 … 1994-03
CMU
Sys Admin — PSC
 
DEC
DECStation 3100
Ultrix

This was my first exposure to the Internet from an operators point of view. I learned awk and sed in order to maintain some of the infrastructure.


awk   C   CSH   elisp   perl   sed   scheme
Ada  Assembly (6502   68000   VAX)   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Logo   Modula-2   Pascal   Prolog   S
1994-04 … 1995-08
CMU
Network Engineer — PrepNet
 
Unknown
80486-based laptop
Slackware Linux

As I became more involved in mastering TCP/IP, BGP and other routing protocols, I had less time to learn new programming langauges. I used C and perl for work. At home, I began to pick up scheme again, as I worked through The Structure and Interpretation of Programs.

C++   Java   SML
C   csh   elisp   perl   scheme
Ada   Assembly (6502   68000   VAX)   awk   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Logo   Modula-2   Pascal   Prolog   S   sed
1995-09 … 1999-10
UPenn
Network Engineer — ISC Networking
MSE Student — SEAS
IBM
Thinkpad
Redhat Linux

I picked up C++ for personal use. OOP appealed to me. I soon learned how to do OOP in perl, thanks to chicken. From class instruction, I learned both Java and SML. I even used Java (under Windows 95) to write the final project for my AI class.

bash   CL
C   C++   csh   elisp   perl   scheme
Ada   Assembly (6502   68000   VAX)   awk   Basic   Cobol   DBASE IV   DCL   Fortran   Hypercard   Java   Logo   Modula-2   Pascal   Prolog   S   sed   SML
1999-11 … 2002-05
AppliedTheory
Network Engineering Team
 
Compaq
various
Debian GNU/Linux

During this time, I switched to using bash as my primary shell. I also began learning Common Lisp and used it to write a number of analysis programs for processing large data sets.

AppleScript   Assembly (x86-64)   JavaScript
bash   C   C++   CL   elisp   perl
Ada   Assembly (6502   68000   VAX)   awk   Basic   csh   Cobol   DBASE IV   DCL   Fortran   Hypercard   Java   Logo   Modula-2   Pascal   Prolog   S   sed   scheme   SML
2005-01 … current
 
 
 
Apple
Mac (various)
Mac OS X 10.3/10.4

In order to facilitate my daughters in launching their preschool and toddler games, I wrote a series of Applescripts that handle the various issues, from mounting the disk images, to launching the application, to killing Classic emulation (when necessary) to unmounting the disks.

I also wrote a Javascript widget for searching the CL HyperSpec!

Last Updated: 2005-08-01 01:00