0% encontró este documento útil (0 votos)
56 vistas6 páginas

1.1. Introduccion A Java

Este documento presenta una introducción a Java, incluyendo sus orígenes y su relación con C y C++. Java fue creado originalmente para programar dispositivos electrónicos, pero su enfoque en la portabilidad resultó útil para programar la web. Aunque Java hereda su sintaxis de C y su modelo de objetos de C++, tiene diferencias filosóficas y prácticas importantes de C++. Java sigue siendo un lenguaje importante y popular para el desarrollo web.

Cargado por

Tehin AA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
56 vistas6 páginas

1.1. Introduccion A Java

Este documento presenta una introducción a Java, incluyendo sus orígenes y su relación con C y C++. Java fue creado originalmente para programar dispositivos electrónicos, pero su enfoque en la portabilidad resultó útil para programar la web. Aunque Java hereda su sintaxis de C y su modelo de objetos de C++, tiene diferencias filosóficas y prácticas importantes de C++. Java sigue siendo un lenguaje importante y popular para el desarrollo web.

Cargado por

Tehin AA
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Universidad Tecnológica de El Salvador

Programación III MSc. René Alberto Castro Velásquez

UNIDAD I – INTRODUCCIÓN A JAVA UTILIZANDO EL IDE NETBEANS.


1.1. INTRODUCCIÓN A JAVA.
El crecimiento de internet y world wide web cambiaron de manera fundamental la
forma de la computación. En el pasado, el ciberpaisaje estaba dominado por las PCs
independientes y aisladas.
Hoy día casi todas las PCs están conectadas con internet que se ha transformado por sí mismo,
pues al principio ofrecía una manera conveniente de compartir archivos e información, y en la
actualidad se ha convertido en un universo computacional enorme y distribuido. Con estos
cambios, una nueva manera de programar surgió: Java.
Java es más que un lenguaje importante de internet:
revolucionó la programación cambiando la manera en la que
pensamos acerca de la forma y la función de un programa.
Hoy día, para ser un programador profesional se requiere la
capacidad de programar en Java: así de importante es. A
medida que avance en la lectura del material publicado de
forma periódica, aprenderá las habilidades necesarias para
dominarlo.
El objetivo de este primer material es proporcionar una breve introducción a Java que
incluya su historia, su diseño, su filosofía y algunas de sus características más
importantes. Por mucho, lo más difícil acerca del aprendizaje de un lenguaje de
programación es el hecho de que no existen elementos aislados, sino que los
componentes del lenguaje funcionan de manera conjunta. Esta interrelación resulta
especialmente significativa en Java. En realidad, es difícil analizar un aspecto de Java sin incluir
otros aspectos. Para ayudar a superar este problema, en este módulo se proporciona una breve
presentación general de las funciones de Java como, por ejemplo, la forma general de un
programa, algunas estructuras básicas de control y los operadores. Aunque no se profundizará
mucho, enfatizarán los conceptos generales que le son comunes a cualquier programa de Java.

LOS ORÍGENES DE JAVA.


La innovación en los lenguajes computacionales está determinada por dos factores: mejoras en el
arte de la programación y cambios en el entorno del cómputo. Java no es la excepción.
Aprovechando la rica herencia de C y C++, Java ofrece un mayor
refinamiento y funciones que reflejan el estado actual del arte de la
programación. Respondiendo al surgimiento del entorno en línea, Java
ofrece funciones que modernizan la programación con el fin de
desarrollar una arquitectura altamente distribuida.
James Gosling, Patrick Naugbton, Chris Wartb, Ed Frank y Mike
Sheridan concibieron Java en Sun Microsystems en 1991. A este
lenguaje se le llamó inicialmente "Oak" pero se le renombró como
"Java" en 1995. Sorprendentemente, internet no fue el objetivo
original de Java. La motivación principal fue la necesidad de un lenguaje que fuera independiente
de la plataforma y que pudiera emplearse para crear un software que estuviera incrustado en
varios dispositivos electrónicos para uso del consumidor, como tostadoras, hornos de microondas
y controles remotos. Como usted ya probablemente adivinó, se usan muchos tipos diferentes de

Página 1 de 6
Universidad Tecnológica de El Salvador
Programación III MSc. René Alberto Castro Velásquez

