I just received an e-mail from a former student of mine who is currently enrolled as a freshman at UT. He is easily the most talented kid I've taught in computer science, but he wouldn't take Scheme last year. I personally think he thought it to be irrelevant and a waste of his time. He is now enrolled in a CS class that uses Scheme and here are a few of his thoughts."Actually ... if you want to get technical ... we're using whatever individual students want to use. The prof (Dr. Gordon Novak) doesn't really care as long as it's a Scheme compiler. ... Almost everybody in the class is using DrScheme. ...
The average program that works perfectly and applies the proper theories gets a grade of an A-. The CREATIVE programs get A+'s. I know he says neat code and stuff like that too, but he mostly means CREATIVE. He expects them to be neat regardless although he doesn't really say so, but he doesn't put nearly as much emphasis on style as Rice does. ...
Personally, I'm growing to ... well ... see the attraction to Scheme. It's easy. It's really easy for me to write much more powerful programs in many fewer lines of code than I could do in Java. ...
It really is easier to see things conceptually than in any other language I've encountered. I think it's an excellent introductory language...
Karen Buras -- Computer Science
St. Thomas' Episcopal School
Houston, TX 77096
Matthias Felleisen responds:
- The TeachScheme! design recipes are not about style. They are about the essence of programming as it applies to all programming languages (including assembly).
- Scheme is not just about introductory programming:
[I won't list the other 27 near-commercial products that we implemented and the 17 companies that serve their Web business with DrScheme.]
- DrScheme is written in DrScheme. Try it in Java.
- DrScheme includes a Web browser (HelpDesk), written in 48 hours. Try this in Java or C++.
- Shriram and Paul just wrote a Web server in DrScheme that fits on a floppy. Put it in a raw machine and the machine turns into a server: the os, the server, the files are managed in Scheme.