Related articles |
---|
[16 earlier articles] |
Re: Java compiler courses gneuner2@comcast.net (George Neuner) (2007-04-28) |
Re: Java compiler courses DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-29) |
Re: Java compiler courses gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-04-29) |
Re: Java compiler courses marcov@stack.nl (Marco van de Voort) (2007-05-10) |
Re: Java compiler courses torbenm@app-2.diku.dk (2007-05-11) |
Re: Java compiler courses chris.dollin@hp.com (Chris Dollin) (2007-05-11) |
Re: Java compiler courses gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-05-11) |
Re: Java compiler courses englere_geo@yahoo.com (Eric) (2007-05-15) |
From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | Fri, 11 May 2007 12:41:01 -0800 |
Organization: | Compilers Central |
References: | 07-04-074 07-04-118 07-05-037 |
Keywords: | Java, courses |
Posted-Date: | 12 May 2007 23:30:14 EDT |
Marco van de Voort wrote:
(snip)
> I somewhat wonder why people think that Java is easier to learn than
> C. 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).
I think that depends on how you teach Java. If you teach it as
a replacement for C, I don't think it is much different.
> They consistently found C easier to handle. The reason was pretty
> simple, more transparant, less knowledge required for an initial
> program (of any kind). 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.
For a minimal program, you don't need any much inheritance, and you
don't even need to understand it. Similarly, you don't need to
understand what #include <stdio.h> does to start writing C. I would
say it isn't so much the difference in the language as the way people
want to teach it.
I would say that Object reference trees are easier to understand
and debug than C pointer trees, but not so much different.
> Now, I agree that this is partially due to the tools and
> libraries. (with all their form designing logic) But I don't assume
> people writing this here are using special educational versions of
> Java?
I would say teaching the C library, including proper handling of null
terminated strings, is harder to teach than the equivalent parts of
the Java library. If you took a C course and substituted Java in
place of C, the appropriate Java library routines in place of C
library routines, etc., I think it would work and take about the same
amount of time to learn.
(Note that Java is closer to C than C++ is to C.)
But I don't think that is the way people teach Java. I didn't
learn Java from a class, and my Java programs probably look
more like C than they should.
-- glen
Return to the
comp.compilers page.
Search the
comp.compilers archives again.