3 ms·
Thanks for the clarification. I am indeed more interested in Programming Language Design. Do you have pointers to intro texts which provide practical value?
by ck_one 6y ago
Thanks for the clarification. I am indeed more interested in Programming Language Design. Do you have pointers to intro texts which provide practical value?
- pansa2 6y agoYou mention "Writing an Interpreter in Go" - are you familiar with the similar book, "Crafting Interpreters" [0]? It's highly recommended by many but, again, may be more implementation-oriented than you're looking for. In that case, here is a list of other books that its author seems to recommend [1]. Another thing I've found very helpful is to investigate the details behind how existing languages work. It's especially interesting to think about how language flaws are sometimes unavoidable consequences of the underlying design. For example, you mention familiarity with Python. Dynamically-typed scripting languages are my area of interest, so I have spent time making sense of Python's object model [2], including things like the descriptor protocol. It's then interesting to compare it to Ruby's object model [3], which despite surface similarities actually works in a completely different way. [0] http://www.craftinginterpreters.com/ http://www.craftinginterpreters.com/ [1] https://twitter.com/munificentbob/status/901543375945388032 https://twitter.com/munificentbob/status/901543375945388032 [2] https://docs.python.org/3/reference/datamodel.html https://docs.python.org/3/reference/datamodel.html [3] https://www.youtube.com/watch?v=X2sgQ38UDVY https://www.youtube.com/watch?v=X2sgQ38UDVY