D vs Java

Sean Kelly sean at f4.ca
Fri Mar 24 13:44:36 PST 2006


Georg Wrede wrote:
> Sean Kelly wrote:
> 
> If (e.g.) doubling dollars per graduate (while, say, keeping graduation
> time constant) returns even 10% more output during the graduate's
> professional life, then I think the nation is a winner, no question. But
> try telling that to the politicians!

True.  It's pretty much futile to mention long-term benefit to the bean 
counters.  Though they do like to insist they should have been informed 
once things go wrong ;-)

>> but that aside... he said that recently there's been a push from the 
>> industry to re-instate C++ as a teaching language
> 
> I can understand this. Suppose I had to find 10 top-notch programmers
> for a demanding project with a deadline. (And to make the point clearer,
> it would be written neither in Java nor C++.) On my desk I have the
> applicatons of 20 top of the line CS graduates, half with honors in
> Java, half with honors in C++. No question I choose the latter.

Same here.  I also very much like to see indications that people are 
interested in the discipline beyond its use as a means to a paycheck, as 
it often means the difference between someone who will continue to 
improve over time and someone who won't.

> Learning Java is so easy that a mediocre person can easily achieve
> honors in it. It's just a matter of hard and motivated work. But getting
> honors in C++ is way different. To get that, one has to have fought the
> idiotic error messages, mastered all kinds of pointer gotchas, never
> gotten scared of mounds of intellectually challenging (and still 
> useless) trivial obstacles, thoroughly understood (the existence of,
> and properties of) the Computer Abstraction of C and C++, etc. And have
> repeatedly found productive ways of expressing oneself to the compiler
> and computer -- in spite of the language itself! By that time, you're a
> Real Programmer Candidate.

A while back I went looking for an up-to-date book on assembly 
programming and was surprised and disappointed to find that the only 
decent book--"The Art of Assembly Language"--deals almost exclusively 
with HLA (high-level assembly, a C-like language) because students 
apparently found learning actual assembly to be too difficult.  I feel 
very strongly that such compromises do the students a tremendous 
disservice and I sometimes wonder if we're producing a generation of 
Comp. Sci. graduates who haven't been taught much beyond some common 
data structure designs and the elementary use of a high-level language 
or two.  I know that education is largely what you make of it, but I'd 
prefer that universities teach subjects more deeply and produce fewer 
graduates than gloss over the details and graduate hordes of ignoramuses.

>> because it's used far more broadly than Java and companies wanted 
>> graduates to have experience in the language they were likely to use 
>> professionally.
> 
> Half of that is true. The unstated part is, it's way easier to teach
> Java to C++ programmers than the other way around, should the need arise.

True enough.

> When I had to choose university, my opinion on Philosophers was
> _literally_ "goofballs with their heads in the clouds or clueless
> name-droppers"! Too bad. In hindsight, I should've chosen it.

I felt much the same until I took a Philosophy course to fulfill a 
distributional requirement and was lucky enough to have a fantastic 
teacher.  And it is a fairly accurate stereotype regardless of the 
underlying material :-)


Sean



More information about the Digitalmars-d mailing list