to do then now would be retro, to do then then was very nowtro
Log in or Sign Up

Programming Languages

Programming Languages dabeaz has used:

Timeline Graph
 
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
BASIC
6502 Assembly
AppleSoft BASIC
BASIC (TRS-80 Model I)
6809 Assembly
Pascal
68k Assembly
Modula-2
bash
TeX
AWK
x86 Assembly
C
MIPS Assembly
MATLAB
Perl
ML
Tcl
C++
Scheme
Python
Objective-C
Ruby
Java
PHP
Javascript
1978–1987
The programming language used in a "Computers for Kids" course taught at the community college. Wrote short BASIC programs on punch-cards and fed them into an IBM mainframe. Later wrote BASIC programs on an Ohio Scientific Superboard II computer. This system had 8K of RAM and Microsoft BASIC installed.
1981–1986
Initially wrote short assembly functions on an Ohio Scientific Superboard II. Later moved to writing assembly language on the Apple 2 for games. Later implemented a 3D graphics/plotting library for the Apple 2 in about 5000 lines of assembly.
1981–1987
Wrote programs on the family Apple ][+, later on an Apple 2e that I purchased.
1983
Wrote BASIC programs on the TRS-80 Model 3 in junior high school (8th grade)
1985
Played with controlling some hardware devices using a 6809 card for a S100 bus system. Involved punching codes in directly with a hex keypad.
1986–1987
Programming language used in AP Computer Science course.
1986
Wrote some assembly for a special 68000 coprocessor card for an Apple 2.
1990
Wrote a small amount of Modula-2 related to a graphics library I implemented in x86 assembler.
1990–
Still write simple shell scripts from time to time.
1990–2000
Written numerous scientific papers in Latex.
1990–1996
Used awk quite a bit for short data processing tasks--however, all of my programs were really minimal at best.
1990–
Wrote a high performance SVGA graphics device driver library entirely in x86 assembler wrapped with an interface that allowed it to be called from Modula-2. Still sometimes dive into it for debugging and other low-level hacking.
1990–
Learned on the job when writing scientific software. One of my favorite programming languages that I still use now.
1993–1996
Used heavily in computer architecture courses. Used to study performance of C programs on SGI systems.
1994–1998
Used occasionally in graduate school.
1995–
Wrote the first Swig modules for both Perl 4 and Perl 5. Wouldn't say that I'm fluent, but I still use it every now and then--mainly to maintain some wiki software that's written in Perl.
1995
Used ML in a course during my first year of my Ph.D. program. It may not had the intended effect, but my experience with ML is what got me interested in scripting languages (Tcl, Perl, Python, etc.).
1995–2001
Tcl was the first scripting language supported by the Swig project. I maintained the Tcl module until about 2001 or so.
1996–
Wrote the Swig project in C++ and implemented most of Swig's C++ parsing support. I try to avoid C++ as much as possible now.
1996–2001
Developed a Swig module for Guile--a scheme variant. In 2001, taught Scheme at the university using SICP.
1996–
First discovered Python after reading about it Computers in Physics. Developed the Python Swig module. My language of choice these days--not surprising since I also wrote a book about it.
1997–1998
Decided to write all of the programs in my Machine Learning course in Objective-C---mainly just for kicks. It was fun.
1998–
I'm done some work with it in the context of the Swig Ruby module. Taught it to students in a university course around 2007.
1999
Used Java in the first course I taught as a university professor (Internet Programming). Hated it--maybe because I was already well into Python.
2002–2004
Taught and used PHP when teaching Internet courses at the University.
2007–
Not being a web programmer, I've only made occasional use of it. I'm much better at hacking someone else's JS than writing it from scratch.