Infografia de Java

INFOGRAFIA

1. http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Java

2. Libro: Java 2, Curso de Programación
Autor: Javier Ceballos Sierra

3. http://java.com/es/download/whatis_java.jsp

4. Microsoft ® Encarta ® 2008. © 1993-2007 Microsoft Corporation. Reservados todos los derechos.

5. http://www.desarrolloweb.com/articulos/497.php

6. http://www.monografias.com/trabajos/java/java.shtml

7. http://www.javahispano.org/contenidos/es/que_es_java/

8. http://www.softonic.com/windows/entornos-de-desarrollo.

9. http://pjsml.50megs.com/java/entorno.html

10. http://prog-asm.blogspot.com/2007/06/entornos-de-java.html

11. http://www.alegsa.com.ar/Dic/jbuilder.php

12. www.uv.es/~jgutierr/MySQL_Java/TutorialEclipse.pdf

IDES

 

IDES

“Los IDEs (Integrated Development Environment), tal y como su nombre indica, son entornos de desarrollo integrados. En un mismo programa es posible escribir el código Java, compilarlo y ejecutarlo sin tener que cambiar de aplicación.

Estos entornos integrados permiten desarrollar las aplicaciones de forma mucho más rápida, incorporando en muchos casos librerías con componentes ya desarrollados, los cuales se incorporan al proyecto o programa.

Entre los gratuitos más conocidos, se puede nombrar a la aplicación JCreator y JBuilder (Personal Edition), la primera para sistemas operativos Windows y la segunda para Windows y Linux.  Además, en el sitio web de JCreator, se encuentra el link para bajar el J2SDK, necesario para compilar y ejecutar los programas en lenguaje java”.

·         Eclipse «es una plataforma de desarrollo open source basada en Java. Es un desarrollo de IBM cuyo código fuente fue puesto a disposición de los usuarios. En sí mismo Eclipse es un marco y un conjunto de servicios para construir un entorno de desarrollo a partir de componentes conectados (plug-in)».12

·         Hay plug-ins para el desarrollo de Java (JDT Java Development Tools) así como para el desarrollo en C/C++, COBOL, etc. La versión instalada en el laboratorio incluye el plug-in JDT. 

·         Jbuilder de Borland: “Entorno de desarrollo (IDE) para el lenguaje de programación Java de Borland. Fue creado en1995. Actualmente con el nombre de Borland JBuilder 2006, posee tres ediciones: la Enterprise, para aplicaciones J2EE, Web Services y struts. La Developer, para el desarrollo completo de aplicaciones Java, y la Foundation, con capacidades básicas para iniciarse en Java”.11

·         NetBeans es una aplicación de código abierto («open source») diseñada para el desarrollo de aplicaciones fácilmente portables entre las distintas plataformas, haciendo uso de la tecnología Java. Dispone de soporte para crear interfaces gráficas de forma visual, desarrollo de aplicaciones web, control de versiones, colaboración entre varias personas, creación de aplicaciones compatibles con teléfonos móviles, resaltado de sintaxis y por si fuera poco sus funcionalidades son ampliables mediante la instalación de packs.  En NetBeans encontrarás la solución más completa para programar en Java.

 

 

Java 2

 

JAVA 2

 

“Java se suele ver en lo que respecta a las tres plataformas como: Standard Edition (SE) Enterprise Edition (EE), y Micro Edition (ME). Cada una describe la combinación de una versión del lenguaje, un conjunto de librerías estándar, y la máquina virtual (mira más bajo) para ejecutar el código. EE es una ampliación de SE—cualquier programa EE puede asumir que existen las librerías de SE–y el uso del lenguaje en EE es idéntico que en SE.

A causa de las limitaciones de los aparatos pequeños como teléfonos o cajas set-top, Java Micro Edition difiere significativamente de sus “hermanos”. No es un subconjunto de SE (como SE lo es de EE), porque algunas de sus librerías existen sólo en Micro Edition. Además, ME elimina algunas características del lenguaje, como el tipo primitivo float y la clase Float, reflejando las limitaciones de las plataformas en las que se ejecuta. Necesita herramientas diferentes a SE y EE, y como las grandes diferencias en los aparatos hacen que la verdadera portabilidad del código este un poco más lejana en el espacio micro, muchos programadores de Java ven ME como un completo desconocido”.7

 

1: J2SEE

Desde J2SE 1.4, la evolución del lenguaje ha sido regulada por el JCP (Java Community Process), que usa Java Specification Requests (JSRs) para proponer y especificar cambios en la plataforma Java. El lenguaje en sí mismo está especificado en la Java Language Specification (JLS), o Especificación del Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901 el nombre «J2SE» (Java 2 Platform, Standard Edition), reemplazó a JDK para distinguir la plataforma base de J2EE. 1

“Es la versión Standard. Permite hacer aplicaciones normales de ordenador. Si estamos empezando, posiblemente es la que debemos bajarnos”.10

2: J2EE

 Java Platform, Enterprise Edition o Java EE (anteriormente conocido como Java 2 Platform, Enterprise Edition o J2EE hasta la versión 1.4), es una plataforma de programación—parte de la Plataforma Java—para desarrollar y ejecutar software de aplicaciones en Lenguaje de programación Java con arquitectura de N niveles distribuida, basándose ampliamente en componentes de software modulares ejecutándose sobre un servidor de aplicaciones. La plataforma Java EE está definida por una especificación. Similar a otras especificaciones del Java Community Process, Java EE es también considerada informalmente como un estándar debido a que los suministradores deben cumplir ciertos requisitos de conformidad para declarar que sus productos son conformes a Java EE; no obstante sin un estándar de ISO o ECMA”.1

Es la versión Enterprise. Sirve para hacer aplicaciones web. Si queremos esta, debemos bajarnos también el J2SE”.10

3: J2ME

La plataforma Java 2, Micro Edition, o Java ME (anteriormente J2ME), es una colección de APIs en Java orientadas a productos de consumo como PDAs, teléfonos móviles o electrodomésticos. “Sirve para móviles y similares pequeños que admitan java”.10

Java ME se ha convertido en una buena opción para crear juegos en teléfonos móviles debido a que se puede emular en un PC durante la fase de desarrollo y luego subirlos fácilmente al teléfono. Al utilizar tecnologías Java el desarrollo de aplicaciones o videojuegos con estas APIs resulta bastante económico de portar a otros dispositivos”.1

 

 

 

 

Proceso de Compilación

 

 

El código fuente Java se «compila» a un código de bytes de alto nivel independiente de la máquina. Este código (byte-codes) está diseñado para ejecutarse en una máquina hipotética que es implementada por un sistema run-time, que sí es dependiente de la máquina.

En algún punto, “el código Java ha de convertirse en código nativo ejecutable en la plataforma. Esto requiere normalmente dos pasos: el programador compila su código a Java bytecode, y después la máquina virtual de Java (JVM) lo convierte a código nativo para la plataforma host. Este ultimo paso está optimizado para ser interpretado—cogiendo cada instrucción de la JVM y convirtiéndola al momento en una o más instrucciones nativas. Después, los compiladores just-in-time (JIT) convertían el bytecode en código nativo cuando el programa empezaba su ejecución. Actualmente, hay diferentes enfoques. El compilador HotSpot de Sun empieza interpretando y perfilando el código en tiempo de ejecución, compilando y ejecutando las partes más críticas para el funcionamiento del programa. El «interprete de modo mixto» de IBM’s  JVMs funciona de forma similar. Estos enfoques evitan la optimización inicial supuestamente hecha de golpe por los compiladores JIT para todo el programa, lo que significa que la mejora en el rendimiento llega después de un tiempo, cuando las secciones de código críticas son localizadas y optimizadas. Los procesos que se ejecutan durante bastante tiempo en los servidores se benefician de este enfoque, aunque las programas de los clientes no tanto”.7

Como es el caso de los tipos primitivos, el ciclo de compilación de dos pasos de Java empieza a parecerse a una optimización prematura de algunos tipos críticos. Si estas dispuesto a esperar para compilar el Java Bytecode a código nativo, se preguntaron, ¿porque no librar al programador de un paso interpretando el código Java en vez del Java Bytecode? Como Tate señala en Beyond Java, «Java no es el lenguaje más simple. Ni le gusta hacer iteraciones cortas… Otros lenguajes te permiten moverte de un cambio al otro sin el engorroso ciclo de compilar/utilizar.»

 

 

 

 

 

Caracteristicas de Java

CARACTERISTICAS

·    Multiplataforma: Java es un lenguaje que es independiente de la plataforma, tanto el código fuente como en binario. Esto quiere decir que el código producido por el compilador Java puede transportarse a cualquier plataforma (Intel, Sparc, Motorola), que tenga instalada la maquina virtual de java. “La independencia de plataforma es una de las razones por las que Java es interesante para Internet, ya que muchas personas deben tener acceso con ordenadores distintos. Pero no se queda ahí, Java está desarrollándose incluso para distintos tipos de dispositivos además del ordenador como móviles, agendas y en general para cualquier cosa que se le ocurra a la industria“. 5

 

·    Simple: “Java ofrece toda la funcionalidad de un lenguaje potente, pero sin las características menos usadas y más confusas de éstos. C++ es un lenguaje que adolece de falta de seguridad, pero C y C++ son lenguajes más difundidos, por ello Java se diseñó para ser parecido a C++ y así facilitar un rápido y fácil aprendizaje.”6

 

·    Potente

 

·    Java también simplifica el uso de protocolos nuevos o actualizados. Si su sistema ejecuta una aplicación Java sobre la red y encuentra una pieza de la aplicación que no sabe manejar, tal como se ha explicado en párrafos anteriores, Java es capaz de traer automáticamente cualquiera de esas piezas que el sistema necesita para funcionar.6