CPU como controladores. El problema es que la mayor parte de los lenguajes de cómputo están
diseñados para compilarse con un destino específico. Por ejemplo pensemos en C++.
Aunque es posible compilar una página de C++ para cualquier
tipo de CPU, para ello se requiere un compilador completo de
C++ orientado a ese CPU. Sin embargo, el problema es que los
compiladores son caros y su creación requiere mucho tiempo.
En el intento de encontrar una mejor solución, Gosling y sus
otros compañeros trabajaron en un lenguaje portable y de
plataforma cruzada que pudiera producir un código que se
ejecutara en diversos CPUs bajo entornos diferentes. Este esfuerzo culminó en la creación de Java.
Por la época en la que se trabajaba en los detalles de Java, surgió un segundo factor que resultó
más importante y que desempeñaría un papel crucial en el futuro de Java. Por supuesto, esta
segunda fuerza fue world wide web. En el caso de que la web no hubiera tomado forma casi al
mismo tiempo en que se dio la implementación de Java, este último habría conservado su utilidad
pero se habría mantenido como un lenguaje oscuro para la programación de los aparatos
electrónicos antes mencionados. Sin embargo, con el surgimiento de la web, Java fue impulsado al
primer plano del diseño de lenguajes de cómputo, debido a que la web exigía también programas
portables.
La mayoría de los programadores aprenden al principio de su carrera que los programas portables
son tan evasivos como deseables. Mientras que el desafío de hallar una manera de crear
programas eficientes y portables (independientes de la plataforma) es casi tan antiguo como la
propia disciplina de la programación, dicho desafió había pasado a un segundo plano en relación
con otros problemas más relevantes. Sin embargo, con el surgimiento de internet y web, el viejo
problema de la portabilidad volvió para tomar revancha. Después de todo, internet es un universo
diverso, distribuido y poblado con muchos tipos de computadoras, sistemas operativos y CPU.
Hacia 1993 resultó obvio para los miembros del equipo de diseño de Java que los problemas de
portabilidad que comúnmente surgen cuando se crea un código para controladores incrustados,
surgen también al momento de tratar de crear un código para internet. Este descubrimiento logró
que el centro de atención de Java cambiara de los aparatos electrónicos para el consumidor a la
programación para internet. De este modo, aunque el deseo de desarrollar un lenguaje de
programación de arquitectura neutral constituyó la chispa inicial, internet fue el que finalmente
condujo al éxito de Java a gran escala.

¿CÓMO SE RELACIONA JAVA CON C Y C++?


Java está relacionado directamente con C y C++. Hereda su sintaxis de C y su
modelo de objetos está adaptado a partir de C++. La relación de Java con C y
C++ es importante por varias razones. En primer lugar, muchos programadores
están familiarizados con la sintaxis de C, C++ o ambos. Este hecho le facilita a
un programador de C o C++ aprender Java y de igual manera a un programador
de Java aprender C o C++.
En segundo lugar, los diseñadores de Java no "reinventaron la rueda", sino que refinaron aún más
un paradigma de programación que había tenido mucho éxito. La época moderna de la
programación empezó con C. Cambió a C++ y ahora a Java. Al heredar y basarse en esa rica
herencia, Java proporciona un entorno de programación poderoso y lógicamente consistente que
toma lo mejor del pasado y agrega nuevas funciones que el entorno en línea requiere. Tal vez lo

Página 2 de 6
Universidad Tecnológica de El Salvador
Programación III MSc. René Alberto Castro Velásquez

más importante sea que, debido a sus similitudes, C, C++ y Java definen un marco de trabajo
conceptual común para el programador profesional. Los programadores no enfrentan mayores
fisuras cuando cambian de un lenguaje a otro.
Una de las filosofías centrales de C y C++ en cuanto al diseño es que el programador es la persona
que tiene el control. Java hereda también dicha filosofía. Con excepción de las restricciones
impuestas por el entorno de internet, Java le proporciona al programador un control total, por lo
que si programa bien se verá reflejado en sus programas pero si programa de manera deficiente
también se verá reflejado en sus programas.
Java cuenta con otro atributo en común con C y C++: fue diseñado, probado y afinado por
programadores reales y en activo. Es un lenguaje surgido de las necesidades y la experiencia de la
gente que lo concibió. En este sentido no existe una mejor manera de producir un lenguaje
profesional de altos vuelos.
Debido a las similitudes entre Java y C++, sobre todo en el soporte que brindan a la programación
orientada a objetos, resulta tentador pensar en Java como la simple "versión de C++ para
internet". Sin embargo, ello sería un error pues Java tiene importantes diferencias prácticas y
filosóficas. Aunque fue influido por C++, no es una versión mejorada de este (por ejemplo, no es
compatible ni hacia arriba ni hacia abajo con C++). Por supuesto las similitudes con C++ son
significativas; por lo tanto, si usted es un programador de C++ se sentirá como en casa con Java.
Otro punto: Java no fue diseñado para reemplazar a C++ porque fue diseñado para resolver un
cierto conjunto de problemas, mientras que C++ fue diseñado para resolver otro conjunto
diferente. Ambos coexistirán durante muchos años más.

