QUE ES JAVA


Java es bien nombrado en el mundo de la tecnologia desde hace ya mucho tiempo, tiene grandes influencias desde programas muy pequeños (scripts), aplicaciones complejas (desktops), aplicaciones corporativas, sitios web, aplicaciones mòbiles, dispositivos embebidos, linea blanca o electrodomesticos y la mas reciente en BlueRay, como veran esta presente en todos lados.


Esto identifica a Java no solo como un solo lenguaje de programacion sino toda una tecnologia cuyo limite es la imaginacion del programador. Java como lenguaje es uno de los primeros lenguajes estructurados como orientado a objetos o dicho en siglas POO ( viene de Object Oriented Programming en ingles "OOP").

HISTORIA DE JAVA


Nacio en 1991 Gracias a James Gosling como un proyecto de investigación para crear un lenguaje de programacion llamado "oak" ("roble" en español), en su época estaba destinado a solventar un problema de comunicación entre dispositivos de consumo como Videograbadoras, televisores, etc.

Estos expertos querian integrar CPU`s a estos dispositivos de consumo para que pudiesen compartir las mismas mejoras, pero fue un intento fracasado, cambiaron su objetivo a la plataforma de Internet que estaba madurando en esa época y usaron el lenguaje para mejorar contenido multimedia mediante implementacion de (applets) y asi fue que se implemento el lenguaje Java.

CARACTERISTICAS PRINCIPALES DEL LENGUAJE JAVA.


Desde su creacion Gosling decidio que Java fuera robusto, estable y orientado a objetos, con lo cual establecio una serie de reglas de diseño para su lenguaje:

  • Debe ser Orientado a Objetos ( POO)..
  • Debe ser Distribuido.
  • Debe ser Simple y de facil lectura para un programador.
  • Debe ser Multihilo (Multi-Threats).
  • Debe ser seguro y confiable.
  • Debe ser independiente de plataforma.
Explicare mejor que significan cada uno de los principios que persigue java o cualquiera de las implementaciones que hay en el mercado ( es correcto, hay mas ademas de la oficial).

LENGUAJE ORIENTADO A  OBJETOS


Uno de los principios de un lenguaje moderno no es hacer códigos simples, sino implementar objetos. Un objeto es un fracmento de còdigo que puede inteactuar con otro fagmento de código para resolver un problema, no tiene una estructura orientada a procedimientos.

Un lenguaje orientado a procedimientos es aquel que el tal cual se escribe el código asi mismo el compilador lo leerá linea a linea. Un lenguaje orientado a objetos estructura todo lo que necesita sin importar el orden en que se escribe ya que cuando un objeto necesita de otro, este toma su informacion la ejecuta y regresa la respuesta


Por ejemplo, un programa para calcular salario tiene un objeto llamado salario el cual esta esperando del objeto empleado el costo por hora y horas trabajadas, cuando empleado llama al objeto salario este se ejecuta, realiza el cálculo programado y retorna el salario al objeto empleado.

En otro blog describire mas detallado las caracteristicas y estandares de interpretacion y aplicacion usado en cualquier lenguaje orientado a objetos.

LENGUAJE DISTRIBUDO

Java dio paso a la introduccion de tecnologias de redes distribuidas como lo son la Invocacion de Metodos Remotos "RMI" ( Remote Methond Invocation por sus siglas en ingles), CORBA (Common Request Broker Architecture) y URL (Universal Resource Locator).


El dinamismo de java permite crear pequeñas partes de codigo que pueden ser facilmente invocadas desde cualquier computadora en internet y ser ejecutadas en esa computadora.


LENGUAJE SIMPLE

Java es simple porque le fueron retirados elementos de programacion complejos e inseguros como lo son los punteros a direcciones de memoria, una practica mal utilizada en otros lenguajes. En su lugar permite hacer referencias a objetos y tiene una funcion llamada reciclaje de memoria, la cual destruye los objetos que ya fueron usados y ya no se hacen más referencias.

LENGUAJE MULTIHILO

Multihilo es la forma de describir el proceso de ejecutar varias tareas diferentes al mismo tiempo, por ejemplo: Consultar una base de datos, reproducir en pantalla una interfaz de usuario, imprimir un reporte. Esto hace un mejor uso de los recursos del sistema.

LENGUALE SEGURO Y ESTABLE

El lenguaje java es seguro por que el entorno donde se ejecuta aplica medidas de seguridad para proteger el código de posibles ataques:

  • Prohibe el acceso a memoria mediante punteros, usa referencias en ese caso
  • Impide que los programas distribuidos como applets, hagan lectura y escritura de discos duros de un equipo.
  • Verifica que el codigo creado sea válido
  • Implementa "Firmas Digitales" asi la persona o equipo que esta recibiendo el código puede verificar su legitimidad.
LENGUAJE INDEPENDIENTE DE PLATAFORMA

Desde los inicios de la computación las plataformas existentes tuvieron grandes variaciones, hoy dia tenemos pocas pero las mas grandes son Windows, Linux, Unix, Mac y tambien tenemos arquitecturas de computacion 32 bits y 64 bits. Debido a estas diferencias cada sistema operativo se comporta distinto, tiene distintas necesidades y recursos y normalmente se tendria que crear un código especifico para cada plataforma y arquitectura.

Sin embargo Java elimina este problema ya que un paquete de java tiene todos los recursos que necesita el sistema operativo para ejecutar el codigo java sin importar la plataforma que sea, de este modo el programador solo se procupa por crear su código ya que sea leido y ejecutado en cualquier CPU.

La forma en que Java lo hace es mediante un interprete llamado Maquina Virtual Java o JVM ( Java Virtual Machine en ingles). Java tiene disponible una JVM para cada plataforma en que desee ejecutar código Java, sin embargo el código java necesita ademas de el JVM unas bibliotecas que contengan clases y objetos especificos para la plataforma donde se va a ejecutar, esta combinacion de JVM y bibliotecas es lo que se conoce como el Entorno de Ejecucion de Java JRE, actualmente estamos en la version 6.

Cuando Java comenzo a caminar lo hizo con su JSE 1.0

PRODUCTOS DE JAVA

Dendiendo del mercado al que se desea dirigir y del objetivo del siftware que va a crear hay un kit de desarrollo, entornos de emulacion para dispositivos de consumo ( como celulares por ejemplo), estas implementaciones de Java la encontramos en tres diferentes productos:

  • Java JSE: Tambien llamada Java Standard Edition. Permite desarrollar applets y aplicaciones que se ejecutaran en navegadores web o en computadoras de trabajo comunes, " aplicaciones sencillas como un block de notas".

  • Java JEE: Tambien llamada Java Enterprise Edition. Esta orientado a aplicaciones empresariales distribuidas, ambientes cliente-servidor " aplicaciones completas como un correo electronico".
  • Java JME: Tambien llamada Java Micro Edition. Esta orientado a aplicaciones con recursos limitados como dispositivos móviles, es usada para crear aplicaciones pequeñas o juegos.


Etiquetas: edit post