Re: META: Recommendations for a 13 year old transhumanist

Eliezer S. Yudkowsky (sentience@pobox.com)
Sat, 08 May 1999 21:31:53 -0500

Chandra Patel wrote:
>
> I'm also interested in sharpening my programming skills which have been
> isolated mainly to BASIC and QBASIC at this point. What computer languages
> are best for beginning my trek toward Coding Deity status? There seem to be
> lots of options and my teachers and friends have no ideas about where to
> start.

I would recommend learning Java *first*. Java is probably the best-designed language around right now, and the one that will start out by teaching you the right programming ideas. Reading a Perl book, and paying particular attention to all the arcane features, is an excellent introduction to Old High Hackerdom, meaning Unix and whatnot; also, Perl is the present language of the Web - although Java servlets are coming up fast. If you want to write actual GUI applications, or anything fast and smooth, there's basically no choice but to use C++.

I would also recommend looking at at least one LISP dialect - Scheme is the most beautiful, although Common Lisp is what gets used for actually programming things. Other programming languages that are interesting include Haskell, BETA, APL, MOO, and Eiffel; but, like Scheme, they're languages you learn for the concepts and not because you can actually do anything with them.

I strongly advise not learning how to program in plain C at all - like COBOL, BASIC, and Pascal, the language teaches bad habits. If you can, start out with a GUI compiler - a command-line system may be slightly more powerful but it's a bloody pain in the neck. Like assembly language, command-line systems are a dark, high power from the dawn of computing, which only the pure of heart may touch without harm.

BTW, you do have a choice of operating system, whether you know it or not. If you want to develop GUI apps with C++, and you don't care about the size of the market, develop for BeOS. If you have a non-G3 Macintosh or Wintel system, you can almost certainly install the BeOS operating system in a separate hard-drive partition. BeOS only costs $69.95, includes a complete GUI compiler (most places you can't even buy a GUI compiler for less than $300), and is by far the easiest and best operating system to program for.

Ah, to be 13 again, and have a chance to study all the things I missed with a working brain! Don't forget to study cognitive science, too. Above all else, get some exposure to evolutionary psychology. Not full time, *yet* - if you want to learn the mental disciplines of rationality, the best time is 15-17, but it's a good idea to get used to playing with your mind before then. At 19, I know the next step to take, but I haven't been able to do it - if I were 16, it would have taken me a month tops. Over the hill. Sigh.

-- 
        sentience@pobox.com          Eliezer S. Yudkowsky
         http://pobox.com/~sentience/AI_design.temp.html
          http://pobox.com/~sentience/singul_arity.html
Disclaimer:  Unless otherwise specified, I'm not telling you
everything I think I know.