Re: why teach about compilers, was Java compiler courses

"Daniel C. Wang" <danwang74@gmail.com>
4 May 2007 13:18:23 -0400

          From comp.compilers

Related articles
Java compiler courses wookiz@hotmail.com (wooks) (2007-04-20)
Re: Java compiler courses 148f3wg02@sneakemail.com (Karsten Nyblad) (2007-04-25)
Re: Java compiler courses gneuner2@comcast.net (George Neuner) (2007-04-26)
Re: why teach about compilers, was Java compiler courses 148f3wg02@sneakemail.com (Karsten Nyblad) (2007-04-29)
Re: why teach about compilers, was Java compiler courses gneuner2@comcast.net (George Neuner) (2007-04-29)
Re: why teach about compilers, was Java compiler courses bobduff@shell01.TheWorld.com (Robert A Duff) (2007-04-29)
Re: why teach about compilers, was Java compiler courses danwang74@gmail.com (Daniel C. Wang) (2007-05-04)
Re: why teach about compilers, was Java compiler courses cdsmith@twu.net (Chris Smith) (2007-05-04)
Re: why teach about compilers, was Java compiler courses gneuner2@comcast.net (George Neuner) (2007-05-04)
Re: why teach about compilers, was Java compiler courses torbenm@app-7.diku.dk (2007-05-07)
Re: why teach about compilers, was Java compiler courses torbenm@app-7.diku.dk (2007-05-07)
Re: why teach about compilers, was Java compiler courses stevem@ans.com.au (Steve Murray) (2007-05-09)
Re: why teach about compilers, was Java compiler courses danwang74@gmail.com (Daniel C. Wang) (2007-05-10)
| List of all articles for this month |

From: "Daniel C. Wang" <danwang74@gmail.com>
Newsgroups: comp.compilers
Date: 4 May 2007 13:18:23 -0400
Organization: Compilers Central
References: 07-04-074 07-04-098 07-04-120 07-04-149 07-04-153 07-04-155
Keywords: courses, Java
Posted-Date: 04 May 2007 13:18:23 EDT

Robert A Duff wrote:
{stuff deleted}
> By the way, if I were teaching a compiler course, I would use OCaml or
> Ada, neither of which is perfect. I would not use C or C++, and
> probably not Java. As others have said, the goal is to teach general
> principles about compilers, not to waste time fooling about with
> low-level debugging.


I would give the students a complete working implementation and ask
them to modify it from parsing to code-gen to support new
features. I've personally learned a lot more by modifying and reading
good code than writing it from scratch.


In the past writing an interesting compiler was something you could
accomplish in a semester. These days there's so much you should cover
that there's no way to cover it all and have students produce a full
compiler end-to-end without having them cursing your course.


Alternatively, I'd ask students to compile a large chunk of Javascript
to .NET or the JVM. That's what I would consider the modern day
equivalent of the what was covered back in the "good old days" when
languages and machines were "simple". Another project of similar size
would be JVM/.NET to ARM JIT with GC.


I would not want students to write a compiler for a "modern" language
that produced native code end-to-end, or compile a "legacy" language end
to end. The former is too much work. The latter so dated as to be a
disservice.



Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.