¿CÓMO SE RELACIONA JAVA CON C#?


Algún tiempo después del aparecimiento de Java entró en escena un lenguaje
llamado C# que fue creado por Microsoft para dar soporte a su .NET Framework y
está íntimamente relacionado con Java. En realidad, muchas de las funciones de
C# se adaptaron directamente de Java. Tanto Java como C# comparten una misma
sintaxis general semejante a C++, soportan la programación distribuida y utilizan
el mismo modelo de objetos. Obviamente existen diferencias entre Java y C#, pero el aspecto y el
manejo de estos lenguajes es muy similar.
Esto significa que si ya conoce C# le será especialmente fácil aprender Java. De manera que si va a
utilizar C# en el futuro, entonces su conocimiento de Java le será útil.
Dada la similitud entre Java y C#, parece natural preguntar: "¿C# reemplazará a Java?" La
respuesta es NO. Java y C# están optimizados para dos tipos diferentes de entornos de cómputo.
Así como C++ y Java coexistirán por mucho tiempo, también lo harán C# y Java.

LA CONTRIBUCIÓN DE JAVA A INTERNET.


Internet ayudó a catapultar a Java al primer plano de la programación y Java a su vez ha tenido un
profundo efecto en internet. La razón es muy simple: Java expande el universo de los objetos que
pueden desplazarse libremente por el ciberespacio. En una red hay dos categorías muy amplias de
objetos que se transmiten entre el servidor y su computadora personal; información pasiva y
programas dinámicos y activos. Por ejemplo, cuando lee su correo electrónico está viendo datos
pasivos. Aunque descargue un programa, el código de este sólo contendrá datos pasivos hasta que

Página 3 de 6
Universidad Tecnológica de El Salvador
Programación III MSc. René Alberto Castro Velásquez

lo ejecute. Sin embargo es posible transmitir a su computadora un segundo tipo de objeto: un


programa dinámico que se autoejecute. Este tipo de programa constituye un agente activo en la
computadora cliente, pero es iniciado por el servidor. Por ejemplo, el servidor podría proporcionar
un programa para desplegar apropiadamente los datos que están enviando.
Aunque los programas en red son deseables y dinámicos, también presentan problemas serios en
las áreas de seguridad y portabilidad. Antes de Java, el ciberespacio estaba totalmente cerrado
para la mitad de las entidades que ahora viven allí. Como verá, Java atiende estas preocupaciones
y ha definido una nueva forma de programa: el applet.

LOS APPLETS DE JAVA.


Un applet es un tipo especial de programa de Java que está
diseñado para transmitirse en internet y que se ejecuta
automáticamente en un explorador web compatible con Java. Más
aún, un applet se descarga bajo demanda como cualquier imagen,
archivo de sonido o clip de video. La diferencia más importante es
que un applet es un programa inteligente, no sólo una animación
o un archivo multimedia.
En otras palabras, un applet es un programa que puede reaccionar a las entradas del usuario y
cambiar dinámicamente (no sólo ejecutar la animación y el sonido una y otra vez).
Si bien los applets de Java son excitantes, sólo serían ideas deseables si Java no atendiera dos
problemas fundamentales asociados con ellos: la seguridad y la portabilidad. Antes de seguir
adelante, definamos lo que estos dos términos significan en relación con internet.

SEGURIDAD
Como seguramente ya lo sabe, cada vez que descarga un programa
"normal" se pone en riesgo de una infección por virus. Antes de Java, la
mayoría de los usuarios no descargaban programas ejecutables con
frecuencia, y quienes lo hacían revisaban que estos no tuvieran virus antes
de su ejecución. Aun así, la mayoría de los usuarios se preocupaba todavía
por la posibilidad de la infección de sus sistemas con un virus o por permitir
que programas malintencionados se ejecutaran libremente en sus sistemas (un programa
malintencionado puede recolectar información privada como números de tarjetas de crédito,
saldos de cuentas bancarias y contraseñas al revisar el contenido del sistema de archivos de su
computadora). Java responde a estas preocupaciones al proporcionar un firewall entre una
aplicación en red y su computadora.
Cuando usa un explorador web compatible con Java, es posible descargar applets de Java de
manera segura, sin miedo a una infección por virus. La manera en la que Java lo logra es mediante
la confinación de un programa de Java al entorno de ejecución de Java y el impedimento que
impone de acceder a otras partes de la computadora. La capacidad de descargar applets con la
confianza de que no dañarán la computadora cliente constituye el aspecto más significativo de
Java.

