You are on page 1of 8

Breve historia de Java

El lenguaje Java as como la mquina virtual, comenzaron como un proyecto


interno de Sun Microsystems en 1990. Los ingenieros de Sun no estaban
satisfechos con el rendimiento del lenguaje C++, por lo que James Gosling, Mike
Sheridan y Patrick Naughton, junto con otros ms, comenzaron a desarrollar un
nuevo lenguaje, que en principio pensaron dedicar a la programacin de todo tipo
de aparatos, tales como microondas, neveras, telfonos mviles, etc.. Ellos
pensaban que stos generaran muchas e importantes aplicaciones para la
tecnologa del futuro.
El lenguaje tendra que obviar problemas que presenta C++, en campos tales
como la programacin distribuda, las aplicaciones multihilo, el manejo de la
memoria y ser ms sencillo de manejar que C++. Finalmente se deseaba que los
programas fueran portables a todo tipo de aparatos.
Inicialmente el lenguaje se llam Oak (en espaol 'roble'), en honor de un roble
que haba frente a la oficina.
En 1992, se present como demostracin una PDA con interface grfica y un
asistente inteligente representado mediante un mueco llamado Duke.
Oak fue presentado a concurso, como solucin tecnolgica, en varios proyectos
para la industria del cine y la televisin, pero no fue elegido. En 1994 John Gage,
James Gosling, Bill Joy, Patrick Naughton, Wayne Rosing, y Eric Schmidt se se
reunieron para reorientar Oak. Decidieron orientarlo hacia la tecnologa de la
Web, pues se pensaba que tras la aparicin del navegador Mosaic, sta
evolucionara hacia la misma clase de interactividad, que la televisin por cable,
para la cual haban estado preparando Oak.
Fue asimismo en 1994 cuando se cambi el nombre de Oak a Java. Poco despus,
an en 1994, la plataforma Java 1.0, estaba disponible para descarga en la Web.
En 1995 Netscape anunci que incluira soporte para Java en sus navegadores,
dando con esto un buen apoyo a Java.

caractersticas de Java
Caracterstica de java.

Las caractersticas principalesque nos ofrece Java son:


1.- Lenguaje Simple:
Se lo conoce como lenguaje simpleporque viene de la misma
estructura de c y c++; ya que c++ fue un referentepara la
creacin de java por eso utiliza determinadas caractersticas de
c++ yse han eliminado otras.
2.- Orientado a Objeto:
Toda la programacin en java ensu mayora est orientada a
objeto, ya que al estar agrupados en estructurasenestructuras
encapsuladas es ms fcil su manipulacin.
3.- Distribuido:
Permite abrir sockets, establecery aceptar conexiones con los
servidores o clientes remotos; facilita lacreacin de
aplicaciones distribuidas ya que proporciona una coleccin
declases para aplicaciones en red.
4.- Robusto:
Es altamente fiable encomparacin con c, se han
eliminadomuchas caractersticas con la aritmtica de punteros,
proporciona numerosascomprobaciones en compilacin y en
tiempo de ejecucin.
5.- Seguro:
La seguridad es unacaracterstica muy importante en java ya
que se han implementado barreras deseguridad en el lenguaje
y en el sistema de ejecucin de tiempo real.

6.- Indiferente a laarquitectura:


Java es compatible con los msvariados entornos de red,
cualquiera sean estos desde Windows 95, Unix aWindows
Nt y Mac, para poder trabajarcon diferentes sistemas
operativos.
Java es muy verstil ya queutiliza byte-codes que es un
formato intermedio que sirve para transportar elcdigo
eficientemente o de diferentes plataformas (Hardware Software).
7.- Portable:
Por ser indiferente a laarquitectura sobre la cual est
trabajando, esto hace que su portabilidad seamuy eficiente, sus
programas son iguales en cualquiera de las plataformas, yaque
java especifica tamaos bsicos, esto se conoce como la
mquina virtual dejava.
8.- Interpretado y compilado a lavez:
Java puede ser compilado einterpretado en tiempo real, ya
que cuando se construye el cdigo fuente este setransforma en
una especie de cdigo de mquina.

9.- Multihebra o Multihilos:


Java tiene una facilidad decumplir varias funciones al mismo
tiempo, gracias a su funcin de multahilos ya que por cada
hilo que elprograma tenga se ejecutaran en tiempo real muchas
funciones al mismo tiempo.

10.- Dinmico:
El lenguaje java es muy dinmicoen la fase de enlazado, sus
clases solamente actuaran en medida en que sean requeridas o
necesitadas con estopermitir que los enlaces se puedan incluir
incluso desde fuentes muy variadaso desde la red.
11.- Produce Applets:
En java se pueden crearaplicaciones independientes y applets.
Independientes porque se puedencomportar como cualquier
programa escrito en cualquier lenguaje.
Por otra parte los appletsconsiderados pequeos programas,
tienen la capacidad de ejecutar funciones muycomplejas.
12.- Alto rendimiento
Java es considerado de altorendimiento por ser tan veloz en
elmomento de correr los programas y por ahorrase muchas
lneas de cdigo.
JAVA ESTA DE MODA
Una de las ms interesantes tendencias que se ven ultimamente es la
impopularidad de Java en los blogs, foros y otros. Pareciera que la gente est
ofendida hasta incluso a nivel personal, cuando se sugiere a Java como el lenguaje
superior en la web 2.0.
Java ha sido ampliamente exitoso por varias razones:
Es extensamente aceptado en las compaas establecidas
Es uno de los lenguajes ms rpidos

Es uno de los ms seguros


Las primitivas de sincronizacin estn incorporadas en el lenguaje
Es independiente a la plataforma
Hotspot es open source
Existen miles de vendedores para una gran cantidad de productos Java
Existen miles de libreras open source para Java
Tiene un gobierno comunitario va JCP (pre-Oracle)

