views:

174

answers:

4

Why is Java the most used programming language ? Why are the most programmers jobs for Java ?

Don't get me wrong here ? I like Java and I work in Java ? I don't have anything against it ?

Also, I'm trying to learn some other stuff out of the OOP box, like Clojure with its functional programming.

But, I'm wondering, why is Java number one ? I mean, dynamic languages (Ruby, Python, Php, JavaScript) people says that static types languages (Java, C/C++, C#) people envy them for their productivity ? They say they get the job done faster...

Ok then, if dynamic languages are more productive, how come Java stands where it stands ?

A: 

Some of the factors that have given Java its popularity are:

  • Its Maturity
  • Easiness to learn
  • Great API

Also, due to its philosophy of "Write Once Run Everywhere", Java programs are extremely portable and the Java platform itself is quite mature, in terms of the kind of applications that can be developed with it; not to mention the plethora of new languages that are being developed to run on the JVM.

Remember, most used, doesn't mean better; for many purposes you'll find that Java simple falls short of a viable solution.

StudiousJoseph
+2  A: 

Just off the top of my head...

  • Huge potential user base.
  • Large set of libraries.
  • Established community.
  • Fast VM.
  • Platform independent.
  • It's free.
  • It's been around for ages.
Greg Sexton
where ages = 1993 or so? :P It's one of the more recent languages, actually. Most popular programming languages in current use date from the 70s and 80s. I think Haskell and C# are the most popular ones from the late 90s.
Paul Nathan
i.e. people use it because other people use it
Adam
@Paul. Ok it's not _that_ old, but it sure feels like it's been around a long time. :)
Greg Sexton
+3  A: 
  • Typically it's easier for people to conceptualize in imperative languages with garbage collection (C#, Java)
  • Spolsky considers Java to be an easy language, he has a famous post on it.
  • Java is well-defined and thus easier for formal analysis efforts
  • Java runs on most modern platforms without massive grief
  • Java is "enterprisey", by which I mean it seems to be heavily adopted and developed by large corporations, which, due to sort of a best-practice risk-minimization approach, means other large corporations will also use it.
  • Java is taught in many universities.
Paul Nathan
I would say the last one is a huge reason; java is taught at every school in my county.
TheLQ
Lord.Quackstar - the CS courses (with the exception of one class Programming in Java -- though we also have classes in Perl and FORTRAN) at my school are all C, C++, and MIPS/x86 assembly.
bowenl2
I was talking about the High school level
TheLQ
+3  A: 
  • It was backed by a major commercial company Sun -- which other business value when decided on adopting such things.

  • It continued in the syntactic tradition of C++ -- already a widely used language at the time. In many ways, it was sold as a far improved C++.

  • It came with batteries included -- the framework.

  • Superb marketing effort of write once / run everywhere (platform independence).

  • The fear of Microsoft's dominance at the time forced a lot of companies to collaborate in the Java endeavor, notably IBM.

I don't think other languages on your list had these qualities (even if I fall into the dynamic/productivity camp). Arguably Python filled some of those niches at the time.

ars
i like "It continued in the syntactic tradition of C++" thats how i got started on java ;)and "write once / run everywhere"nice reply
Belun
@ars: you forgot the bullet-proof VM that renders buffer overflow/buffer overrun a thing of the past, which instantly fixed 99% of the security issues software developed in C and C++ had been having (the only known Java buffer overrun/overflow have been found in... C-written libs ;) Sun always *sucked* at marketing: the JVM **IS** a wonderful tour-de-force by Sun, but it won on merit (for example for the reason I stated previously), not on the lame way Sun marketed it.
NoozNooz42
@NoozNooz42: I understand and agree. But I can also point to many wonderful and meritorious technologies that did not win in other arenas, and many poor technologies that did win. Let's compromise and say it was a combination of marketing and technical merit. :)
ars