Scala y Groovy al parecer no bastan, conforme pasa el tiempo siguen apareciendo nuevos lenguajes de programación que funcionan gracias a la máquina virtual Java.
Me parece bien la diversidad, pero creo también pueden llegar a confundir a más de uno tantos lenguajes.
¿No son suficientes los lenguajes de programación existentes? , ya sea variantes de C: C++, C#, y Objetive-C y otros más.
#include < stdio.h >
int suma(int a,b);
/* código en C*/
void main(){
int a=12, b=43;
printf("La suma de %d y %d es: %d",a,b,suma(a,b));
}
int suma(int a, int b){
return a+b;
}
Por lo general los lenguajes nuevos pretenden conservar la esencia de los lenguajes más usados. Por ejemplo el código equivalente en Ceylon sería algo así:
void run(){
Integer suma(Integer a, Integer b){
return a+b;
}
print("La suma de 12 y 43 sería " suma(12,43) " ");
}
Programar en Java si que es difícil, el lenguaje ha evolucionado mucho. Basta con ver la cantidad de librerías y frameworks que existen. Originalmente el lenguaje no estaba pensado para trabajar en aplicaciones Web, poco a poco fueron integrando nuevas tecnologías para competir con ASP y PHP.
Promesa de los nuevos lenguajes
Básicamente es seguir usando el API de Java, pero sin conservar su verbosidad, ser fáciles de aprender (ups ... ahi te hablan Clojure) y promover buenas prácticas.
Lista de lenguajes dependientes de la JVM
- Ceylon http://ceylon-lang.org/
- Clojure http://clojure.org/
- Gosu http://gosu-lang.org/
- Groovy http://groovy.codehaus.org/
- Kotlin http://confluence.jetbrains.net/display/Kotlin/Welcome
- JRuby http://jruby.org/
- Jython http://www.jython.org/downloads.html
- Scala http://www.scala-lang.org/