Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

1. All programmers should drop the "I don't have to be good at math" habit...you're disrespecting people who are likely in possession of knowledge that will help you later. Being "good at math" means you communicate and try to understand concepts. It's more about attitude than knowledge.

2. All programmers should learn Galois theory, not only to get over the idea that they can't be good at math, but to learn to appreciate math. The book by Ian Stewart is good, although I would supplement it with Artin or Dummit and Foote.

3. Try to figure out why Ken Thompson and Dennis Ritchie did what they did, when they did it. Very important for getting a historical understanding of programming. Also, try to figure out why Ken Thompson said what he did in "Coders at Work".

4. Read The New Hacker's Dictionary.

5. Read Naive Set Theory

6. Try (and fail, at least for a year) to read A Shorter Model Theory (don't give up!)

7. Read Code Complete followed by the Python 2.x source code

8. Read SICP and write a scheme interpreter in a language of your choice

9. Implement a simple LR parser, instructions here: https://en.wikipedia.org/wiki/Simple_LR_parser

10. Play Kitten's game http://bloodrizer.ru/games/kittens/

11. Play the UC Berkeley CS 61a adventure game https://inst.eecs.berkeley.edu/~cs61a/reader/

12. Play JSRobowar https://statico.github.io/jsrobowar/

13. Read "Development of the C Language" https://www.bell-labs.com/usr/dmr/www/chist.html

14. Read "The Mythical Man-Month"

15. Read "Simply Scheme"

16. Read "The C Programming Language"



Why the kittens game? To demonstrate the effects of scale?


What would you recommend to read about #3?




Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: