Re: Java compiler courses

Chris Dollin <>
Fri, 11 May 2007 09:01:32 +0100

          From comp.compilers

Related articles
[15 earlier articles]
Re: Java compiler courses (Hans-Peter Diettrich) (2007-04-27)
Re: Java compiler courses (George Neuner) (2007-04-28)
Re: Java compiler courses (Hans-Peter Diettrich) (2007-04-29)
Re: Java compiler courses (glen herrmannsfeldt) (2007-04-29)
Re: Java compiler courses (Marco van de Voort) (2007-05-10)
Re: Java compiler courses (2007-05-11)
Re: Java compiler courses (Chris Dollin) (2007-05-11)
Re: Java compiler courses (glen herrmannsfeldt) (2007-05-11)
Re: Java compiler courses (Eric) (2007-05-15)
| List of all articles for this month |

From: Chris Dollin <>
Newsgroups: comp.compilers
Date: Fri, 11 May 2007 09:01:32 +0100
Organization: HP labs, Bristol
References: 07-04-074 07-04-118 07-05-037
Keywords: Java, courses
Posted-Date: 12 May 2007 23:29:28 EDT

Marco van de Voort wrote:

> On 2007-04-26, Michael Klemm <> wrote:
>> From my experience (tutor for compiler construction both in C and
>> later in Java), the students are able to produce a more stable
>> compiler in Java more quickly than in C. For Java, all gory details
>> that make programming tough (esp. memory management) comes almost for
>> free.
> I somewhat wonder why people think that Java is easier to learn than
> C.

I don't know if Java is easier to /learn/ than C. It depends a bit what
you count, since Java has a /much/ larger set of libraries and suffers
less from portability issues. I think Java is easier to /use/ than C,
because it suffers rather less from one-wrong-step-and-cut-your-throat.

> In ome of my classes I found the opposite (which surprised me too),
> specially if the students had no prior IT knowledge (they were classes
> for graduated non IT bachelors).
> They consistently found C easier to handle. The reason was pretty
> simple, more transparant, less knowledge required for an initial
> program (of any kind).

That depends, I think, on how one gets taught. The initial C program

        #include <stdio.h>

        int main(void)
                printf( "Hello, world!\n" );
                return 0;

and the parallel Java program

        public class HelloWorld
                public static int main( String [] args )
                        System.out.println( "Hello, world!" );

aren't /that/ different to a beginner.

> We had them doing walking pointer trees in 5 weeks, while in the
> paralel Java class they were still struggling with inheritance, and
> explaining what was needed to make a minimal program.

Then IMAO someone misfabricated the Java course.

I can't decide whether I'd start people off with an IDE or stick with
the command-line. Pros and cons, cons and pros ...

"It is seldom good news." ~Crystal Ball~, /The Tough Guide to Fantasyland/

Post a followup to this message

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