5 ms·
Would Racket be an appropriate first language for a thoughtful 11 year old who has the gift of abstract thought (relatively; we are not talking Haskell here) ?
by chromatin 6y ago
Would Racket be an appropriate first language for a thoughtful 11 year old who has the gift of abstract thought (relatively; we are not talking Haskell here) ?
- aspaceman 6y agoI would think so, but it's hard to say. It depends on their own ability to figure things out and your ability to explain. Python is easier to google and more powerful, but Racket is like a really elegant and complete idea. I think the latter would have been more helpful when I was getting started, but it's really, really hard to say.
- scns 6y agoThere is a two part course on edx.org taught by Gregor Kiczales. The first one is called How to Code Simple Data.
- codr7 6y agoI would say Lisp is a fine beginners language, but it all depends on the teacher. One reason why SICP works so well is that the authors are very passionate about Lisp. K&R accomplishes sort of the same thing for C. Many languages have these kinds of books. I got into Lisp from reading Paul Grahams essays and books. One of my younger brothers eventually found his way into programming heaven via Bash scripts. My point is the medium matters less.
- rscho 6y agoI'm just a passionate hobbyist, but I'd say yes. The integrated environment makes it very easy to get started, the package manager makes using libs trivial and there are DSLs for basically all programming paradigms under the sun. In my opinion, nothing beats it. You even have pictures in the REPL.
- stjohnswarts 6y agoIt could be but I think python would be better.
- jswrenn 6y agoYES! Check out Bootstrap and How to Design Programs. https://www.bootstrapworld.org/ https://www.bootstrapworld.org/ https://htdp.org/ https://htdp.org/ You might also like Pyret: https://www.pyret.org/ https://www.pyret.org/
- SiVal 6y agoI don't think so. I've been using Lisp as long as Paul Graham, but it's not mainstream enough for a first language now. Both Lisp (of some sort) and C are better used now to extend the foundation, the former in an algorithmic direction and the latter in a computer systems architecture direction. Your first PL teaches you several things at the same time and should probably be fairly simple in all of them, a simplified exposure to lots of things at a higher level, and letting you get right into building some fun things soon--no matter how "thoughtful" you are. Most of the top ten languages now in terms of popularity resemble one another quite a bit, and picking one of those instead of something unusual will make it easier to move quickly into whatever second language is best suited to whatever projects your thoughtful one gets attracted to. And most programming projects these days are less about algorithms than about assembling a system from components, glue code, images, etc.