Lenguaje de programacin
Un lenguaje de programacin es un lenguaje formal diseado para expresar procesos que
pueden ser llevados a cabo por mquinas como lascomputadoras.
Pueden usarse para crear programas que controlen el comportamiento fsico y lgico de una
mquina, para expresar algoritmos con precisin, o como modo de comunicacin humana.1
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su
estructura y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el cdigo
fuente de un programa informtico se le llamaprogramacin.
Tambin la palabra programacin se define como el proceso de creacin de
un programa de computadora, mediante la aplicacin de procedimientos lgicos, a travs de
los siguientes pasos:

El desarrollo lgico del programa para resolver un problema en particular.

Escritura de la lgica del programa empleando un lenguaje de programacin


especfico (codificacin del programa).

Ensamblaje o compilacin del programa hasta convertirlo en lenguaje de mquina.

Prueba y depuracin del programa.

Desarrollo de la documentacin.
Existe un error comn que trata por sinnimos los trminos 'lenguaje de programacin'
y 'lenguaje informtico'. Los lenguajes informticos engloban a los lenguajes de
programacin y a otros ms, como por ejemplo HTML (lenguaje para el
marcado de pginas web que no es propiamente un lenguaje de programacin, sino
un conjunto de instrucciones que permiten estructurar el contenido de los
documentos).
Permite especificar de manera precisa sobre qu datos debe operar una computadora,
cmo deben ser almacenados o transmitidos y qu acciones debe tomar bajo una
variada gama de circunstancias. Todo esto, a travs de un lenguaje que intenta
estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante
de los lenguajes de programacin es precisamente que ms de un programador pueda
usar un conjunto comn de instrucciones que sean comprendidas entre ellos para
realizar la construccin de un programa de forma colaborativa.

SINTAXIS
Un programa en cualquier lenguaje se puede concebir como un string de caracteres escogidos de algn
conjunto o alfabeto de caracteres. Las reglas que determinan si un string es un programa vlido o no,
constituyen la sintaxis de un lenguaje. Posteriormente, se estudiarn ciertas notaciones denominadas
expresiones regulares y gramticas libres de contexto, muy usadas no slo para especificar las sintaxis
de los lenguajes de programacin sino tambin para contribuir en la construccin de sus compiladores.

SEMANTICA
Las reglas que determina el significado de los programas constituyen la semntica de los lenguajes de
programacin. Es ms difcil de especificar que la sintaxis.
Semntica Interpretativa (u Operacional)
Un lenguaje de mquina tiene su semntica definida por el computador. Un programa en lenguaje de
mquina "significa" exactamente lo que el computador hace cuando el programa "corre" o se ejecuta. Sin
embargo, con un lenguaje de alto nivel no se puede dejar que el computador defina la semntica del
lenguaje, puesto que no es posible "correr programas y ver" hasta que se tenga un compilador. No se
puede tener un compilador y saber qu es correcto hasta haber definido lo que los programas significan.
Este enfoque interpretativo para definir la semntica de los lenguajes de programacin consiste en
postular una mquina abstracta y proveer reglas para la ejecucin de programas sobre esta mquina
abstracta. As, estas reglas definen el significado de los programas. Usualmente, la mquina abstracta se
caracteriza por un estado consistente de todos los objetos datos, sus valores, y los programas con sus
contadores de programa. Las reglas semnticas especifican cmo el estado es transformado por las
diversas construcciones de los lenguajes de programacin.

Traduccin
La traduccin de un lenguaje assembly a lenguaje de mquina (que es directa y comprensible), forma
una especificacin semntica muy usada para un lenguaje assembly.
El compilador para un lenguaje de alto nivel sobre una mquina especfica llega a ser la definicin
semntica del lenguaje.
Definicin Axiomtica
Se pueden definir reglas que relacionan los datos antes y despus de la ejecucin de cada programa.
Estas reglas se pueden usar para proveer teoremas acerca de la relacin E/S de un programa. Este
enfoque tiene la ventaja que puede usarse para definir semnticas para un aparte ms que para todos
los aspectos de un lenguaje.
Definicin Extensible
En este enfoque se definen ciertas operaciones primitivas y el significado del lenguaje en trminos de
estas primitivas. Ejemplo LISP.
Semntica Matemtica o Denotacional
Los objetos matemticos corresponden a programas que son definidos, y reglas abstractas para traducir
programas a estos objetos abstractos

Taxonomia de los leguajes de


programacion

Enviado por hylex

31/1/2011

1226 Palabras

Taxonoma de los Lenguajes de Programacin:


Existen diferentes clases o tipos de lenguajes de programacin:
1 El Lenguaje Mquina: es el lenguaje de programacin que entiende
directamente lacomputadora o mquina. Este lenguaje de programacin utiliza
el alfabeto binario, es decir, el 0 y el 1.

2 Lenguajes de programacin de bajo nivel: Son mucho ms fciles de utilizar


que ellenguaje mquina, pero dependen mucho de la mquina o computadora
como suceda con el lenguaje mquina. El lenguaje ensamblador fue el primer
lenguaje de programacin que trato de sustituir el lenguajemquina por otro
mucho ms parecido al de los seres humanos.
3 Lenguajes de programacin de alto nivel: Este tipo de lenguajes de
programacin son independientes de la mquina, lo podemos usar encualquier
computador con muy pocas modificaciones o sin ellas, son muy similares al
lenguaje humano, pero precisan de un programa interprete o compilador que
traduzca este lenguaje de programacin dealto nivel a uno de bajo nivel como
el lenguaje de mquina que la computadora pueda entender.

You might also like