Apuntes de Java: Introducción

Muchas veces he programado y publicado en Java y muchos de nuestros lectores me preguntan acerca de este lenguaje (que no conocen) y pues, decidí abrir esta sección que titulo como “apuntes de java” (y que espero no morir en el intento) para orientar un poco al que caiga aquí y no sepa o no tenga algo entendido con referente al lenguaje, y en esta ocasión, voy a dar un apunte un tanto introductorio.

Solemos siempre hablar de programas hechos en C y C++, además de aplicaciones web hechas en PHP o ASP, y dejamos casi siempre de lado a Java como un lenguaje de programación muy tedioso y de poca carga o lentísimo, limitado exclusivamente a las aplicaciones Desktop como su homologo par de C++, o muchas veces pensamos que el concepto web de Java sólo abarca hasta los applets, por lo que basado en mi experiencia personal voy a listar y desambiguar algunas cosas que se piensa de Java y dar alguno que otro aporte.

Pueden haber cosas erradas, ya que me estoy basando en varios libros y algo de lo que se personalmente de este lenguaje, así que si algo no entiendes del todo, te agradecería preguntarlo.

Denominaciones Generales:

¿Qué es Java?
Java es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a principios de los años 90. 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, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria. –Sacado de Wikipedia.

¿Cuándo se creó?
Java nació con el nombre de Oak en 1991, bajo el proyecto “Green”, de la empresa Sun Microsystems, e inicialmente fue usado para crear un sistema de Televisión que fuera independiente de plataforma (se quería acabar con el problema de C y C++ de que generaba un ejecutable que no era multiplataforma). El lenguaje Oak sólo fue de uso interno en la empresa, por eso no tenemos muchas referencias. Luego pasó a llamarse Java en 1995 y se difunde rápidamente, posteriormente saldría Java 2 (que no es más que la versión 1.2 de Java, denominada Java2 por los cambios significativos de la época).

Mitos y verdades acerca de Java:

Java deriva o tiene algún parentesco con el Javascript.
Falso, Java y JavaScript poco tienen que ver ya sea con alguna manera de programar o por la manera en que se crearon, en realidad Java fue creado por Sun Microsystems como un lenguaje completo con compilador y aplicaciones diversas a la informática, mientras que Javascript fue creado por Netscape (si mal no recuerdo inicialmente se llamó Livescript) como un lenguaje que pretende darle dinamismo al estático HTML de manera que el usuario podría interactuar mejor con las páginas webs, poco o nada tienen que ver.

Java es un Lenguaje creado para su uso en aplicaciones basadas en web gracias a sus applets.
Eso es cierto a medias, existen poderosas aplicaciones de Java para escritorio incluso más potentes que C y C++ por la simplicidad que se le da al manejo de Objetos y que no hace uso de punteros de la manera que lo hace C (hay quienes definen que en Java no hay punteros, pero eso lo debatiré en otro post). Y si tiene algún aporte gigante al sentido web, no es precisamente protagonista los applets, Incluso algunos se sorprenden al ver estos datos:

El Uso de Java:

  • 5% Applets
  • 45% Aplicaciones de escritorio (Aplicaciones Desktop)
  • 50% Aplicaciones de servidor (JSP, Servlets, EJB, etc)

Java no puede utilizarse en cualquier SO.
La realidad es que Java es un lenguaje multiplataforma (hay una frase famosa acerca de esto: “Write Once, Run everywhere”), aunque se podría debatir la totalidad del concepto de esto ya que entre uno y otro SO existen variaciones mínimas (como por ejemplo, la interpretación de gráficos) pero básicamente un programa hecho en Java desde Windows, debería correr perfectamente en Ubuntu que tenga la Máquina virtual de Java (el programa que ejecuta nuestros bytecode’s).

Java es Lento
Algo que muchos programadores dicen pero que no investigan antes de hablar, teóricamente no existe un cálculo eficiente y que demuestre del todo la lentitud o rapidez del programa, esto sumado a que tampoco se puede medir el rendimiento objetivamente, ya que lo que hace a Java más rápido o lento es la JVM y no las características del lenguaje en sí. En java, existen formas diferentes de ejecución, como puede ser que el JVM interprete el bytecode, o que se compile al cargarse en el programa, a lo que todo esto genera código nativo que maneja directamente el software, lo que hace la diferencia en cuán rápido pueda ser un programa escrito en Java.

Java es limitado
Por lo que decía en el primer mito, personalmente considero a Java como demasiado extenso, ya que no se detiene en crear aplicaciones de cierto tipo, e incluso se está extendiendo en sus sistemas empotrados o móviles. Creo que está más que claro que Java es un lenguaje del tipo “evolución” y que en las empresas está perfectamente reconocido además por ser de código abierto.

Curiosidades de Java:

  • Algunos creen que el nombre JAVA se definió en base a un acrónimo de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolshei.
  • Existe una teoría acerca del logo de Java, el cual es una taza humeante de café. Cuenta la leyenda que, por lo anterior, los creadores del lenguaje lo bautizaron y poco tiempo después, se enteraron que existe una isla llamada Java (Más info aquí) y que es famosa por su producción de café de calidad. Incluso en Estados Unidos existe una manera de pedir café: “a cup of java” demasiada coincidencia no?.

Iniciándonos en Java:

Para poder empezar a programar en Java sugeriría empezar por el lado del Java 2 Standard Edition
(J2SE de aquí en adelante), por lo que debemos descargarnos el kit de desarrollo de Java que incluye la JVM, el compilador “y todo eso que hace que exista la forma de crear java en tu PC”. Más info aquí.

Ahora, bien podríamos incluso crear nuestros programas de Java en Bloc de notas, pero personalmente me parece tedioso y además un desperdicio de la tecnología que hay hoy en día como los editores de texto avanzados como TextPad, o los IDE’s avanzados como NetBeans o Eclipse. Cualquiera de ellos sirve para programar en Java.

Nuestro Primer Programa En Java:

Hemos de saber que en Java todo tiene un orden que ayuda bastante a la hora de entender el código, por lo que para empezar, han de saber que toda clase, se llama igual que su archivo! … por ejemplo: si definimos una clase como MiPrimeraClase, al archivo debemos llamarlo: MiPrimeraClase.java.

Y entonces podremos empezar con el clásico Hola Mundo:

//Mi primera clase en Java
public class MiPrimeraClase{
       public static void main(String[]args){
         System.out.println("Hola Mundo");
       }
}

Explicación: En la primera línea podemos apreciar un comentario, pueden ser del tipo “//” o “/* */“  y en el resto del código lo que estamos haciendo es definir una clase llamada MiPrimeraClase, en donde definimos un método main (el cual es el ejecutor del programa en sí) que recibe como parámetro un arreglo de strings que corresponden a los argumentos con que se invoca el programa, y finalmente en la línea dentro de ese método le decimos al sistema, que despliegue vía consola el mensaje “Hola Mundo” (un string).

Espero que esta pequeña y compacta introducción le haya servido a alguien que se inicia en este mundo del Java, muchos de nosotros ya lo sabemos por lo que nos enseñan, pero hay gente que no lo sabe, espero poder seguir publicando más de estos Apuntes de Java acrecentando un poco la complejidad pero de manera entendible!. Ya saben, cualquier pregunta, dejenla nomá!

Saludos!!!