Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Yaoi Gagarin
Feb 20, 2014

This thread is for talking about everything to do with what makes programming languages work. Topics can span from very high level discussions about syntax, semantics and why languages do the things they do, down to the details of compiling, interpreting, linking, loading, optimization, parsing, type theory, and lots more. Folks of all background and skill level are welcome, whether you're a professional compiler dev, or a hobbyist working on your own language, or a student taking a compilers class, or just a bystander confused that anyone ever thought C++ templates were a good idea.

I intend to keep the OP updated with books and other resources the thread recommends, as well as links to any particularly informative posts. So :justpost:

Resources posted:

Engineering A Compiler - I used this book in undergrad and I remember it being pretty good.
Compilers: Principles, Techniques, and Tools (AKA the dragon book) - I'm told this is missing some modern stuff, but still a definitive reference for the subjects it does cover.
Crafting Interpreters - https://craftinginterpreters.com/
Stanford Course - https://learning.edx.org/course/course-v1:StanfordOnline+SOE.YCSCS1+3T2020/home
TODO Suggest a book or something!

Boba Chef posted:

Really up for this as I'm a big old compiler nerd. I wrote some blog posts on the topic, which others might find interesting.


Yaoi Gagarin fucked around with this message at 22:47 on Mar 3, 2024

Adbot
ADBOT LOVES YOU

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

resurrecting the thread to contribute a great book/site for learning a ton about how interpreters are built: https://craftinginterpreters.com/

(a lot of the pieces apply to compilers as well, obviously)

Boba Chef
Jul 4, 2022
Really up for this as I'm a big old compiler nerd. I wrote some blog posts on the topic, which others might find interesting.


E: To poster above, looking forward to reading the Nystrom book as his Game Programming Patterns is amazing and I recommend it to all my students.

Boba Chef fucked around with this message at 11:55 on Feb 11, 2024

Subjunctive
Sep 12, 2006

✨sparkle and shine✨

I actually get to work on a compiler again for the first time in like a decade, and I also get to work on an interpreter! Everything is coming up Subjunctive!

(Compiler is the winch compiler for wasmtime, which I’m doing a bit of work on mostly to learn ARM assembly, and the interpreter is CRuby where I’m going to try to bring in some performance tricks from other engines I’ve worked on.)

When I worked on a JIT in ~2009, there were samizdat copies of a “new compiler book” draft floating around, seen as the successor to Muchnick. It was being worked on out of Berkeley, IIRC, but I don’t remember the authors’ names. Anyone know what I’m talking about, and if it ever got published?

Subjunctive fucked around with this message at 15:48 on Feb 18, 2024

Yaoi Gagarin
Feb 20, 2014

Can you talk about what you're trying to improve in CRuby? Sounds interesting.

At work I've been doing almost nothing but implementing debug info for a long time. It turns out that this is a supremely complicated thing to get right, especially if your compilation stack was not designed to have it from the beginning. At some point I'll write about this in more detail, but for now I'll just say: if you ever find yourself designing a new compiler from scratch, then for the love of god please try to keep as much info about the original source alive as late as possible.

Adbot
ADBOT LOVES YOU

Boba Chef
Jul 4, 2022
https://learning.edx.org/course/course-v1:StanfordOnline+SOE.YCSCS1+3T2020/home

Have been working through this course. It kind of slaps and you can get a discount on it which brings the price to a more reasonable $25.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply