4 ms·
Racket makes you a better programmer. Especially if someone goes through "How to Design Programs." John Carmack taught his 10 year old son Racket just for this
by baldfat 9y ago
Racket makes you a better programmer. Especially if someone goes through "How to Design Programs."
John Carmack taught his 10 year old son Racket just for this same purpose. The whole system is great for teaching. You run DrRacket and you have an IDE that is geared towards beginner programmers and just have them code. https://www.itworld.com/article/2978142/development/why-john-carmack-thinks-racket-is-aces-for-beginning-programmers.html https://www.itworld.com/article/2978142/development/why-john...
- ido 9y agoI guess it really depends on the student's motivation (and age, most likely). My experience was that the biggest danger is not them learning the 'wrong' things but giving up in frustration a few weeks/months in after not getting anywhere. So it's paramount to get them on something that can achieve their goal (or something close to it) ASAP, so they get hooked on making cool stuff before getting frustrated and dropping off.
- yorwba 9y agoFrom the article linked upthread: “[Ryan] reacted very positively to the initial ‘intro to racket with pictures’,” Carmack wrote, “which was a contributing factor to settling on Racket. Java / C# work seemed to feel more like homework, but changing numbers and colors in the REPL had him smiling and excited.“ So Racket does seem to offer that kind of quick feedback.
- ido 9y agoYeah I can imagine it being better than straight-up java or c#, but I meant using a "batteries-included" kind of game engine. Anyway, to each their own!
- ZenoArrow 9y ago> "Racket makes you a better programmer." Any practical language that is sufficiently different from the ones you already know will make you a better programmer.
- baldfat 9y agoExcept Racket was from its foundation built to be a great teaching tool.
- ZenoArrow 9y agoScheme has it's roots in the classroom, that much is true, however that doesn't make what I stated previously any less true, nor does it automatically mean that Racket is a better vehicle for improving the code quality of its students over other languages outside a programmer's comfort zone. In other words, learning Racket can make you a better programmer, but so can learning Smalltalk, Forth, Coq, an assembly language, etc... All languages outside your comfort zone that are designed for practical purposes (i.e. not languages like Brainfk, Malbolge, etc...) are potentially rich sources of information. Putting Racket at the top of the pile doesn't seem appropriate.
- ido 9y agoAnd of course, the question needs to be asked if becoming the best programmer you can be is the actual goal? There are a lot of developers much more succesful than myself that have gotten their success using GameMaker and a good enough understanding of scripting it. It's not all about programming!
- chii 9y agoIf your goal was to make a working end product, then yes, it's not all about programming. But for somebody trying to learn programming, the other things like tools for building, packaging, and any other kind of polish is just a distraction. If you are learning math, using very long and arbitrary floating point numbers instead of nice, simple integers, would just add an extra level of cognitive overhead. But if you're building a house or bridge, the measurements needed rarely is nice, and real world issues overwhelms the simple model in a math question. But those are unimportant to learn until the simple stuff is learnt.