To Scheme, or Not to Scheme
dekudekuplex.wordpress.com
dekudekuplex.wordpress.com
IMO, Python is a great choice. Simple, clean language with a ton of APIs. I'm sure 90% of people out there will prefer hacking together quickie games using Python and PyGame to playing with continuations in Scheme.
PS: I don't wish to imply that Scheme is a bad programming language. In fact, I've been mucking about with Scheme for the past week or so.
http://jlongster.com/blog/2009/07/19/gambit-scheme-app-devel...
Using the FFI, I could write my application code, low-level graphics calls, etc. in C or C++ or Objective-C, and call into my Scheme code at appropriate points. Gambit Scheme, discussed in that article, has a remote debugger as well, which has its own set of interesting possibilities.
I guess I'm thinking mostly of Scheme for games and simulations, which seem more natural to me to express with a clean functional language like Scheme.
"everyone should learn how to design programs."[1]
It is a book for a first semester not only for a CS curriculum, but for several other courses and styles.
"So why should anyone learn to program?
The answer consists of two parts. First, it is indeed true that traditional forms of programming are useful for just a few people. But, programming as we the authors understand it is useful for everyone: the administrative secretary who uses spreadsheets as well as the high-tech programmer. In other words, we have a broader notion of programming in mind than the traditional one. We explain our notion in a moment. Second, we teach our idea of programming with a technology that is based on the principle of minimal intrusion. Hence our notion of programming teaches problem-analysis and problem-solving skills without imposing the overhead of traditional programming notations and tools."[1]
If you are already a programmer, there is a commentary from Matthias Falleisen about how you should read the book:
"If you are an experienced programmer, you should read HtDP like this:
-- read the sections whose title starts with "Designing ...."
-- also read the "iterative refinement" sections
-- pick five exercises in the preceding and/or follow-up sections
and solve them according to the recipe
-- unless you're stuck move forward
-- try to understand the "symmetry" between data definitions and
templatesI expect that somewhere around late part II, you will slow down. You may pick up real reading as of part III, though some may make it thru III and only "stutter" in IV.
Also:
-- use check-expect to express your examples/tests
-- avoid draw.ss exercises, replace them with world.ss but that's a
non-trivial switch " [2][1] http://htdp.org/2003-09-26/Book/curriculum-Z-H-2.html
[2]http://groups.google.com/group/plt-scheme/browse_thread/thre...
You are basically on your own, and have to develop everything from scratch. For example, if you want to make a simple get request from the twitter API and examine the results, you've got to be prepared to do a lot of work in extracting it out (unless you are a scheme guru).
If you want to authenticate with OAuth, good luck with that, you'll have to write your own OAuth library from scratch.
But your comment regardin OAuth is poignant. I kinda wanted to implement it, saw the specs, and decided it would be too difficult. On the other hand, since my software is one-of-a-kind, I don't get any spam at all.
Do you have any sites that are live right now that run scheme?