Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Why we need other languages for JVM?

 
Sundar Ram
Ranch Hand
Posts: 102
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I found many other languages are gaining attention these days which can be used in JVM. For eg. Scala and Jython languages can be used in JVM.

Why we need a new language for JVM when we have Java? Is there any severe limitation in Java?

Throw your opinions.

~ Sundar ~
 
Sundar Ram
Ranch Hand
Posts: 102
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Few more languages for JVM: Groovy, JRuby and Jacl.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15279
39
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Java is a very good general-purpose programming language with which you can make (almost) any software you like. However, there are other programming languages which might be better for certain kinds of jobs, because they for example help you to write your software a lot quicker or make it less complicated.

Ruby for example is becoming very popular because of the Rails framework, with which you can write web applications very quickly. The programming language Ruby has a number of very interesting features that Java doesn't have, and on the other hand has Java a number of things that Ruby doesn't.

Scala supports functional programming. So for people who want to do functional programming, Scala is better suited than Java.

Use the right tool for the job - and there isn't one tool (Java) which is the best tool for all jobs.

In the beginning, the JVM wasn't that great - Java 1.0 was quite slow. But during the years, the JVM has evolved a lot and it's now a very good high-performance platform with advanced and efficient garbage collection algorithms. It seems like a good idea to reuse that great platform for other languages than Java.
 
Ulf Dittmer
Rancher
Posts: 42967
73
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Use the right tool for the job - and there isn't one tool (Java) which is the best tool for all jobs.

+1.

Just because a tool CAN be used to solve a problem doesn't mean is SHOULD be used (insert obligatory joke about using a hammer in conjunction with screws here).

A while ago I wrote a Java API for a Prolog implementation (it's here, to be so bold as to strut my own stuff) because some problems are very easy to solve in Prolog, but would require substantial programming in Java.

Another example would OS-specific languages, e.g. there's now an implementation of the Java 6 Scripting API for the Mac OS AppleScript language. It can do all kinds of cool Mac-specific stuff that would not be possible to do in Java without extensive JNI programming.
 
Bill Shirley
Ranch Hand
Posts: 457
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There are limitations with all computer languages.

They are designed with the give and take aimed at solving a particular (or general) solution.

You question could begin to be answered in a semester-long course on computer languages. (Which I suggest highly)
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic