Ciberaula - Cursos on-line   - Formación a empresas - E-learning - Consultoría de formación
Introducción
¿Qué es la Tecnología Java?
Java es un lenguaje de programación que ha desarrollado Sun Microsystems en un intento de obtener un lenguaje que tuviese un código bien estructurado y además resolviese los problemas que se le plantean a los desarrolladores de software por la proliferación de arquitecturas incompatibles, y teniendo en mente el desarrollo de aplicaciones por y para la Red de Redes, es decir, Internet.
El camino de Java no ha sido un camino recto ni mucho menos, inicialmente el lenguaje Java fue pensado para introducirlo en los chips de los electrodomésticos pero esto no dio los frutos esperados por lo que después de un tiempo Sun MycroSystem tomó la determinación de enfocar este lenguaje a un nueva tecnología en la que podía competir con el gigante Microsoft, Internet.El desarrollador del lenguaje Java, James Gosling, decidió crear un lenguaje de programación que fuese orientado a objetos pero que no tuviese los problemas que proporciona C++ a los desarrolladores, por lo que basándose en éste creó el Java. Es por todo esto que la plataforma Java está basada en el poder de las redes y en la idea de que el mismo software se debería poder ejecutar en muchos tipos distintos de ordenadores, aparatos de usuario y otros dispositivos.
Desde su liberación comercial en 1995, la tecnología Java ha crecido en popularidad y utilización debido a su verdadera portabilidad. Cualquier aplicación Java puede ser enviada por Internet, o cualquier otra red, sin problemas de compatibilidad con sistemas operativos o plataformas de hardware. Por ejemplo, podríamos ejecutar una aplicación Java sobre un PC, un Mac, un ordenador de red, o incluso en nuevas tecnologías como dispositivos de mano con acceso a Internet.
Además la plataforma Java fue diseñada para ejecutar programas de forma segura en la red, lo que significa que se integra de forma segura con los sistemas existentes en nuestras redes.
Para hacer que el Java fuese independiente de los ordenadores y de las plataformas los programas desarrollados en Java se ejecutan en un componente de la plataforma de Java llamado 'Máquina Virtual Java' (o JVM) -- un especie de traductor que convierte las instrucciones de la plataforma Java en comandos personalizados que hacen que el dispositivo haga su trabajo.Esto quiere decir que Java es un lenguaje interpretado, al contrario que C o C++, cuando se compila una aplicación Java no se genera código máquina, sino que se generan 'bytecode' que la Máquina Virtual Java convertirá en código máquina durante la ejecución de la aplicación.
Esto tiene ventajas y inconvenientes:
· Ventaja: Al no crear código máquina las aplicaciones son altamente portables, lo que quiere decir que podemos desarrollar nuestra aplicación en Linux y luego se podrá ejecutar en cualquier ordenador que disponga de una JVM.
· Inconveniente: La velocidad de ejecución. Al no crear código máquina, la aplicación debe cargar primero la JVM y luego ésta debe leer e interpretar los bytecode lo que provoca una menor velocidad de proceso, pero esto es una razón que cada vez pesa menos debido a la potencia y rapidez que desarrollan las nuevas máquinas.
Durante los años de existencia de Java ha sufrido transformaciones y cambios en las diferentes versiones que han salido al mercado: JDK1.0.x, JDK 1.1.x , JDK 1.2 (la que dio el nombre de Java2), JDK 1.3.x y la actual JDK 1.4.x. Esta última versión incorpora nuevos paquetes para el desarrollo de aplicaciones , aparte de los que ya existían en las versiones anteriores, en algunos casos mejorados. A grandes rasgos esta versión incorpora los paquetes para:
  • Paquetes básicos del lenguaje (java.lang,...);-Paquete que contiene utilidades para poder manejar estructuras de datos complejas (java.util,...);
  • Paquetes que nos proporcionan constantes y funciones matemáticas (java.math);
  • Paquetes para manejar ficheros y flujos de datos y la entrada (java.io);
  • Los nuevos paquetes para manejar los ficheros y las entradas y salidas de flujos (java.nio,...)
  • Paquetes para la creación de applets (java.applet);
  • Paquetes para la creación de GUI (java.awt, java.swing, ....);
  • Paquetes que nos facilitan la interacción con las bases de datos relacionales (java.sql);
  • Paquetes que con los que podremos crear componentes reusables (java.bean,...);
  • Paquetes especializados en la comunicación en redes locales (java.net);
  • Paquetes para la creación de aplicaciones remotas (java.rmi);
  • Paquetes para el trabajo con la seguridad (java.security,....);

