3 ms·
I've been taking a PLT[0] class in school and while the list above is extremely comprehensive and thorough, I'd argue that you do not need to read up all of it
by krat0sprakhar 10y ago
I've been taking a PLT[0] class in school and while the list above is extremely comprehensive and thorough, I'd argue that you do not need to read up all of it to get a good idea of programming languages.
Without even learning all the theory, you can get pretty far ahead (IMHO) in a building your own programming language (if that's the goal). The two resources that I've found invaluable are - the prog lang course[1] by Dan Grossman and PLAI[2] by Shriram. Lastly, there's also a whole bunch of interesting university courses that you can refer to - https://github.com/prakhar1989/awesome-courses#programming-languages--compilers https://github.com/prakhar1989/awesome-courses#programming-l...
[0] - http://www.cs.columbia.edu/~sedwards/classes/2016/4115-spring/index.html http://www.cs.columbia.edu/~sedwards/classes/2016/4115-sprin...
[1] - https://www.coursera.org/course/proglang https://www.coursera.org/course/proglang
[2] - http://cs.brown.edu/courses/cs173/2012/book/ http://cs.brown.edu/courses/cs173/2012/book/
- ianai 10y agoI can imagine someone being overwhelmed by all of those at first glance (in OP).
- spriggan3 10y agothanks , your links look way more reasonable than pure theory and mathematics for new comers who just want to implement simple programming languages and compilers.
- tikhonj 10y agoThere's a difference between learning about programming languages and learning about programming language theory. The class you linked is squarely in the former camp. It's a bit confusing because they use PLT to stand for "Programming Languages and Translators" where I usually see it referring to "Programming Language Theory". Honestly, "programming language theory" is a bit of a misnomer. It's less a theory for programming languages and more a theory of CS from a language perspective. (Where theoretical CS is a theory of CS from a computational point of view.) Programming language theory is interesting in and of itself and is fairly distinct from the sorts of things you'd learn in a normal programming languages course or by implementing your own language. I'm not saying either of those is useless—I'm a big fan of doing both!—just that they accomplish fundamentally different things. Your advice is good if you just want to implement a programming language; the linked repository is good if you want to explore PL theory. PL theory shares a lot with formal logic and the foundations of mathematics. The main areas are things like type theory (a special approach to formal logic) and semantics (akin to proof theory or model theory). What you'll learn by reading the books linked above is almost completely disjoint from what the class you linked covers.