I just started reading How to Design Programs (HTDP), a book that focuses on teaching the concepts of programming to the reader via Scheme. Now if you've read or heard of Structure and Interpretation of Computer Programs (SICP) but not HTDP and wondering why it isn't popular, this comment on Hacker News sums it up. Navigating through the online version of the book, it feels like it's a much better alternative to beginners, than SICP which assumes that you atleast have average math skills (my overall math skills are ok, but Calculus... I cannot drink and derive like many ;)
In section-2, the book mentions the use of the Stepper in DrRacket. I tried it assuming that it's going to suck, but the interface is the best I've seen for a stepper. Here's a bunch of screenshots taken while stepping through a simple program, with a procedure to evaluate the number, that results in the concatenation of the reverse of 3 integers (easier using string functions right? but we are asked to use a math formula which sounds cool actually).
Most interfaces for debuggers are scary with a lot of buttons or text in the interface. But this interface impresses me. It's simple but versatile with step numbers, options to jump to any particular step, substitutes values in-place and also highlights them with a color pleasing to the eye (atleast to mine).
P.S: "convert3"??? I'm not bad at naming functions. When you name functions according to what the exercise in the book specifies, you get to test your programs with the TeachPacks that come with it (supported by DrRacket).