Además de estos paquetes existen otros que sirven para crear aplicaciones CORBA (org.omg.CORBA...), para manejar ficheros XML (org.xml), así hasta un total de 135 paquetes y 2758 clases e interfaces. Tranquilo, no hay que conocer todas las clases que existen, cada programador se especializa en una parte más o menos extensa de Java y es ahí donde suele desarrollar su trabajo.
Pese que Java es un lenguaje pensado para Internet curiosamente el entorno de desarrollo para este área es una plataforma “independiente” del JDK 1.4 (j2sdk1.4.0) y es lo que Sun Microsystem denomina J2EE (Java 2 Enterprise Edition ).
En realidad J2EE es una especificación escrita por Sun Microsystem para el desarrollo de aplicaciones para empresas. J2EE 1.3 (la última versión, por ahora) nos permite crear aplicaciones con acceso a Base de Datos (JDBC), utilización de ficheros distribuidos (JNDI), acceso a métodos remostos (CORBA, RMI), funciones de correo electrónico (JavaMail) y aplicaciones Web (Servlets , JSP y EJB). De manera que ahora, mediante el J2EE, se puede crear aplicaciones para empresas e implementar servicios Web de una forma mucho más funcional.
¿Qué es la Sintaxis?
¿En qué consiste la sintaxis de Java?
Java es un lenguaje muy extenso con muchos paquetes clases, interfaces... Por lo que Ciberaula ha pensado sus cursos on-line de forma que sus alumnos se puedan capacitar en esta materia a través de módulos más pequeños y flexibles que los cursos de Java que se suelen impartir en las clases regladas.

En este caso, el curso que nos ocupa se denomina Sintaxis de Java, en él se trata a un nivel profundo y de una forma clara los fundamentos de Java: qué es el lenguaje de programación Java ; su instalación en diferentes plataformas y sistemas operativos; la sintaxis propiamente dicha.

La sintaxis de Java comprenderá el qué son y cómo se definen las variables y constantes; los diferentes operadores que existen y cómo utilizarlos además de las diferentes reglas que rigen este lenguaje.

Avanzando un poco más aprenderemos cómo se pueden hacer sentencias de bifurcación (if...else...; etc), crear bucles (for, while; etc ) así como saber como insertar comentarios dentro de nuestros programas, para poder identificar partes importantes de una manera más rápida y eficaz.Junto con todos estos conceptos se aprenderá a través de ejemplos el que es y cómo se debe compilar y ejecutar nuestros programas en el ordenador de forma que podamos ver cómo funcionan y las funciones que realizan.Una vez que se tengan asentados estos conceptos a través de los diferentes ejercicios que se proponen a lo largo del curso pasaremos a trabajar con conceptos más avanzados como son los Arrays y los String (cadenas de texto).

¿Qué se puede hacer con Java?
Con Java se puede hacer lo mismo que con cualquier otro lenguaje de programación como C o C++, pero de una forma más segura: La JVM tiene cuidado de las aplicaciones y applets Java no realicen operaciones que deban realizar. Además debido a su gran portabilidad el aspecto de nuestros interfaces de usuario será prácticamente idéntico en cualquier plataforma en la que ejecutemos nuestra aplicación. Con Java se pueden crear:
  • Aplicaciones independientes, como programas de tratamientos de imágenes del tipo GIMP
  • Applets, para que nuestras páginas web sean más atractivas, como los que puedes encontrar en >http://www.javapowered.com/werks.htm
  • Aplicaciones Web desarrolladas con tecnologías J2EE, como los Servlets, las JavaServer Pages, etc. que se salen fuera del ámbito de este curso.
