DEV Community

Discussion on: Learn programming in 1 hour a day

Collapse
 
joshcheek profile image
Josh Cheek • Edited

I also taught beginners professionally (ie as a teacher) and unprofessionally (ie because people were interested in learning). I found that actually interacting and writing code is the most important thing. That said, I looked at the table of contents for the book, and if that's what someone feels more comfortable with, then I'm cool with them using it. Just looked at a sample page and it looks like the book is using a lisp, I'm guessing Racket, based on the red and blue lambda icon. Racket seemed like a pretty cool language when I played with it, but I don't know how many resources are out there for new people, how many libraries exist for it, how many jobs are hiring for it, etc. One thing I do like about lisps is they love their REPL, which is a great habit to be in.

WRT typing, knowing how to use your tools is important because it reduces the overhead between thinking and doing. Practice your tools so that your tools aren't a constant impediment. When working with students, if I didn't show them the keybindings and quiz them, then I'd see them months later, still spending 30 seconds stumbling to do something that should have taken one or two seconds. By the time they finally get it, they forgot why they were even trying to do that. Practicing keybindings is about reducing the cost of the interface. Even a little bit of progress here can lead to big wins. The process stops being frustrating and starts being fun (and that's incredibly important for new people). When the interface begins to melt away, you begin to become fluent in the language, and you can start thinking in high-level goals instead of low level implementation details.