El Lenguaje de programación Java, al inicio desarrollado por Sun Microsystems (ahora ORACLE) fue iniciado por James Gosling y publicado el 1995 como el componente principal de Sun Microsystems’ Java platform (Java 1.0 [J2SE]).

La ultima versión estable de Java Standard Edition es Java SE 8. Con el avance de Java y su esparcida popularidad, muchas configuraciones fueron creadas para satisfacer varias tipos de plataforma. Por ejemplo:

  • J2EE for Enterprise Applications
  • J2ME for Mobile Applications

Las nuevas versiones de J2 fueron nombradas como Java SE, Java EE y Java ME. Java esta garantizado para ser “Escribe una vez, corre en cualquier lugar”

  • Orientado a objetos: En Java todo es un objeto. Java puede ser fácilmente extendido ya que todo es un objeto
  • Independiente a la plataforma: A diferencia  de muchos otros lenguajes de programación incluyendo C y C++, Cuando se compila Java, no se compila en una máquina con una plataforma específica , sino en un código de byte independiente de la plataforma. Este código de bytes se distribuye a través de la web e interpretado por la Máquina Virtual (JVM) en cualquier plataforma en la que se ejecute.
  • Simple: Java es diseñado para ser fácil de aprender. Si buscas entender los conceptos básicos de Programación Orientada a Objetos, será fácil hacerlo.
  • Secure: Con la función segura de Java, se permite desarrollar sistemas libres de virus y libre de manipulaciones. Las técnicas de autenticación se basan en el cifrado de clave pública.
  • Arquitectura Neutral – El Compilador de Java Genera  archivos objeto que convierte el código compilado en ejecutable en muchos procesadores donde se tenga Java Runtime Environment
  • Portable:  Teniendo una arquitectura neutral y  sin implementaciones dependientes de aspectos e especificaciones  hace Java portable. El compilador en Java  esta escrito en ANSI C manteniendo la limpieza y la portabilidad.
  • Robusto: Java hace un esfuerzo para eliminar situaciones propensas a errores enfatizando principalmente en la comprobación de errores de tiempo de compilación y la comprobación de tiempo de ejecución.
  • Multiproceso: Con la función de multiproceso de Java es posible escribir programas que pueden realizar muchas tareas simultáneamente. Esta característica de diseño permite a los desarrolladores construir aplicaciones interactivas que pueden funcionar sin problemas.
  • Interpretado: El byte code de Java es traducido al vuelo a lenguaje maquina nativo  y no se hospeda en ningún lugar. El desarrollo de procesos es mas rápido y analítico.
  • Alto Desempeño: Con el uso de compiladores Just-In-Time, Java habilita funciones de alto desempeño.
  • Distribuido: Java esta Diseñado para el ambiente distribuido de internet.
  • Dinamico: Java es considerado mas dinámico que C o C++, ya que desde sus inicios fue diseñado para adaptarse a un ambiente envolvente.

Historia de Java

En junio de 1991 James Gosling inicio el proyecto del lenguaje Java. Inicialmente llamado “Oak” (Roble en ingles)  por un un roble que estaba fuera de La Oficina de Gosling, hasta que fue renombrado como Java por una lista de palabras al azar.

Sun publico la primera implementación de Java 1.0 el 1995 con la promesa de escribir una vez y correr en cualquier parte (Write Once, Run Anywhere (WORA)).

El 13 de noviembre del 2006 Sun publico gran parte del código de Java como Software Libre bajo los términos de la licencia “GNU General Public License (GPL)”

En Mayo 8 de 2007, Sun termino el proceso de hacer todo el código del Núcleo de Java como Software Libre a excepción de una pequeña porción del código del cual Sun no propietario.

Herramientas que requieres

Para desarrollar y ejecutar los ejemplos que usaremos aquí  necesitas una maquina con una Pentium 200MHz con una computadora con un mínimo de 64 MB de RAM (128 MB de RAM recomendado). Cualquier computadora moderna será suficiente.

También necesitaras el siguiente software:

  • GNU/Linux o Windows XP/7/8/8.1/10  (Usaremos GNU/Linux en este curso ya que no tiene costo de licenciamiento (Como es el caso de Windows) y es una plataforma rápida y sencilla para desarrollar, especificamente Ubuntu 16.04. Si usas windows no te apures, todos nuestros ejemplos funcionaran en cualquier sistema operativo)
  • Java JDK 8
  • Algún editor de texto como SublimeText, Gedit, Notepad++

Al terminar este curso tendrás las herramientas necesarias para la GUI, Networking y aplicaciones web usando Java.

¿Qué sigue?

El siguiente capitulo nos mostrara como obtener Java y su documentación para mostrar las instrucciones para instalar Java y preparar un ambiente de desarrollo para aplicaciones Java.