Re: choosing a teaching language, was Java compiler courses

Hans-Peter Diettrich <DrDiettrich1@aol.com>
Fri, 11 May 2007 08:24:52 +0200

          From comp.compilers

Related articles
Java compiler courses wookiz@hotmail.com (wooks) (2007-04-20)
Re: Java compiler courses usenet@gmx.info (Michael Klemm) (2007-04-26)
Re: Java compiler courses marcov@stack.nl (Marco van de Voort) (2007-05-10)
Re: choosing a teaching language, was Java compiler courses DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-05-11)
Re: choosing a teaching language, was Java compiler courses cdsmith@twu.net (Chris Smith) (2007-05-12)
Re: choosing a teaching language, was Java compiler courses gah@ugcs.caltech.edu (glen herrmannsfeldt) (2007-05-13)
Re: choosing a teaching language, was Java compiler courses kenney@cix.compulink.co.uk (2007-05-14)
Re: choosing a teaching language, was Java compiler courses marcov@stack.nl (Marco van de Voort) (2007-05-15)
Re: choosing a teaching language, was Java compiler courses DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-05-16)
Re: choosing a teaching language, was Java compiler courses DrDiettrich1@aol.com (Hans-Peter Diettrich) (2007-05-16)
| List of all articles for this month |

From: Hans-Peter Diettrich <DrDiettrich1@aol.com>
Newsgroups: comp.compilers
Date: Fri, 11 May 2007 08:24:52 +0200
Organization: Compilers Central
References: 07-04-074 07-04-118 07-05-037
Keywords: courses

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).
>
> They consistently found C easier to handle. The reason was pretty
> simple, more transparant, less knowledge required for an initial
> program (of any kind).


Then you should choose Basic, if you expect that your audience will
immediately understand how to use a language for writing programs.


> 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.


In this case your audience has to understand too much at once:
- writing programs
- writing structured code
- using subroutines
- using pointers (or references)
- using OOP
- using powerful libraries
- designing event driven GUI's
and possibly more less obvious things.


Would people with a COBOL background have had less problems, to move to
C or Java?


> 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?


Doesn't writing compilers require, or at least profit, from using
appropriate languages? At least I cannot imagine to write n compiler
in Basic (without extensions), whereas Pascal is well suited for such
an task, without a need for using any additional library.


The use of libraries IMO is an important detail, when talking about
learning and mastering languages. C is a bare bone language without a
library, lacking such fundamental things like string handling and I/O.
The same for C++ or Java, these also are useless without additional
libraries, even if the languages have more features than e.g. C or
Basic. When people have to learn the fundamental library structures
and functions, in addition to a programming language itself, it IMO
doesn't make a difference whether the language is kind of assembly
language or C, honestly. Look at the interface or implementation of a
library - just the declaration syntax of C is better suited to hide
things before the reader, than to explain them. Add the C standard
header files, and their #defines, and try to count only the key
"words", which a person has to learn AND to remember, before she can
read or write useful C code. Then do the same for Java, certainly with
similar results, and then for Pascal...


DoDi



Post a followup to this message

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