ACM Classic Books Series

Paul McJones alerts us that the ACM posted PDF versions of some books in its Classic Books Series, which are available to anyone who creates a free ACM Web Account.

Among the currently available books, LtU readers are likely to be particularly interested in Hoare and Jones's Essays in computing science, Adele Goldberg and David Robson's Smalltalk-80: the language and its implementation, and Dahl, Dijkstra, and Hoare's Structured programming.

Long time readers will also know that I highly recommend Papert's Mindstorms: children, computers, and powerful ideas to anyone interested with the effect computers might have on education. Papert's Logo remains to this day the best children oriented programming language, but even if you disagree with me about this, his book is a must read.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Ok then

Well, have to disagree on the last point really as I was faced with Logo and K&R as a child.

Nothing proved more valuable or exciting than the latter in all machine abstraction work, same applies to more mature, later Smalltalk variants etc etc.. Heck, I believe children are capable and closer to the idea of doing basic assembly and arithmetic than Lisp-ish ideas. And no it isn't a good idea to talk to them of modern prefetch etc facilities of CPUs, so scrap that for a moment.

And in a way, I believe kids have to make messy code mistakes early.
(put simply: it is important for them to enjoy it and Logo was, is and always will be underwhelming under an onslaught of games, 'demo' scenes on new ideas, tech and competition between kids; plus there's a web in the mix and should be closer to them than today's grandmas-and-grandmasters of VAX).

Lisp always seemed to be for grown ups of 30 something, moving into data and structure of code after being sick of repeating yourself (something this industry does fairly well across the big vendor platforms and stacks).

The fact that functional and Lisp code has nowhere near penetrated any decent market share for such a long time and all the attempts to make it 'widespread' in SD community over the years have, well, largely failed.

And not that I'd ever agree Java or C# should be tought as a first language either (that kind of education produces big-headedness rather than creativity and understanding of the abstract models that are far too persuasive to be simply ignored or 'virtualized').

A child can still learn to correct his/her ways through secondary education and move into OO, functional and logic programming pretty early, but not understanding hardware architecture and the underlying environment is a sure fire way to produce another bloated JVM-like framework, GC-assisted simplification to leaking ideas and memory, like MS did and succeeded at lowering the bar to mass-market-C#-VB.NET and frustrating slow and bulky programs.

Best programmers (ie. by widely ack-ed quality of code) I've ever seen (that is in C++, on VMs or Lisp and ML) have reverse engineering, hardware tinkering, and very early software experimental background as children (you know on old, and first personal PCs).

My own experience of being

My own experience of being taught logo in school was that we never got told anything interesting. So I could sling the turtle around, I'd been told how to do basic loops but it was actually news to me that it was at all lisp-like.

200$ ACM Digital Library subscription required now

This is almost 1 year old thread, but as this page is still highly referenced via google it should be noted that ACM has removed free access for these books.

Thanks for the update.

Thanks for the update.