| I don't remember what we read in university, but here's a short list from the top of my head: 1. Read "Dragon Book" as an easy reading. Nothing from it is going to end up in your programming language, but it puts you on terms with other people. 2. Read on and practice "parsing expression grammars" (also "Computing Patterns in Strings", maybe?) 4. Start learning C++ and Haskell. You won't get enough low-level and high-level programming details anywhere else. Then get into "Design and Evolution" and "History of Haskell", then follow the links. Knowledge of these languages is not enough, you have to know why they were written this way. You should start seeing things around like "hey, η-conversion is broken in Javascript! I cannot pass `parseInt` to `map`, because they both removed requirements on number of arguments and used overloading! What a crap!" 5. Get into type theory. "Types and programming languages" (and "Advanced TaPL") is a nice entry point. From there you can start reading articles. 6. Learn lots of other programming languages, analyze concepts you see there, talk with other programming language theorists, especially when in doubt if something is bad or good. Join "Lambda the Ultimate" or at least read as much as possible on it. 7. Now and only now it's time to publish your first language whitepaper. |