3 ms·
How about DrScheme? I can't imagine more direct, rewarding feedback than the built-in graphics libraries. It's totally usable for games. It comes with a solid d
by gcv 17y ago
How about DrScheme? I can't imagine more direct, rewarding feedback than the built-in graphics libraries. It's totally usable for games. It comes with a solid development environment, with a good step-capable debugger.
- mbrubeck 17y agoAnd the "How to Design Worlds" curriculum (by the authors of the well-known intro CS text "How to Design Programs") teaches functional programming for first-time programmers by building simple games and animations: http://world.cs.brown.edu/ http://world.cs.brown.edu/
- rms 17y agoI don't know about gruseom's nephew, but I suspect that even or especially for people just reaching the age where they can begin programming, there is something inherently more difficult about understanding lisp-like structure compared to more python or ruby like structure. Perhaps I am underestimating the minds of today's 11 year olds, but I don't think I would have gotten lisp at that age. If anyone has actually tried to teach a 10 or 11 or 12 year old lisp, the whole board would be curious about your results. For now, I think it makes more sense for gruseom's nephew to use one of the languages with pedagogy better tested on young people: python or ruby. Gruseom, the choice between python or ruby doesn't make that much difference, go with whichever one you are more comfortable with. One nice thing about ruby is Hackety Hack; a self-contained learning IDE. http://en.wikipedia.org/wiki/Hackety_Hack http://en.wikipedia.org/wiki/Hackety_Hack
- Zak 17y agoI honestly believe the structure of Lisp is easier to pick up than other languages. You always know where a construct begins and ends in a Lisp.
- techiferous 17y agoI would not recommend Scheme as a first language. The syntax is too far from what we normally use, so it provides a barrier to learning. Ruby: a = 7 * 8 + 10 Scheme: (let ((a (+ (10 (* 7 8))))) Ruby: print "you are big" if height > 80 Scheme: (if (> height 80) (display "you are big"))
- jrockway 17y agoLisp: (loop for i from 1 to 10 collect i) Ruby: [1..10].collect { |x| x } But anyway, it turns out that people are not born with an inherent ability to parse infix operators. Infix is just as arbitrary as prefix or postfix. Anyone, even a kid, will figure the syntax out either way. (Infix leads to confusing bugs, like "why doesn't 'foo < bar < baz' work?" Prefix eliminates this ambiguity.)
- ique 17y agoHow about an extention of DrScheme allowing some really awesome livecoding? Fluxus gives you the entire REPL as well as an editor and the program runs and displays the graphic with a press of F5, this is how I first got into Scheme. http://www.pawfal.org/fluxus/ http://www.pawfal.org/fluxus/