How to Learn Scheme (was How to Learn Programming)

  1. The Scheme Programming Language Third Edition by R. Kent Dybvig
  2. How to Design Programs by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, and Shriram Krishnamurthi
  3. Structure and Interpretation of Computer Programs by Harold Abelson and Gerald Jay Sussman with Julie Sussman

Addendum 6/26/8:
The difference between learning a programming language and learning how to program is now clear enough to me that I had to revise this post to clarify its intent and correct its content. As such, the title has been changed, and only one book has been recommended.

RLX

RLX is a rogue-like video game engine written in Emacs Lisp that is being ported to Common Lisp.

In addition to the fact that this is a game so it is just plain fun, the author uses emacs as an IDE for creating games using the engine.

What more could you ask for? Read more on about it on his blog.

Fortress 1.0 Released

Guy Steele’s latest programming language Fortress has been released.

The Fortress programming language is a general-purpose, statically typed, component-based programming language designed for producing robust high-performance software with high programmability.
In many ways, Fortress is intended to be a “growable language”, i.e., a language that can be gracefully extended and applied in new and unanticipated contexts.

(via PLNews)

Graphviz

Graphviz, or Graph Visualization Software, is a gem of a program. By specifying graph relationships in plain text files, you can create and publish graph diagrams (in just about any format) to serve any number of purposes including the visualization graphs (of course!) and anything else that can be represented by a graphs like UML, class diagrams, state machines, network architecture, system design, and even code! This is a perfect tool for any developer.
Here are some screenshots; but don’t be limited by what you see. Use your imagination!

Functional and Declarative Programming in Education (FDPE08)

This conference covers a lot of very interesting topics about the role of functional programming (FP) languages in education (follow the link for ample details). It sounds like a great conference!
(Its co-location with ICFP 2008 is yet another reason to attend, and as FP becomes more popular in the industry today, the question of how to teach FP to imperatively trained programmers becomes especially interesting.)