Página 4 de 6
Universidad Tecnológica de El Salvador
Programación III MSc. René Alberto Castro Velásquez

PORTABILIDAD.
Como se analizó antes, muchos tipos de computadoras y
sistemas operativos están conectados con internet. Para que
los programas se descarguen dinámicamente a todos los
tipos distintos de plataformas se necesitan algunos medios
para generar un código ejecutable que sea portable. El
mismo mecanismo que ayuda a establecer la seguridad
también ayuda a crear la portabilidad.

LA MAGIA DE JAVA: EL CÓDIGO DE BYTES


La clave que permite a Java resolver
los problemas de seguridad y
portabilidad que se acaban de
describir es que la salida de un
compilador de Java no es un código
ejecutable, sino un código de bytes.
El código de bytes es un conjunto altamente optimizado de instrucciones diseñado para que sea
ejecutado por el sistema de Java en tiempo de ejecución. A dicho sistema se le denomina máquina
virtual de Java (Java Virtual Machine, JVM), un intérprete de código de bytes.
Esto puede resultarle un poco sorprendente. Como sabe, la
mayor parte de los lenguajes modernos como C++ están
diseñados para la compilación, no para la interpretación
(sobre todo debido a problemas de rendimiento). Sin
embargo, el hecho de que un programa de Java se ejecute
en la JVM ayuda a resolver los principales problemas
relacionados con los programas descargados de internet.
La traducción de un programa de Java en código de bytes
facilita la ejecución de un programa en una gran variedad
de entornos. La razón es sencilla: sólo la máquina virtual de
Java necesita implementarse en cada plataforma. Una vez
que existe el paquete en tiempo de ejecución para un
sistema dado, cualquier programa de Java puede ejecutarse
en él. Recuerde que, a pesar de que los detalles de la JVM serán diferentes entre plataformas,
todas las JVM comprenden el mismo código de bytes de Java. Si se compilara un programa de Java
en código nativo, entonces tendrían que existir diferentes versiones del mismo programa para
cada tipo de CPU conectado a internet. Es claro que esta no es una solución factible. Por lo tanto la
interpretación del código de bytes es la manera más fácil de crear programas realmente portables.
El hecho que un programa de Java sea interpretado
ayuda también a que sea seguro. Debido a que la
ejecución de todos los programas de Java está bajo
el control de la JVM, esta puede contener al
programa y evitar que genere efectos colaterales
fuera del sistema. La seguridad se mejora también
con ciertas restricciones del lenguaje.

Página 5 de 6
Universidad Tecnológica de El Salvador
Programación III MSc. René Alberto Castro Velásquez

Por lo general, cuando se interpreta un programa se ejecuta de manera sustancialmente más lenta
de lo que se ejecutaría si se compilara en código ejecutable. Sin embargo, con Java la diferencia
entre ambos códigos no es muy grande: el uso de un código de bytes permite que el sistema de
Java en tiempo de ejecución ejecute el programa mucho más rápido de lo que se esperaría.
Aunque Java se diseñó para la interpretación,
técnicamente nada impide que compile al vuelo el
código de bytes en código nativo. Por tal motivo se
proporcionó su tecnología HotSpot poco después del lanzamiento inicial de Java. HotSpot
proporciona un compilador JIT (Just In Time, justo a tiempo) para el código de bytes.
Cuando un compilador JIT es parte de la JVM, compila (traduce en tiempo real
el código de bytes en código ejecutable) parte por parte, de acuerdo con la
demanda. Es importante comprender que no es posible compilar todo un
programa de Java en código ejecutable de una sola vez debido a que Java
realiza varias comprobaciones que sólo pueden realizarse en tiempo de
ejecución. En cambio el JIT compila el código conforme se requiera durante la
ejecución. Más aún, no todas las secuencias del código de bytes están
compiladas (sólo aquellas que se beneficiarán con la compilación). El código restante simplemente
se interpreta. Sin embargo, el método de justo a tiempo proporciona una importante mejora en el
desempeño. Aunque la compilación dinámica se aplica al código de bytes, las características de
portabilidad y seguridad todavía aplicarán pues el sistema en tiempo de ejecución (el cual realiza
la compilación) estará aún a cargo del entorno de ejecución.

Información tomada del libro Java The Complete Reference Ninth Edition (Herbert Schildt).
También puede obtener información adicional sobre este tema en las direcciones siguientes:
1. https://en.wikipedia.org/wiki/Java_(programming_language)
2. http://www.javatpoint.com/java-tutorial
3. http://www.javatpoint.com/history-of-java
4. http://www.javatpoint.com/features-of-java
5. http://www.javatpoint.com/cpp-vs-java

Página 6 de 6

También podría gustarte