Gary Robson
You are here: Gary Résumé Technology → Languages

Programming Languages

I've programmed in quite a few languages over the years. This list doesn't include some of the languages I just briefly played with out of academic curiosity, such as COBOL, SNOBOL, SmallTalk, and Forth. I've also worked in a number of databases (dBase, Omnis, Access, FoxPro...). The order of this list is strictly alphabetical and has nothing to do with my preferences (or strengths)!

APL

I learned APL on IBM mainframes (and the IBM 5100 - a "luggable" personal computer that predates the Compaq by a decade!) when I was in high school (and taught it there, in fact).

Assembly language

Data General Nova 1200 assembly
I wrote an entire multi-user operating system in Nova 1200 assembly language, as well as the ICPL programming language (a BASIC takeoff). I also did quite a bit of application code for ComputerVision's CADDS-2 IC Design system in Nova 1200 assembly.

8080 assembly
My first microcomputer work (in 1977) was creating device drivers in assembly code for a realtime clock card for S100-buss computers like the Altair and Imsai. This was also my first experience with toggling programs into a computer from front-panel switches!

IBM System 360/370 assembly
Just used it in school. I didn't write any production code in it.

BASIC

IBM System/360 BASIC
This was the first BASIC (in fact, the first computer language) that I learned, back in 1972 when I was in Junior High School.

Structured BASIC for CP/M
Wow! You didn't need line numbers! I created an accounting system for a hardware store in this dialect.

HP-2000 Access BASIC
A whole minicomputer doing nothing but BASIC. What a concept! I taught this at De Anza College and created several programs there as a staff programmer, including a Fast Fourier Transform display system.

Apple II BASIC
Most of what I did in Apple II BASIC was just getting familiar with the machine - all my serious Apple work was in UCSD Pascal. Well, there was this cool hack for manipulating lights at a Halloween party working off a homemade photosensor, but that's another story.

ICPL
This is actually a variant of a BASIC that I created myself, starting from a BASIC licensed from Fairchild.

Microsoft Visual Basic
I taught Microsoft Visual Basic 6.0 at Rocky Mountain College in Billings. I've used VB for a major multimedia development project relating to closed captioning. Prior to that, I used VB mostly as a user-interface prototyping system, although I did create a test program and a speed-building game for the ergonomic stenotype machine my brother and I invented. I also had some fun with VB when I was analyzing algorithms for generating magic squares, and wrote a program to test and compare them, and a few personal projects like a FAQ formatter and a "Jeopardy" game.

C

I've worked in various dialects of C on various platforms, but the bulk of it has been Microsoft and Borland C on DOS. Much of this work (all at Cheetah Systems) was supervisory, high-level design, and working in other people's code, but I've written several modules myself, including a steno dictionary printer, a set of programs to read steno machine diskettes, a fascinating exercise in reverse-engineering that did serial communications with a device manufactured by a competitor, and a series of litigation support interfaces, all for Cheetah's TurboCAT software.

C++

C++ is the latest addition to my arsenal of languages. I haven't done any huge projects in it, but I have created a text search engine with UI for CyberDawg Publishing, and several other miscellaneous small projects.

CGI

(See Perl)

Delphi 

The biggest Delphi project I've done was a fully functional prototype of a non-linear closed captioning system, which includes multimedia controls and file conversion. I also created a fairly sophisticated news script processor for my wife's captioning work, a steno machine diskette reader for Cheetah, and an automated pad and hole layout program for annular PC boards (for RTI test interfaces). Aside from that, I've used Delphi mostly for UI prototyping.

FORTRAN 

I've done very little production software in FORTRAN; mostly utility programs. Most was in FORTRAN IV on IBM mainframes, although I developed a passing familiarity with FORTRAN II and FORTRAN 77. I tutored Advanced FORTRAN at De Anza College back before I got my teaching credential.

HyperCard 

This simplistic language for the Macintosh was the first event-driven environment I programmed in. It's definitely not a general-purpose language, but it was very useful for a couple of projects.

JavaScript 

So far, most of my JavaScript has been basic utility work like validating or pre-processing form entries, animating buttons on Web pages (back in the days before style sheets), manipulating frames, creating calendars, and so forth.

Pascal

Straight Jensen & Wirth Pascal
This is what I first learned, on a CDC mainframe in school, and I've done only classwork in it.

UCSD Pascal for Apple II and III
I've done lots of work in UCSD Pascal, much of it for Apple Computer, includine projects like a menu and form validation system, quality control analysis software, production lot tracking for the Apple Lisa, a sales order entry system, and a sales forecast tracking system.

Apollo Pascal
Using this compiled Pascal implementation under Aegis (an OS similar to Unix), I created a series of design automation tools for integrated circuits, including a gate counting package, a pin/pad assignment program, and a test program generator.

(Also see Delphi, a visual Pascal system)

Perl

I developed a Web site generator using the ActivePerl port for Windows NT/2000, which appears to be completely compatible with Perl on Linux. Wow! That program was used to generate this site.

The bulk of my Perl code (like the bulk of everyone else's Perl code, I think), has been CGI programs and quick script programs. Most of it has been under Solaris (Sun Unix) and NT, although I've played briefly with Perl under Linux and even DOS (what a concept!). Some of the CGI goodies I've done in Perl include a live event scheduling program and a form handler to take HTML form results, manipulate them, log them, and email them. One of the most useful is a system status checker for the web server.

PL/1

I've used PL/1 on IBM mainframes, CDC mainframes, and Cray supercomputers. All in all, it's pretty much the same language on all of them. The most significant project that I did was a test program generator for Sentry IC testers.

PL/C

PL/C is a strange little language for 8-bit microprocessors. Kind of a "PL/1 Lite." I used it for an embedded system that cycled power supplies in an IC burn-in oven.