A crash course in compilers (2018)
increment.com
increment.com
I'm a statistician. I've always wondered what it's like to grapple with the question of what programming language to use. In statistics, the choice is very obvious: use R. If that's not fast enough, use Rcpp. This is definitely a good thing, because all academic statisticians in a certain age range speak R, so interfacing work is not so painful, but maybe a bad thing because statisticians don't really understand the pros and cons of many languages? If Julia blows up, maybe we will have to get smart on these differences.
Granted the workflow is probably the same in any language: clean data, model data, graph data.
There, fixed that for you...
> Diving deeper into program language theory is a great way to grow as a developer.
But does anything in this article really count as programming language theory? I’ve always considered PLT to mean things like type theory and formal semantics, which are quite separate from the practical implementation of compilers.
I’ve been put off designing a programming language, even a dynamically-typed scripting language, because I’m just not that interested in PLT. I’m much more interested in the subject of this article (the implementation of compilers and interpreters) than in the math behind type systems.
Do you think it’s possible to design a successful language without knowledge of PLT? Or should I stick to working on compilers for existing languages?
I think it is a valuable thing to just dive into a subject that quite obviously interests you so much as long as you are humble about it.
At some point you change/tweak/break something. Then your humble instinct will say: "I bet this is a common problem, let me research it". And so you get deeper understanding of what you do in a fun and tangible way.
If that at some point means you get to read PLT about type theory and formal semantics, then so be it. But at this point you'll know much more about the 'why' and can assess/relativize the purpose, importance and relevance of a particular subject.
Concretely, you can definitely design and implement your own dynamically-typed scripting language without knowing anything about type systems or formal semantics.
It depends on your criteria for "success," of course, but creating languages has been one of the most rewarding aspects of my interaction with computers over my life, don't miss out!
It's a casual magazine - give it a break.
> I’ve been put off designing a programming language, even a dynamically-typed scripting language, because I’m just not that interested in PLT.
Many (most) successful languages were designed by people who either don't know anything about theory, or who do but don't chose to employ it. It doesn't seem to be a showstopper in practice.
If anyone here reads this regularly, is it worth it?
It's also pretty spread out between issues(quarterly) so it's not very spammy.
I find the excessive design a bit offputting. It's beautiful, nevertheless.
MSJ (Microsoft Systems Journal) was another good one!
Data Compression:
https://archive.org/details/byte-magazine-1991-03/page/n375/...
Taos: (the article seems to only have been in the international edition of Byte)
https://sites.google.com/site/dicknewsite/home/computing/byt...
Taos discussed previously on HN:
I always purchase a copy of Software Design whenever I visit Tokyo.
I personally enjoyed `Modern Compiler Implementation in ML` and Crenshaw's tutorial [0] There's also a Forth translation [1] if you're into that :)