Vous êtes sur la page 1sur 6

Java

Java es un lenguaje de programacin orientado a objetos, desarrollado por Sun Microsystems a principios de los aos 90. El lenguaje en s mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos ms simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulacin directa de punteros o memoria. Las aplicaciones Java estn tpicamente compiladas en un bytecode, aunque la compilacin en cdigo mquina nativo tambin es posible. En el tiempo de ejecucin, el bytecode es normalmente interpretado o compilado a cdigo nativo para la ejecucin, aunque la ejecucin directa por hardware del bytecode por un procesador Java tambin es posible. La implementacin original y de referencia del compilador, la mquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995. Desde entonces, Sun ha controlado las especificaciones, el desarrollo y evolucin del lenguaje a travs del Java Community Process, si bien otros han desarrollado tambin implementaciones alternativas de estas tecnologas de Sun, algunas incluso bajo licencias de software libre.

Historia de Java
Java no fue creado originalmente para la red internet. Sun Microsystems comenz a desarrollarlo con el objetivo de crear un lenguaje, independiente de la plataforma y del sistema operativo, para el desarrollo de electrnica de consumo (dispositivos electrnicos inteligentes, como televisores, videos, equipos de msica. Etc.). El proyecto original, denominado Green comenz apoyndose en C++, pero a medida que se progresaba en su desarrollo el equipo creado de [Green] comenz a encontrarse con dificultades, especialmente de portabilidad. Para evitar estas dificultades, decidieron desarrollar su propio lenguaje y en agosto de 1991 naci un nuevo lenguaje orientado a objetos. Este lenguaje fue bautizado con el nombre de Oak. En 1993, el proyecto Green se volvi a renombrar y pas a llamarse First Person Juc. Sun invirti un gran presupuesto y esfuerzo humano para intentar vender esta tecnologa, hardware y software, sin gran xito. A mitad de 1993, se lanz Mosaic, el primer navegador para la Web y comenz a crecer el inters por Internet (y en particular por la Word Wide Web). Entonces, se rediseo el lenguaje para desarrollar aplicaciones para internet y, en enero de 1995, Oak se convirti en Java. Sun lanz el entorno JDK 1.0 en 1996, primera versin del kit de desarrollo de dominio pblico, que se convirti en la primera especificacin formal de la plataforma Java. Desde entonces se han lanzado diferentes versiones, aunque la primera comercial se denomin JDK 1.1 y se lanz a principios de 1997. En diciembre de 1998 Sun lanz la plataforma Java 2 (que se conoci como JDK 1.2 durante su fase de prueba beta). Esta versin de Java ya represent la madurez de la plataforma Java. Sun renombr Java 1.2 como Java 2.

Java ha experimentado numerosos cambios desde la versin primigenia, JDK 1.0, as como un enorme incremento en el nmero de clases y paquetes que componen la biblioteca estndar. Desde J2SE 1.4, la evolucin del lenguaje ha sido regulada por el JCP (Java Community Process), que usa Java Specification Requests (JSRs) para proponer y especificar cambios en la plataforma Java. El lenguaje en s mismo est especificado en la Java Language Specification (JLS), o Especificacin del Lenguaje Java. Los cambios en los JLS son gestionados en JSR 901.

Caractersticas del lenguaje Java


Lenguaje simple
Java posee una curva de aprendizaje muy rpida. Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarn que Java es ms sencillo, ya que se han eliminado ciertas caractersticas, como los punteros. Debido a su semejanza con C y C++, y dado que la mayora de la gente los conoce aunque sea de forma elemental, resulta muy fcil aprender Java. Los programadores experimentados en C++ pueden migrar muy rpidamente a Java y ser productivos en poco tiempo.

Orientado a objetos
Java fue diseado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los mtodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programacin orientada a objetos, especialmente en entornos cada vez ms complejos y basados en red.

Distribuido
Java proporciona una coleccin de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando as la creacin de aplicaciones distribuidas.

Interpretado y compilado a la vez


Java es compilado, en la medida en que su cdigo fuente se transforma en una especie de cdigo mquina, los bytecodes, semejantes a las instrucciones de ensamblador. Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier mquina a la cual se hayan portado el intrprete y el sistema de ejecucin en tiempo real (run-time).

Robusto
Java fue diseado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilacin y en tiempo de ejecucin. Sus caractersticas de memoria liberan a los programadores de una familia entera de errores (la aritmtica de punteros), ya que se ha

prescindido por completo los punteros, y la recoleccin de basura elimina la necesidad de liberacin explcita de memoria.

