3 ms·
My suggestion is Crafting Interpreters + a different programming language to Java. YMMV, but it's hard to genuinely learn from Crafting Interpreters. All the
by urthor 3y ago
My suggestion is Crafting Interpreters + a different programming language to Java.
YMMV, but it's hard to genuinely learn from Crafting Interpreters. All the code is already written for you.
- storklathe 3y agoSeconding reading Crafting Interpreters but writing with a different language. I took it as an excuse to hone my Rust skills, as well as learn the behind the scenes of the compiler. I don't think I would have learned nearly as much if I didn't have to read a paragraph, stop, and then really thoroughly examine the ideas/assumptions behind it to ensure an accurate translation. Another strategy I used was to look at the title of the chapter, then work ahead as much as possible to implement that. It really helped my learning process to naturally explore the problem space myself, then read through and see how my naive attempts compared to a more seasoned implementation. But as the parent said, ymmv!
- PretzelPirate 3y agoKeep in mind that Crafting Interpreters starts with Java, but switches to C later on. If you want to write your code in a different language (which I did), don't choose either of those.
- urthor 3y agoOh well yes, I just didn't do C as others said.
- mattnewport 3y agoI used C# for the first part, easy to translate from the Java code but you can make things more concise with modern C# features while still having access to a GC which is kinda necessary for the first part of the book. I got rid of the code gen and visitor pattern stuff by using records in C# with pattern matching which felt a lot simpler to me.