[ale] They were Giants in those Days
Jon "maddog" Hall
jon.maddog.hall at gmail.com
Mon Jan 5 19:50:17 EST 2026
I first took a compiler class at Drexel University around 1973. At that
time there were two books, one written in 1972 by Aho on "Parsing" and one
written in 1973 by Ullman on "Compiling". Together the two books cost over
300 dollars...in 1973. My yearly tuition to Drexel, a private engineering
school, was 2000 dollars that same year. I was lucky enough to have to
buy both books as well as pay my tuition.
Realizing these two books were a bit expensive, they mashed the two books
together to create the first "Dragon Book" (nicknamed "The Green Dragon
Book") in 1977. I used this for my MSCS that I started in 1974 and
finished in 1977...(rats. I had to buy this one too...and it too was not
cheap).
Then I started teaching college in 1977. I asked my students to buy the
Dragon Book, but then I realized that the "mashing" made it so not even Aho
or Ullman could understand it. So I also made my students buy another
compiler book by Lewis, Rosenkrantz and Stearns (LR&S) called "Compiler
Design Theory", which allowed mere mortals to understand how a compiler
might work. In fact LR&S had a complete compiler written in pseudo code in
the appendix of the book. If you transcribed the pseudo code into real
code you would probably get a working compiler.
Most of my students never even opened "The Dragon Book" and they hated me
for making them buy it.
https://www.google.com/books/edition/Compiler_Design_Theory/b8AmAAAAMAAJ?hl=en
Therefore in 1986 Al and Jeff tried again and got this one fairly good.
It is known as "The Purple Dragon Book".
I am not saying that the Dragon books were not worth it, but the early
editions (to me) were a difficult slog. LR&S may not have had all of the
"depth" of the Dragon Books, but quicksand also has a lot of depth.
I took compiler theory twice, once in undergraduate and once in graduate
studies, but I never really understood it until I had to teach it. I
realized that when you are a student you can not understand 40% of the
material and still get a passing grade.
However, when you are teaching it you have to understand it ALL, because
the part you do not understand is the part that they will ask the question
on, and if you do not know the answer you will be the GOAT.
So the first time I taught it I would sit in my office working on my lesson
plan with about five books open and going between all of them looking for
the answers.
The second year I only needed two books open.
Of course there are a lot of other compiler books today. It has been over
thirty years since I actually taught compilers, so I am sure there are a
lot of optimizations and issues of parallel programming and cache
utilization as well as out-of-order execution considerations.
However today I can go up to a whiteboard and give a good explanation of
lexical analysis, syntactical analysis and code generation with some pretty
good optimization talks without even breaking a sweat.
And now you know the rest of the story.
md
On Mon, Jan 5, 2026 at 4:12 PM Pete Hardie via Ale <ale at ale.org> wrote:
> We used the Dragon book in my compilers class
>
> Pete Hardie
> --------
> Better Living Through Bitmaps
>
> On Mon, Jan 5, 2026, 16:00 lollipopman691 via Ale <ale at ale.org> wrote:
>
>> Alfred Aho explains Lex and YACC. Learning (f)lex and (bison)YACC
>> changed my life, for better or for worse.
>>
>> https://www.youtube.com/watch?v=0ssGOC9m8Nk
>>
>> -- CHS
>> _______________________________________________
>> Ale mailing list
>> Ale at ale.org
>> https://mail.ale.org/mailman/listinfo/ale
>> See JOBS, ANNOUNCE and SCHOOLS lists at
>> http://mail.ale.org/mailman/listinfo
>>
> _______________________________________________
> Ale mailing list
> Ale at ale.org
> https://mail.ale.org/mailman/listinfo/ale
> See JOBS, ANNOUNCE and SCHOOLS lists at
> http://mail.ale.org/mailman/listinfo
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.ale.org/pipermail/ale/attachments/20260105/00a6978b/attachment.htm>
More information about the Ale
mailing list