In yet another great article (the content is as usual well-known thing, but the story telling is top notch) Joel is bitchin' about today's kids and stuff they're taught (or more precisely things they are not taught) at the university.
Apparently I had all the right ingredients (according to Joel) for a decent CS grad:
- Pascal, interestingly we used it for an “Interpreters and compilers“ course
- C (pointers, recursion and all that Jazz was an essential ingredient)
- Lisp (this one should make Paul Graham happy)
- Prolog - this one was tough for me
- artificial assembly language (to grasp the concepts) for which I actually wrote an interpreter and debugger; some of my colleagues successfully used it to prove that their code was running alright even before the results of the written test were published ;)
- real assembly language for Intel 80386
- relational algebra and calculus - this was a pre-requisite for SQL and database development; then we went on to use embedded SQL from C :)
- absolute geometry - one of the toughest things you could face; it starts in total vacuum, with only about 5 axioms and builds everything from scratch - we were unable to reuse any previous mathematical knowledge; the whole thing is completely abstract and only deals with Euclidean geometry of space as you know it as a special case at the very end of the book :)
- shitload of other math, not all of which is directly applicable to CS, except for numerical mathematics and analytical geometry (will come real handy for 3D in Avalon)
I also attended a course on Haskell some time after I graduated but as a language Haskell and tools wasn't quite mature at the time. You will notice that I did not have a C++ course - I had to learn that one myself (at the time I naively believed that it's only a small incremental improvement of C).
Before university I used (ZX Spectrum) Basic, assembly language for Z80 and 6510 (8-bit processors that ruled the eighties), Cobol (in high school, never tried to run anything on a real machine) and Pascal on Amiga (16-bit, using Motorola 68000).
I think (and Joel seems to think along the same lines) that all the stuff I accrued over the years gives me distinct advantage over those that can only do (quote from Joel's article) Yet Another Java Accounting Application. But it's still not enough - that's why even though I technically don't have to (my job does not require it) I am still learning, especially things that are distinctly different from my everyday job - things like Ruby, Haskell and XSLT 2. Have a look at the right sidebar of this blog and you'll see the books I own (I really should change the title, this way it might sound like I wrote all those books).
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5