Download Paradigma Orientado a Objetos. Fundamentos y origen de JAVA.

Document related concepts
no text concepts found
Transcript
Paradigma Orientado a Objetos. Fundamentos y origen
de JAVA.
Historia de Java:
En 1991, la empresa Sun Microsystems crea el lenguaje Oak (de la mano del llamado proyecto Green).
Mediante este lenguaje se pretendía crear un sistema de televisión interactiva. Este lenguaje sólo se llegó
a utilizar de forma interna. Su propósito era crear un lenguaje independiente de la plataforma y para uso en
dispositivos electrónicos.
En 1995 pasa a llamarse Java y se da a conocer al público. Adquiere notoriedad rápidamente. Java
pasa a ser un lenguaje totalmente independiente de la plataforma y a la vez potente y orientado a objetos.
Esa filosofía y su facilidad para crear aplicaciones para redes TCP/IP ha hecho que sea uno de los
lenguajes más utilizados en la actualidad. La versión actual de Java es el llamado Java 2. Sus ventajas
sobre C++ son:
 Su sintaxis es similar a C y C++
 No hay punteros (lo que le hace más seguro)
 Totalmente orientado a objetos
 Muy preparado para aplicaciones TCP/IP
 Implementa excepciones de forma nativa
 Permite multihilos
 Admite firmas digitales
 Tipos de datos y control de sintaxis más rigurosa
 Es independiente de la plataforma
La última ventaja (quizá la más importante) se consigue ya que el código Java no se compila, sino que se
precompila, de tal forma que se crea un código intermedio que no es ejecutable. Para ejecutarle hace falta
pasarle por un intérprete que va ejecutando cada línea. Ese intérprete suele ser la máquina virtual de Java,
Java es un lenguaje de programación creado para satisfacer una necesidad de la época (así aparecen
todos los lenguajes) planteada por nuevos requerimientos hacia los lenguajes existentes.
Antes de la aparición de Java, existían otros importantes lenguajes (muchos se utilizan todavía).
Entre ellos el lenguaje C era probablemente el más popular debido a su versatilidad; contiene posibilidades
semejantes a programar en ensamblador, pero con las comodidades de los lenguajes de alto nivel.
1
Ilustración 1, Evolución de algunos lenguajes de programación
Seguridad:
Al interpretar el código, la JVM puede delimitar las operaciones peligrosas, con lo cual la seguridad es
fácilmente controlable. Además, Java elimina las instrucciones dependientes de la máquina y los punteros
que generaban terribles errores en C y la posibilidad de generar programas para atacar sistemas. Tampoco
se permite el acceso directo a memoria y además.
La primera línea de seguridad de Java es un verificador del bytecode que permite comprobar que
el comportamiento del código es correcto y que sigue las reglas de Java.
Hay un segundo paso que verifica la seguridad del código que es el verificador de clase que es el
programa que proporciona las clases necesarias al código. Lo que hace es asegurarse que las clases que
se cargan son realmente las del sistema original de Java y no clases creadas reemplazadas artificialmente.
Finalmente hay un administrador de seguridad que es un programa configurable que permite al
usuario indicar niveles de seguridad a su sistema para todos los programas de Java.
Hay también una forma de seguridad relacionada con la confianza. Esto se basa es saber que el
código Java procede de un sitio de confianza y no de una fuente no identificada. En Java se permite añadir
firmas digitales al código para verificar al autor del mismo.
Entornos de trabajo:
El código en Java se puede escribir en cualquier editor de texto. Y para compilar el código en bytecodes,
sólo hace falta descargar la versión del JDK deseada. Sin embargo, la escritura y compilación de
programas así utilizada es un poco incomoda. Por ello numerosas empresas fabrican sus propios entornos
de edición, algunos incluyen el compilador y otras utilizan el propio JDK de Sun.
NetBeans. Entorno gratuito de código abierto para la generación de código en diversos lenguajes
(especialmente pensado para Java). Contiene prácticamente todo lo que se suele pedir a un IDE, editor
avanzado de código, depurador, diversos lenguajes, extensiones de todo tipo (CORBA, Servlets,...). Incluye
además un servidor de aplicaciones Tomcat para probar aplicaciones de servidor. Se descarga en
www.netbeans.org.
2
3