·       Es una ventaja significativa para los desarrolladores de software, pues antes tenían que hacer un programa para cada sistema operativo, por ejemplo Windows, Linux, Apple, etc. Esto lo consigue porque se ha creado una Máquina de Java para cada sistema que hace de puente entre el sistema operativo y el programa de Java y posibilita que este último se entienda perfectamente. “No debes volver a escribir el código si quieres ejecutar el programa en otra máquina. Un solo código funciona para todos los browsers compatibles con Java o donde se tenga una Máquina Virtual de Java (Mac’s, PC’s, Sun’s, etc). “ 5

·    Portable: Más allá de la portabilidad básica por ser de arquitectura independiente, Java implementa otros estándares de portabilidad para facilitar el desarrollo. “Los enteros son siempre enteros y además, enteros de 32 bits en complemento a 2. Además, Java construye sus interfaces de usuario a través de un sistema abstracto de ventanas de forma que las ventanas puedan ser implantadas en entornos Unix, Pc o Mac”.6

·    Es un lenguaje  orientado a objetos (“OO”), se refiere a un método de programación y al diseño del lenguaje.

·     Distribuido: Proporciona las librerías y herramientas para que los programas puedan ser        distribuidos, es decir, que se corran en varias máquinas, interactuando. 6

·    Robusto: Java realiza verificaciones en busca de problemas tanto en tiempo de compilación como en tiempo de ejecución. La comprobación de tipos en Java ayuda a detectar errores, lo antes posible, en el ciclo de desarrollo. Java obliga a la declaración explícita de métodos, reduciendo así las posibilidades de error. Maneja la memoria para eliminar las preocupaciones por parte del programador de la liberación o corrupción de memoria. 6

·   Seguro: La seguridad en Java tiene dos facetas. En el lenguaje, características como los punteros o el casting implícito que hacen los compiladores de C y C++ se eliminan para prevenir el acceso ilegal a la memoria. Cuando se usa Java para crear un navegador, se combinan las características del lenguaje con protecciones de sentido común aplicadas al propio navegador. 6

 

·    Interpretado:

El intérprete Java (sistema run-time) puede ejecutar directamente el código objeto. Enlazar (linkar) un programa, normalmente, consume menos recursos que compilarlo, por lo que los desarrolladores con Java pasarán más tiempo desarrollando y menos esperando por el ordenador.6

·    Dinámico

Java se beneficia todo lo posible de la tecnología orientada a objetos. Java no intenta conectar todos los módulos que comprenden una aplicación hasta el tiempo de ejecución. 6

¿ Qué es Java?

 

ALGO DE HISTORIA…  

 

Sun Microsystems, “ líder en servidores para Internet, uno de cuyos lemas desde hace mucho tiempo es «the network is the computer» (lo que quiere dar a entender que el verdadero ordenador es la red en su conjunto y no cada máquina individual), es quien ha desarrollado el lenguaje Java, en un intento de resolver simultáneamente todos los problemas que se le plantean a los desarrolladores de software por la proliferación de arquitecturas incompatibles, tanto entre las diferentes máquinas como entre los diversos sistemas operativos y sistemas de ventanas que funcionaban sobre una misma máquina, añadiendo la dificultad de crear aplicaciones distribuidas en una red como Internet.”1

Cuando Java se introdujo de forma importante, aproximadamente 1995, fue cuando su uso en el diseño de web revoluciono la naturaleza de éstas, se ha extendido ampliamente en World Wide Web. 2

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.1

El término Java fue acuñado en una cafetería 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 creadores: 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 que Java debe su nombre a un tipo de café disponible en la cafetería cercana.1

 

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. Otros simplemente dicen que el nombre fue sacado al parecer de una lista aleatoria de palabras.1 

 

 
 

 

 

 

 

 

 

ALGUNOS CONCEPTOS…

 

*      Java es un lenguaje  de programación de alto nivel con el que se pueden escribir tantos programas convencionales como para internet, “es actualmente el lenguaje de programación más popular internet, es el producto ideal para desarrollar programas para la web.” 1

*      Java es también disponible para desarrollar aplicaciones de uso general; esto es, como muchos lenguajes, permite trabajar con todo tipo de datos, crear estructuras dinámicas, trabajar con ficheros, diseñar interfaces graficas, y otros.2

*      La tecnología Java se creó como una herramienta de programación

“Java le permite jugar en línea, participar en sesiones de chat con internautas de todo el mundo, calcular los intereses de una hipoteca y ver imágenes en tres dimensiones, entre otras muchas aplicaciones. Es también esencial para las aplicaciones de intranet y otras soluciones de comercio electrónico que constituyen la base informática de las empresas“.3

*      “Este lenguaje define una máquina virtual independiente de la plataforma donde se ejecuta, que procesa programas, llamados Applets, descargados desde el servidor Web. Además, debido al modo de ejecución de los Applets, este lenguaje es muy seguro frente a la presencia y ataque de virus informáticos“. 4