image-es-00-18

«Hola, Amigo. Soy el profesor Hans Noodles, jefe del Consejo Científico de la Galactic Rush, y también superviso nuestros esfuerzos para enseñarte a programar en Java».

«Hola, profesor Noodles».

«Quiero explicarte por qué Java es un lenguaje de programación tan bueno».

«Escucharás más de una vez que la principal ventaja de Java reside en su independencia de la plataforma. ¿Qué es eso y para qué sirve?, te preguntarás. Déjame dar un pequeño rodeo para explicártelo».

«Una ordenador solo puede ejecutar los comandos numéricos más simples. Cuando adiestramos a los perros, usamos órdenes como “Ven”, “Salta”, etc. para conseguir que el perro haga lo que queremos».

«En el caso de los ordenadores, los números son como esas órdenes. Cada comando está representado por un cierto número o código (a veces llamado código máquina)».

«No obstante, es muy difícil escribir un programa usando solo números, así que la gente inventó los lenguajes de programación y los compiladores. Un lenguaje de programación pueden comprenderlo tanto los humanos como los compiladores. Un compilador es un programa especial que convierte en código máquina un programa escrito en un lenguaje de programación».

«El programador normalmente escribe su programa en un lenguaje de programación y luego ejecuta un compilador, que convierte los archivos de código de programa escritos por el programador en un solo archivo de código máquina: el programa final (compilado)».

  • Programa en C++
  • Compilador
  • Código máquina

«El ordenador puede ejecutar inmediatamente el programa resultante, pero la mala noticia es que el código del programa final depende en gran medida del procesador y del sistema operativo. Esto significa que un programa compilado para Windows no funcionará en un móvil Android, por ejemplo».

«Entonces, si escribo un programa y lo compilo para Android, ¿no funcionará en Windows?».

«Así es».

«Ya veo».

«Sin embargo, Java adopta una estrategia mucho más innovadora».

  • Programa en Java
  • Compilador de Java
  • Código especial independiente de la plataforma (bytecode)
  • JVM
  • Código máquina

«Un compilador de Java no compila todas las clases en un programa de código máquina. Por el contrario, compila cada clase de forma independiente y, lo que es más, no las convierte en código máquina, sino en un código intermedio especial (conocido como bytecode). El bytecode se compila en código máquina cuando se inicia el programa».

«¿Y entonces quién compila el programa en código máquina cuando se está ejecutando?».

«De eso se encarga un programa especial llamado Java virtual machine (JVM), que debe iniciarse antes de ejecutar un programa en bytecode. La JVM compilará el bytecode en código máquina antes de ejecutar el programa».

«Muy interesante, pero ¿para qué hace falta eso?».

«Es una estrategia muy versátil y uno de los motivos de la preponderancia de Java».

«Esta solución permite que los programas escritos en Java se ejecuten en prácticamente cualquier dispositivo: ordenadores, teléfonos inteligentes, cajeros automáticos, tostadoras o incluso tarjetas de crédito».

«¡Impresionante!».

«Esta estrategia reporta muchas ventajas. Por eso todos los programas de Android están también escritos en Java. Gracias al rápido crecimiento de la industria de la telefonía móvil, Java domina las siguientes áreas de programación:

1) Empresarial: grandes aplicaciones orientadas a servidores para bancos, corporaciones, fondos de inversión, etc.

2) Móviles: desarrollo para móviles (teléfonos inteligentes, tabletas), gracias a Android.

3) Web: aunque el lenguaje PHP lidera en este segmento, Java se ha afianzado con una respetable presencia en el mercado.

4) Big Data (macrodatos): computación distribuida en clústeres que constan de miles de servidores.

5) Dispositivos inteligentes: programas para hogares inteligentes, dispositivos electrónicos, frigoríficos de IoT, etc.».

«Java no es solo un lenguaje, sino una especie de ecosistema: millones de módulos listos para utilizar que puedes usar en tu programa; miles de comunidades en Internet y foros donde puedes obtener ayuda o asesoramiento».

«Cuantos más programas en Java escribas, más respuestas encontrarás a la pregunta “¿Por qué en Java?”. Eso es todo por hoy».

«Gracias, profesor. Ha sido realmente interesante e inspirador».