¿Qué es Java?
Java es un lenguaje de programación de propósito general, concurrente, orientado a objetos que fue diseñado específicamente para tener tan pocas dependencias de implementación como fuera posible. Su intención es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en inglés como WORA, o "write once, run anywhere"), lo que quiere decir que el código que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir de 2012, uno de los lenguajes de programación más populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.
Historia de Java
Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.
El lenguaje se denominó inicialmente Oak (por un roble que había fuera de la oficina de Gosling), luego pasó a denominarse Green tras descubrir que Oak era ya una marca comercial registrada para adaptadores de tarjetas gráficas y finalmente se renombró a Java.
Es frecuentada por algunos de los miembros del equipo. Pero no está claro si es un acrónimo o no, aunque algunas fuentes señalan que podría tratarse de las iniciales de sus diseñadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrónimo, Just Another Vague Acronym ("sólo otro acrónimo ambiguo más"). La hipótesis que más fuerza tiene es la de que Java debe su nombre a un tipo de café disponible en la cafetería cercana, de ahí que el icono de java sea una taza de café caliente. Un pequeño signo que da fuerza a esta teoría es que los 4 primeros bytes (el número mágico) de los archivos.class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teorías, el nombre fue sacado al parecer de una lista aleatoria de palabras.
Los objetivos de Gosling eran implementar una máquina virtual y un lenguaje con una estructura y sintaxis similar a C++. Entre junio y julio de 1994, tras una sesión maratoniana de tres días entre John Gaga, James Gosling, Patrick Naughton, Wayne Rosing y Eric Schmidt, el equipo reorientó la plataforma hacia la Web. Sintieron que la llegada del navegador web Mosaic, propiciaría que Internet se convirtiese en un medio interactivo, como el que pensaban era la televisión por cable. Naughton creó entonces un prototipo de navegador, WebRunner, que más tarde sería conocido como HotJava.
En 1994, se les hizo una demostración de HotJava y la plataforma Java a los ejecutivos de Sun. Java 1.0a pudo descargarse por primera vez en 1994, pero hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld, a que vieran la luz pública Java y HotJava, el navegador Web. El acontecimiento fue anunciado por John Gage, el Director Científico de Sun Microsystems. El acto estuvo acompañado por una pequeña sorpresa adicional, el anuncio por parte de Marc Andreessen, Vicepresidente Ejecutivo de Netscape, de que Java sería soportado en sus navegadores. El 9 de enero del año siguiente, 1996, Sun fundó el grupo empresarial JavaSoft para que se encargase del desarrollo tecnológico. Dos semanas más tarde la primera versión de Java fue publicada.
La promesa inicial de Gosling era Write Once, Run Anywhere (Escríbelo una vez, ejecútalo en cualquier lugar), proporcionando un lenguaje independiente de la plataforma y un entorno de ejecución (la JVM) ligero y gratuito para las plataformas más populares de forma que los binarios (bytecode) de las aplicaciones Java pudiesen ejecutarse en cualquier plataforma.
El entorno de ejecución era relativamente seguro y los principales navegadores web pronto incorporaron la posibilidad de ejecutar applets Java incrustadas en las páginas web.
Java ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de clases y paquetes que componen la biblioteca estándar.
Versiones y distribuciones de Java
Java, como la mayoría de los lenguajes, ha sufrido cambios a lo largo de su historia. Además, en cada momento han coexistido distintas versiones o distribuciones de Java con distintos fines. Actualmente puede considerarse que el Java vigente se denomina Java 2 y existen 3 distribuciones principales de Java 2, con ciertos aspectos comunes y ciertos aspectos divergentes.
Estas tres distribuciones son:
a) J2SE o simplemente Java SE: Java 2 Standard Edition o Java Standard Edition. Orientado al desarrollo de aplicaciones cliente / servidor. No incluye soporte a tecnologías para internet. Es la base para las otras distribuciones Java y es la plataforma que utilizaremos nosotros en este curso por ser la más utilizada.
b) J2EE: Java 2 Enterprise Edition. Orientado a empresas y a la integración entre sistemas. Incluye soporte a tecnologías para internet. Su base es J2SE.
c) J2ME: Java 2 Micro Edition. Orientado a pequeños dispositivos móviles (teléfonos, tabletas, etc.).
En esta imagen vemos, de forma orientativa, como J2EE “expande” a J2SE, mientras que J2ME “recorta” a J2SE al tiempo que tiene una fracción de contenido diferenciada exclusiva de J2ME. En realidad hablar de expansiones y recortes no es correcto, porque cada distribución es en sí misma distinta puesto que están concebidas con distintas finalidades. Por tanto no puede decirse que sean expansiones o recortes, pero de forma coloquial muchas veces se interpreta así.
Java hoy en día es más que un lenguaje de programación, como veremos más adelante. El lenguaje Java estándar ha experimentado numerosos cambios desde la versión primigenia, JDK 1.0, así como un enorme incremento en el número de recursos disponibles para los programadores Java. Podemos citar en la evolución del Java estándar:
- JDK 1.0 (1996): primer lanzamiento del lenguaje Java.
- JDK 1.1 (1997): mejora de la versión anterior.
- J2SE 1.2 (1998): ésta y las siguientes versiones fueron recogidas bajo la denominación Java 2 y el nombre "J2SE" (Java 2 Platform, Standard Edition), reemplazó a JDK para distinguir la plataforma base de J2EE (Java 2 Platform, Enterprise Edition) y J2ME (Java 2 Platform, Micro Edition). Incluyó distintas mejoras.
- J2SE 1.3 (2000): mejora de la versión anterior.
- J2SE 1.4 (2002): mejora de la versión anterior.
- J2SE 5.0 (2004): originalmente numerada 1.5, esta notación aún es usada en ocasiones. Mejora de la versión anterior.
- Java SE 6 (2006): en esta versión, Sun cambió el nombre "J2SE" por Java SE y eliminó el ".0" del número de versión. Mejora de la versión anterior.
- Java SE 7 (2011): nueva versión que mejora la anterior.
- Java SE 8 (2014): nueva versión que mejora la anterior. Incluye la posibilidad de embeber JavaScript con Java y mejoras en la gestión de fechas y tiempo.
- Java SE 9: nueva versión que mejora la anterior (en difusión).
- Java SE 10: nueva versión que mejora la anterior (todavía sin uso comercial).
En Java todas las versiones siguen los mismos estándares de datos, esto permite que un programa que hayamos hecho con una versión antigua, pueda ser ejecutado con una versión más nueva sin necesidad de ningún cambio.
Además de los cambios en el lenguaje en sí, con el paso de los años los recursos disponibles para los programadores Java que ofrece la empresa que desarrolla el lenguaje (antiguamente Sun MicroSystems, actualmente Oracle) han crecido enormemente. La denominada “biblioteca de clases de Java” (Java class library) ha pasado de ofrecer unos pocos cientos de clases en JDK 1.0 hasta cerca de 6000 en Java SE 8. Se han introducido recursos completamente nuevos, como Swing y Java2D, mientras que muchos de los métodos y clases originales de JDK 1.0 han dejado de utilizarse.
Cuando trabajamos con Java será frecuente que busquemos información “oficial” en internet. Cuando decimos oficial nos referimos a la que ofrece la propia empresa desarrolladora de Java. Cuando buscamos información sobre Java hay que tener cuidado respecto a a qué versión hace alusión la información. Por ejemplo, prueba a buscar “ArrayList java” o “ArrayList api java” en google, yahoo, bing o cualquier otro buscador. Un resultado posible es el siguiente (fíjate que en un caso es Java 1.4 y en otro Java SE 7):
- ArrayList (Java 2 Platform SE v1.4.2)
java.util. Class ArrayList. java.lang.Object extended by java.util.AbstractCollection extended by java.util.AbstractList extended by ...
download.oracle.com/javase/.../java/.../ArrayList.html - En caché - Similares
- ArrayList (Java Platform SE 7)
java.lang.Object extended by java.util.AbstractCollection<E> extended by ...
download.oracle.com/javase/7/.../java/.../ArrayList.html - En caché - Similares
IDEs para programar en Java
Definamos IDE
Proviene del idioma inglés significa Integrated Development Enviroment es lo mismo que decir Entorno de Desarrollo Integrado. Al final lo que esto significa es que es un conjunto de herramientas que han sido diseñadas para poder desenvolverse en uno o varios lenguajes de programación dentro de un mismo entorno (programa).
Netbeans
Comenzó como un proyecto estudiantil en la Charles University, Praga, Republica Checa. Originalmente era llamado Xelfi. Fue el primer IDE programado en Java bajo el nombre de Xelfi con su primer release en 1997. El nombre actual lo propuso Jarda Tulach en descripción a lo que buscaban hacer con el proyecto: Network + Java Beans = Netbeans.
Fue comprado por Sun Microsystems en 1999, gracias a ellos fue liberado en el 2000, convirtiéndose en un proyecto Open Source.
Algunas características:
- Hecho totalmente en Java usando la API de Swing, necesitas SDK para poder instalarlo.
- Moldeable según tus necesidades: puedes descargarle plugins para añadirle funcionalidades.
- Soporte para Multiples Lenguajes de programación: es posible programar en Ruby, C, C++, PHP... etc
- Asistencia para funciones básicas: El IDE trae múltiples asistentes que te facilitan tus tareas cotidianas al momento de programar o de publicar proyectos.
- Total integración con servidor de aplicaciones o contenedores Web: en la versión completa ya viene instalado el servidor de aplicaciones GlassFish y el contenedor web Apache Tomcat. Netbeans te fcilita la tarea de deployar tus proyectos y crear los recursos necesarios para que estos funcionen correctamente.
- Múltiples Sistemas Operativos: esta hecho en Java recuerden WORA ("write once run everywhere").
- Trae integrado el compilador con las tareas básicas (Apache Ant).
- Desarrollo Web simplificado: No tienes porque usar otro editor para páginas web o componentes web seguro netbeans tiene lo que necesitas y si no es así seguro que lo encuentras como plugin.
Eclipse
El proyecto Eclipse fue originalmente creado por IBM en Noviembre de 2001 y es apoyado por un consorico de proveedores de software. La fundación Eclipse fue fundada en Enero de 2004 como una corporción independiente libre de lucro para apoyar a la comunidad Eclipse.
Algunas características:
- Es extensible, puede añadirle una gran cantidad de plugins disponibles en la web.
- Es bastante práctico, fácil de usar.
- Viene con varios ejemplos que hacen posible aprender a utilizarlo de manera eficiente.
- Cuenta con bastante documentación disponible en la web oficial.
- Es el IDE open source oficial para Android.
JDeveloper
El IDE de Oracle para trabajar con Java, ellos mismos lo definen como un ambiente que simplifica el desarrollo de las aplicaciones SOA y JEE basadas en java. Para los lenguajes Java, HTML, XML, SQL, PL/SQL, Javascript, PHP, Oracle ADF, UML y otros. Es un software propietario pero gratuito desde 2005.
Algunas Características:
- Gratuito, pero tienes que estar suscrito a Oracle para poder descargarlo.
- Mejora de productividad: wizards para generar código repetitivo, arquitectura de aplicaciones preestablecidas, etc.
- Posee diagrama de clases(UML).
- Funciona en los siguientes sistemas operativos: Windows, Linux, Mac OSX.
IntelliJ Idea
IntelliJ IDEA es un IDE Java comercial de JetBrains. A menudo se refiere simplemente como "idea" o "IntelliJ". La primera versión de IntelliJ IDEA fue lanzado en enero de 2001, y en ese momento era el único disponible con el código de Java IDE de navegación avanzada y capacidades de código de refactorización integradas.
Caracteristicas:
- Generación de código en automático.
- Documentación del código.
- Diagramas de clases UML.
- Varios lenguajes admitidos: PHP, Coldfusion, Groovy, SQL, Ruby/JRuby, HTML/XHTML/CSS, etc.
- Existe versión gratuita y de paga.
JCreator
software comercial. Se pueden obtener versiones de prueba o versiones simplificadas gratuitas en la web http://www.jcreator.com. Este IDE está escrito en C++ y omite herramientas para desarrollos gráficos, lo cual lo hace más rápido y eficiente que otros IDEs.
BlueJ
BlueJ es un entorno integrado de desarrollo (de sus siglas en inglés IDE - Integrated Development Environment) para el lenguaje de programación Java, desarrollado principalmente con propósitos educacionales, pero también es adecuado para el desarrollo de software a pequeña escala.
BlueJ fue desarrollado para apoyar la enseñanza y el aprendizaje de la programación orientada a objetos, y como resultado, su diseño difiere de otros entornos de desarrollo. La pantalla principal muestra gráficamente la estructura de clases de una aplicación en desarrollo (en un diagrama muy parecido a UML), y los objetos pueden ser creados y probados interactivamente. Combinado con una interfaz de usuario simple, esta facilidad de interacción permite experimentar de manera fácil con los objetos en desarrollo. Los conceptos de la orientación a objetos (clases, objetos, comunicación a través de llamadas a métodos) son representadas visualmente en el diseño de interacción en la interfaz







No hay comentarios:
Publicar un comentario