|[16 earlier articles]|
|Re: Java compiler courses firstname.lastname@example.org (George Neuner) (2007-04-28)|
|Re: Java compiler courses DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-04-29)|
|Re: Java compiler courses email@example.com (glen herrmannsfeldt) (2007-04-29)|
|Re: Java compiler courses firstname.lastname@example.org (Marco van de Voort) (2007-05-10)|
|Re: Java compiler courses email@example.com (2007-05-11)|
|Re: Java compiler courses firstname.lastname@example.org (Chris Dollin) (2007-05-11)|
|Re: Java compiler courses email@example.com (glen herrmannsfeldt) (2007-05-11)|
|Re: Java compiler courses firstname.lastname@example.org (Eric) (2007-05-15)|
|From:||glen herrmannsfeldt <email@example.com>|
|Date:||Fri, 11 May 2007 12:41:01 -0800|
|References:||07-04-074 07-04-118 07-05-037|
|Posted-Date:||12 May 2007 23:30:14 EDT|
Marco van de Voort wrote:
> 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
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.
Return to the
Search the comp.compilers archives again.