Seguro
Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustara ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. As que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecucin en tiempo real.

Indiferente a la arquitectura
Java est diseado para soportar aplicaciones que sern ejecutadas en los ms variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecucin tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseada para transportar el cdigo eficientemente a mltiples plataformas hardware y software. El resto de problemas los soluciona el intrprete de Java.

Portable
La indiferencia a la arquitectura representa slo una parte de su portabilidad. Adems, Java especifica los tamaos de sus tipos de datos bsicos y el comportamiento de sus operadores aritmticos, de manera que los programas son iguales en todas las plataformas. Estas dos ltimas caractersticas se conocen como la Mquina Virtual Java (JVM).

Alto rendimiento Multihebra


Hoy en da ya se ven como terriblemente limitadas las aplicaciones que slo pueden ejecutar una accin a la vez. Java soporta sincronizacin de mltiples hilos de ejecucin (multithreading) a nivel de lenguaje, especialmente tiles en la creacin de aplicaciones de red distribuidas. As, mientras un hilo se encarga de la comunicacin, otro puede interactuar con el usuario mientras otro presenta una animacin en pantalla y otro realiza clculos.

Dinmico
El lenguaje Java y su sistema de ejecucin en tiempo real son dinmicos en la fase de enlazado. Las clases slo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos mdulos de cdigo bajo demanda, procedente de fuentes muy variadas, incluso desde la Red.

Ventajas y desventajas de Java


Ventajas
Los programas en Java pueden ejecutarse en cualquiera de las siguientes plataformas, sin necesidad de hacer cambios: Windows/95 y /NT Power/Mac Unix (Solaris, Silicon Graphics, ...) La compatibilidad es total:

A nivel de fuentes: El lenguaje es exactamente el mismo en todas las plataformas. A nivel de bibliotecas: En todas las plataformas estn presentes las mismas bibliotecas estndares. A nivel del cdigo compilado: el cdigo intermedio que genera el compilador es el mismo para todas las plataformas. Lo que cambia es el intrprete del cdigo intermedio. El JDK es una herramienta libre de licencias (sin costo), creada por Sun. Est respaldado por un gran nmero de proveedores. Java es independiente de la plataforma de desarrollo.

Desventajas
Hay diferentes tipos de soporte tcnico para la misma herramienta, por lo que el anlisis de la mejor opcin se dificulta, Para manejo a bajo nivel deben usarse mtodos nativos, lo que limita la portabilidad, el diseo de interfaces grficas con awt y swing no es simple, existen herramientas como el JBuilder que permiten generar interfaces grficas de manera sencilla, pero tienen un costo adicional, hay algunas herramientas que tienen un costo adicional

Ordenacin por el mtodo de Burbuja


La ordenacin por burbuja (buble sort) se basa en comparar elementos adyacentes del array e intercambiar sus valores si estn desordenados. De este modo se dice que los valores ms pequeos burbujean hacia la parte superior de la lista (hacia el primer elemento), mientras que los valores ms grandes se hunden hacia el fondo de la lista. Algoritmo de Ordenacin de Burbuja paso 1: [Inicializa i al final de arreglo] For i <- N down to 1 do paso 2: [Inicia desde la segunda pos.] For j <- 2 to i do

paso 4: [Si a[j-1] es mayor que el que le sigue] If a[j-1] < a[j] then paso 5: [Los intercambia] Swap(a, j-1, j). paso 7: [Fin] End.

En cdigo java quedara asi: void Burbuja(int x[], int n) { int b, j, t; do { b = 0; for(j=0; j<n; j++) { if(x[j] > x[j+1]) { t = x[j]; x[j] = x[j+1]; x[j+1] = t; b++; } } n--; } while(b > 0); }

Tarea de Funciones y Procedimientos


Procedimiento que recibe 5 numeros y luego los despliega en el orden contrario que fueron ingresados Procedimiento nmeros() Inicio Entero num_1 Entero num_2 Entero num_3 Entero num_4 Entero num_5 Impimir(Ingrese primer numero); Impimir(Ingrese segundo numero); Impimir(Ingrese tercer numero); Impimir(Ingrese cuarto numero); Impimir(Ingrese quinto numero); Fin

Factorial de un nmero Funcin factorial (entero num) Ingrese numero() Leer numero() Si num < 0 Retornar = o De lo contrario si num = 0 Retornar 1 De lo contrario Num*i Retornar factorial
Imprimir respuesta

Vous aimerez peut-être aussi