Lambda the Ultimate

inactiveTopic Best PL tutorial/intro?
started 9/15/2003; 7:53:13 AM - last post 9/15/2003; 11:30:39 PM
Frank Atanassow - Best PL tutorial/intro?  blueArrow
9/15/2003; 7:53:13 AM (reads: 1004, responses: 7)
For pedagogical reasons, I've developed a habit of collecting programming language tutorials and introductions. I'm curious to know, then, which ones LtU readers have found most (and least) illuminating, interesting, accessible, insightful, (physically) attractive, professional, etc. and for what reasons.

For example, some reasons I like Robert Harper's Programming in Standard ML are that it starts off strong with a non-trivial example and penetrates deeper than the syntax and operational rules, also explaining how to exploit the language features. I also like the standard Python tutorial because it is short and non-threatening. Probably the best tutorial I've seen, though, is Sun's extensive Java Tutorial which, of course, looks thoroughly professional, is useful to a wide spectrum of audiences and includes many practical examples. How to Design Programs is also very good, though it is much more than a language tutorial.

On the other side, I've heard many people complain about A Gentle Introduction to Haskell, saying it is completely inaccessible. And I didn't like Picking Up Perl because it is too much of a laundry list of features and constructs.

What are your (least) favorites?

(All the examples I gave are available online, but if you know of some really good or bad printed materials I would also like to hear about it.)

Daniel Yokomiso - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 9:24:46 AM (reads: 1000, responses: 1)
Most accessible:
Teach yourself Scheme in Fixnum days
Java Tutorial
Programming Ruby

Illuminating but not accessible:
Communicating Sequential Processes
All About Monads
A page about call/cc

I can't remember much of the bad stuff, or wouldn't can them bad. I agree that most tutorials on Haskell are inaccessible. Currently I'm reading the Clean book and the Erlang book, both seem very fine so far.

Chris Rathman - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 11:40:10 AM (reads: 968, responses: 1)
With my biased predisposition, I'd have to say that Object Oriented Software Construction is a great intro to Eiffel (speaking of which I sure wish that Eiffel Liberty Journal was still extant).

I found "Gentle Intro to Haskell" near impossible to traverse. Much preferred Thompson's Haskell: The Craft of Functional Programming. The problem, of course, is how much exposure you've had to the concepts. For someone that is already immersed in functional programming that just wants to get into Haskell, then the Gentle Intro is probably ok. For those of us that knew neither FP in general, nor Haskell in particular, the Thompson book is much more accessible.

Postscript: I guess I ought to explain why I like OOSC. I tend to like language tutorials that not only tell you how to do something, but give you a clue of why the language was designed in that manner. In reading OOSC, the author explains the rationale for the various syntactical choices, explaining along the way some of the alternatives. In some sense, I felt like I was part of the language design process. That sense of playfulness in language construction is usually confined to the Lisp books.

Bryn Keller - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 11:44:13 AM (reads: 978, responses: 0)
For Haskell tutorials, I've heard good things about Yet Another Haskell Tutorial, though I haven't yet read it myself.

Ehud Lamm - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 11:55:36 AM (reads: 967, responses: 0)
A thousand page tutorial? I thought one of the requirements for tutorials is to be short...

Chris Rathman - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 12:03:06 PM (reads: 944, responses: 0)
A thousand page tutorial?
Hey, I want a full-time tutor that will stay with me for a whole semester. :-)

Ok, so neither of the books I cited qualify as a tutorial, but they are both good intros. But I prefer my language introductions to be bounded and hard copied.

Patrick Logan - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 10:01:56 PM (reads: 817, responses: 0)
A thousand page tutorial?

The first edition of OOSC better served as a tutorial. The rewrite actually tries too hard. There are at least two, probably three, books in the latest OOSC.

David B. Wildgoose - Re: Best PL tutorial/intro?  blueArrow
9/15/2003; 11:30:39 PM (reads: 803, responses: 0)
I found the best introduction to Haskell is the concise and very clear explanation at the beginning of Algorithms: A Functional Programming Approach which, as the title suggests, is actually more about the application of Haskell than the language itself.

Sadly, it doesn't cover monads, but I think that is well covered by Jeff Newbern's All about Monads.

I have also been very impressed by the forthcoming Oz book "Concepts, Techniques and Models of Computer Programming".