|Languages I've used in some fashion|
|68000 Assembly||Very rusty|
|Logo||Junior high in 1983. :-)|
My programming biography:
I taught myself how to program using Basic on a Commodore 64 in ~1982 (I was 12). It came naturally enough to me that I ended up placing second in my high school on a programming exam as a junior despite not having taken the school's programming class.
The next summer I did take my first (and only) programming class, a summer course in Pascal, and had to unlearn many of my bad habits. I learned the joys of modular programming. My next language was Fortran, learned for a summer job in 1987 (NIST).
As a post-doc (NRL) I started doing more extensive programming, the first in a while, mainly in C/C++. That is, I was using C++ but never really did figure out if I was doing anything that didn't exist in regular C.
When I was first hired as a professor (UW-La Crosse, Physics) I got assigned to teach the Electronics class and therefore had to learn enough 68000 Assembly to teach it to the students. In developing my own lab there, I also started using LabVIEW fairly extensively to control my equipment.
I transferred to my current university in 2007 (BYU, Physics), and got assigned first to teach a MATLAB-based class, so I had to learn MATLAB. Then I was assigned to teach a Mathematica-based class, so I had to go back to my Mathematica roots. I was surprised to learn of its vastly improved programming abilities since I had used it last. In the meantime I've continued to do extensive work in LabVIEW, finally discovering the true power of object-oriented programming. More recently, I discovered AutoHotkey as I was looking for a way to do powerful macros, and keep feeling that I should learn more of that. And after talking to some true computational physicists I decided I needed to add Python to my arsenal, so that was my summer project last year (2013).
Here's my website: http://www.physics.byu.edu/faculty/colton/