Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 1990. Estas aplicaciones "Java" están típicamente compiladas en lo que llamamos un "bytecode", aunque la compilación en código máquina también es posible.
En el tiempo de ejecución, el
bytecode es normalmente interpretado o compilado a código nativo para la ejecución, aunque la ejecución directa por hardware del bytecode por un procesador Java también es posible.
El lenguaje en sí mismo toma mucha de
su sintaxis de
C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel como punteros.
JavaScript, un lenguaje interpretado, comparte un nombre similar y una sintaxis similar, pero no está directamente relacionado con Java.
Sun Microsystems proporciona una implementación GNU General Public License de un
compilador Java y una
máquina virtual Java, conforme a las especificaciones del Java Community Process, aunque la biblioteca de clases que se requiere para ejecutar los programas Java no es software libre.
Entre noviembre de 2006 y mayo de 2007, Sun Microsystems liberó la mayor parte de sus tecnologías Java bajo la licencia
GNU GPL, de acuerdo con las especificaciones del Java Community Process, de tal forma que prácticamente todo el Java de Sun es ahora software libre.
El Lenguaje * En un sentido estricto, Java no es un lenguaje absolutamente orientado a objetos, a diferencia de, por ejemplo, Ruby o Smalltalk. Por motivos de eficiencia, Java ha relajado en cierta medida el paradigma de orientación a objetos, y así por ejemplo, no todos los valores son objetos.
* El código Java puede ser a veces redundante en comparación con otros lenguajes. Esto es en parte debido a las frecuentes declaraciones de tipos y conversiones de tipo manual (casting). También se debe a que no se dispone de operadores sobrecargados, y a una sintaxis relativamente simple. Sin embargo, J2SE 5.0 introduce elementos para tratar de reducir la redundancia, como una nueva construcción para los bucles ‘’’foreach’’’.
* A diferencia de C++, Java no dispone de operadores de sobrecarga definidos por el usuario. Sin embargo esta fue una decisión de diseño que puede verse como una ventaja, ya que esta característica puede hacer los programas difíciles de leer y mantener.
¿Hasta donde Java es Software libre?
En diciembre de 2006, Sun está en pleno relanzamiento de su plataforma Java bajo la GPL de GNU. Cuando este cambio de licencia haya terminado, esperamos que Java ya no sea una trampa. A pesar de eso, el problema general descrito aquí seguirá siendo importante, porque cualquier biblioteca no libre o plataforma de programación puede causar un problema similar. Debemos aprender una lección de la historia del Java, para poder evitar otras trampas en el futuro.
Espero que hayan entendido!

Esta bueno esto de Java, para aprender un poco más. Más tarde iré ampliando algo de información! Hasta otra!
