I just got asked by a colleague on AIM:
Gilles: Question for you. What language would you suggest for somebody who wants to “learn to program”… something easy, yet with good concepts…
…and the attached is my response and justification. I’d be interested in what other people have used to teach modern newbies the essentials of coding; we’ve come a long way from the BASIC, Fortran77 and M68K assy with which I started. Gilles: Nah. Way too complex… objects… methods… classes… not for a 15 year old non-geek. Alec: noooooooooooooooo, i disagree Alec: they should avoid applet programming for the first couple of months Gilles: Well… that’s an idea… Alec: and if you are teaching the ideas of subroutines and objects, you can ignore foundation classes Gilles: True. Alec: get them thinking in an OOPS manner early, just doing basic maths Gilles: How about an interpreted language? Alec: I feel the only other contender is Lisp Alec: Java
Alec: avoid the GUI and do commandline java
Alec: Java is reasonably clear
Gilles: Python?
Alec: BASIC is evil and too diverse
Alec: Perl is complex and depends on a body of Unix knowledge
Alec: Python – another VHLL – is not far from that, and has weird ideas about records and formatting
Alec: Ruby gets rave reviews, but is similarly a VHLL
Alec: Lisp is simple, very simple, and has good constructs, but can be daunting
Alec: Fortran is dead
Alec: C would be good, but crashes too easily
Alec: C++ is evil
Alec: Forth good is think you backwards can if
Alec: Java is good, so long as you avoid the bullshit
Alec: need i go on?
Leave a Reply