At 10:20 08.06.2003 +0300, Stanislav Malyshev wrote:
HM>> Last time that I heard, in Ben-Gurion university, the first programming HM>> language was Java. That's a swell idea in my opinion. Java is HM>> feature-complete, you can't argue with that. It also means that students
I can. Too many times I have heard from Java guys working next door phrases like "This feature works starting with Java 1.x" and saw "This feature is deprecated".
Java itself, the language, hasn't changed since JDK 1.1 (released in 97 if I'm not mistaken).
Several important additions are planned for the next JDK1.5 - http://java.sun.com/features/2003/05/bloch_qa.html
HM>> hackers, I think it is extremely important to teach beginners to HM>> think object-oriented, even if all they'll ever use is an
I don't know why OO is the single concept that needs to be taught before all. Imagine the guy is going to be a relational DBA - how OO is going to help him there? OO is an important concept, but it is not the only concept in existance.
I agree, however students must be taught to *think* in an object oriented manner before they get stuck in procedural. It's rather hard to do the switch once you're used to procedural programming.
HM>> The basic stuff you need to teach people is algorithms and data HM>> structures. You want to save them from all the clutter around
Hear, hear! And C is actually _better_ for teaching data structures, because you can _feel_ how these data structures work. In Java, a lot of things are masked by "gc is going to make it for me" and "I don't need to know how hashes are working - I have standard class for that" and "I don't need to initialize - it will be null anyways".
I disagree. Why must I at all worry how big an int is going to be unless I'm doing some very low level programming? Why must beginners have to handle with the nontrivial issue of releasing memory? Or pointer arithmetics? Maybe my opinion doesn't mean much, but consider this - MIT, Caltech, TAU (yes, TAU is not in the same league, but I study there :-) ) and many other universities teach Scheme in their introduction to CS classes. Scheme has garbage collection, no pointer arithmetics, unboundedly (is that a word?) big integers/fractions. Heck, even arrays in Scheme were shown to us in a "by the way, there is also an O(1) access list in Scheme" way.
I wouldn't say Java is *the* best language to teach beginners (I would say Scheme is), but it's certainly not as bad as C (or worse, C++). As for teaching OO specifically, Java seems to be pretty good.
================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]
