(no title)
catenate | 12 years ago
I spent time programming because I didn't have a modem. It turns out this was the best thing for me, since I didn't waste my time on BBSes. A friend of mine who had, dropped out of the CS program at Penn State after a digital logic course I loved.
In high school I took a year and a half of Basic and Pascal, but more importantly spent three periods a day in the computer lab exploring every nook and cranny of programs I had to write, programs I wanted to write, and the shell language of the school district's VAX.
Seemed clear to me that I wanted to do computer science, but I switched to computer engineering after that digital logic course. Took college classes in Pascal, C, C++, assembly for microprocessors, common lisp for ai, vhdl for processor design, operating systems, and wire-wrapping a microcontroller system.
Grad school courses in Smalltalk [edit: and computer architecture and petri nets and, most importantly, self-taught makefiles for a class project build system].
After I got out of school I took company courses in Java and Perl, but more importantly taught myself the Unix environment from books, and had opportunities to use it every day at work.
On my own, I read books and did programming exercises in Haskell, Ruby, and Go.
[edit: I dug seriously into make and bash for ten years, writing the build system for a telecom network.]
I have a real passion for functional parallel programming in the Inferno shell, so I'm working on a blue-sky build-tool project. [edit: https://github.com/catenate/credo]
On my job I'm now picking up Python because I have to maintain a build system code base in it.
Overall, I'd say I've probably taught myself more than been taught, but only because I had about 8 years of formal instruction in a programming span of 30 years. The education was essential though, because there were so many concepts I would not have gotten to on my own.
No comments yet.