Conceptos
  • J2SE (Java 2 Standard Edition) o la plataforma Java: Es un conjunto formado por el Lenguaje Java, La Máquina Virtual Java y los llamados API.
  • JDK(Java Development Kit): Es el conjunto de componentes necesarios para desarrollar en Java, es decir, es el J2SE.
  • SDK(Standard Development Kit): Viene a ser lo mismo que los anteriores conceptos
  • Lenguaje Java: Es un lenguaje de alto nivel que está basado en la Programación Orientado a Objetos
  • JRE(Java Runtime Environment): Este es el “ambiente” (software necesario) que necesita un ordenador para poder ejecutar cualquier programa Java.
  • API (Aplication Programing Interface): Java esta compuesto de el lenguaje de programación propiamente dicho, es decir, los mecanismos propios de todo lenguaje para poder hacer sentencias de bifurcación (if...else...), bucles (for, while,....), comentarios, etc. Y además posee una estructura de package (paquetes) en los que están estructurados las clases e interfaces absolutamente necesarias para poder hacer las aplicaciones en Java. También se le suele llamar API a la información que proporciona Sun Microsystem de estos paquetes y las clases que contienen.
  • paquetes: Es la forma en que java estructura sus clases e interfaces, son como carpetas en los que guardamos las clases e interfaces que están relacionadas entre ellas.
  • java.lang: es el paquete básico en donde se encuentran las clases fundamentales para poder programar en Java. Este paquete incluye la clase java.lang.Object, que es la clase fundamental de la que heredan o extienden todas las clases en java.
  • Código fuente: Conjunto de instrucciones que componen un programa escrito en Java, este archivo tendrá una extensión .java.
  • Compilar: El código fuente no puede ser interpretado por el sistema operativo, por lo que hay que traducirlo a un “idioma” que entienda el ordenador, este archivo tendrá una extensión .class
  • Código bytecodes: Una vez que hemos compilado el programa se genera un archivo que podrá ser interpretado por la maquina virtual de Java y el sistema operativo a través de esta JVM puede ejecutar las instrucciones del código fuente.
  • JVM: Máquina Virtual Java, esta “máquina” es un programa que traduce todos los programas java en un código que pueda entender cada uno de los distintos Sistemas Operativos.
  • Sistema Operativo: Es un intermediario entre los componentes físicos del ordenador (Hardware) y los programas que hay instalados en el ordenador (Software)
  • Lenguajes de alto nivel: Lenguajes independientes de la máquina sobre la que se ejecutan. Se componen de sentencias que se asemejan al lenguaje humano.
  • IDE’s: Java proporciona dentro de su “entorno de desarrollo” una serie de herramientas para poder compilar y depurar los programas; pero este entorno es muy “austero” son comandos que se ejecutan dentro de la consola de MS-DOS (javac, appletviewer,...) por lo que tanto Sun Mycrosystem como otras compañías han desarrollado aplicaciones para el desarrollo con interfaces con el usuario gráficos que facilitan la programación de grandes aplicaciones.
  • Archivos .jar: Son los archivos que se utilizan en java para poder llevar los proyectos en archivos compilados y así que ocupen menos espacio, en realidad son muy parecidos a los archivos .zip o .rar.
  • Archivos .war(Web Archive): Son archivos parecidos a los .jar pero que sirven además para desplegar apicaciones en los servidores Web de una forma automática.
  • JavaScript: Este es un lenguaje que se enmarca únicamente en el entorno de las páginas web, es decir, son programas que para poder ser ejecutados deben implantarse dentro de las páginas HTML y el encargado de hacerlos funcionar es un navegador compatible con este lenguaje (IE, Netscape,...). Por lo que la único parecido entre Java y JavaScript es la sintaxis y desde luego el nombre.
  • Pascal: En 1971, Niklaus Wirth desarrolló un lenguaje para facilitar la enseñanza de la programación estructurada. Lo llamó Pascal, en honor al matemático francés.
  • Basic: La primera versión del lenguaje BASIC (Beginners All-purpose Symbolic Instruction Code) fue creada por John Kemeny y Thomas E. Kurtz en 1964. Este lenguaje estaba destinado a la enseñanza de la programación a un nivel básico. Como curiosidad, BASIC fue el lenguaje que Bill Gates y Paul Allen emplearon para desarrollar un primitivo sistema de operación para el procesador ALTAIR 8800 en 1975
  • C: El lenguaje C nació en los Laboratorios Bell de AT&T. En 1972, Dennis Ritchie crea el lenguaje C, modificando el lenguaje B escrito por Ken Thompson en 1970, y reescribe el sistema operativo UNiX en su lenguaje C.
Más Información sobre Java y J2EE