Java > Scala

Jonathan M Davis jmdavisProg at gmx.com
Sat Dec 17 21:01:24 PST 2011


On Saturday, December 17, 2011 22:45:51 Caligo wrote:
> On Fri, Dec 2, 2011 at 2:19 AM, Russel Winder <russel at russel.org.uk> wrote:
> > Java is the main language of development just now.  D is a tiny little
> > backwater in the nether regions of obscurity.  If any language is a joke
> > here, it is D since it is currently unable to claim any serious market
> > share in the world of development.  The sooner you accept this, the
> > sooner you can discuss the shortcomings of a language you have no
> > experience of, by your own admission.
> > 
> > Your point about how languages become popular has some merit, albeit
> > stated in an overly bigoted fashion.
> 
> That's like saying people should take Coke and Pepsi more seriously because
> they have bigger market shares when in reality all you need is water.
> Money isn't real, you know?
> 
> D is already a success, a BIG success.  Walter and Andrei (and the amazing
> community, of course) have created a programming language that is light
> years ahead of C++, Java and Go.
> 
> I don't think you know this, but every high school student who takes a
> computer science course is required to learn Java.  It doesn't stop there:
> in college and university it's all Java, too, and this has been going on
> for almost two decades.  And before Java it was mostly C++, but it was
> phased out.  Unless the course specifically requires a different
> programming language (which is rare), you have to beg to use a different
> programming language (which I did).  Sometimes professors do allow other
> programming languages, but they mostly limit it to C/C++.  In most cases
> students either have to accept it and do what they are told to do, or fail
> the course.  If that's not indoctrination, I don't know what is.  Also, the
> reason they restrict education to things like Java and C++ has very little
> to do with the fact that those languages have claimed big market share;
> rather, it's because corporations have had a vested interest in
> universities in the first place and they receive what they order.  Just
> look at what Microsoft has been doing in universities: everything from
> "free" gifts such as free copies of Windows OS and Visual Studio Ultimate
> that cost thousands of dollars to sponsoring various kinds of events.  The
> students who are influenced by such tactics, to whom do you think they are
> going to be loyal to?
> 
> The _main point_ here is that if students had been give the choice to learn
> a programming language of their choosing, many of the so called
> "successful" programming languages would not have been so "successful"
> today.  So next time you decide to lecture someone on how popular or
> "successful" Java is, just remember how it got to be so "successful".

In my experience, it's the professors who get to choose what they're teaching 
and the main reason that Java is used is a combination of its simplicitly and 
the fact that it's heavily used in the industry. C and C++ have a lot more 
pitfalls which make learning harder for newbie programmers. Java does more for 
you (like garbage collection instead of manual memory management) and has 
fewer ways to completely screw yourself over, so it makes more sense as a 
teaching language than C or C++. And since the primary focus is teaching the 
principles of computer science rather than a particular programming language, 
the exact language usually doesn't matter much.

Now, this _does_ have the effect that the majority of college students are most 
familiar and comfortable with Java, and so that's what they're generally going 
to use (so there _is_ a lot of indoctrination in that sense), but that's 
pretty much inevitable. You use what you know. Ultimately though, that's 
what's likely to happen with most any university simply because teaching 
programming languages is not the focus - teaching computer science is. And for 
most of that, the language isn't particularly relevant.

And Java was successful before they started using it in universities, or it 
likely wouldn't have been used much in them in the first place. It's just that 
that has a feedback effect, since the increased used in universities tends to 
increase its use in industry, which tends to then make the universities more 
likely to select it or to stick with it as long as they don't have a solid 
reason to switch. But I believe that the initial switch was a combination of 
the fact that its popularity in industry was increasing and the fact that it 
works much better as a teaching language than C or C++. It's not because of 
anything that corporations did (aside from saying that they used it), since 
Java isn't a language where donating stuff or discounting really helps (unlike 
C++), since almost all of the tools for Java are free.

- Jonathan M Davis


More information about the Digitalmars-d mailing list