Vous êtes sur la page 1sur 7

CONCEPTO DEL JAVA

Java es un lenguaje de programacin orientado a objetos que se populariz a partir del lanzamiento de su primera
versin comercial de amplia difusin, la JDK 1.0 en 1996. Actualmente es uno de los lenguajes ms usados para la
programacin en todo el mundo.Los antecedentes de Java habra que buscarlos en los lenguajes de programacin C
y C++. El lenguaje C fue desarrollado en la dcada de los 70 y constituye un lenguaje muy robusto usado como
ncleo del sistema operativo Unix. C no admite la orientacin a objetos y est considerado un lenguaje poco
amigable desde el punto de vista de que su sintaxis, elementos de programacin que emplea (manejo directo de
memoria) y otras cuestiones hacen que sea un lenguaje difcil de aprender. C++ fue una evolucin de C desarrollada
en los aos 80. Introdujo el diseo orientado a objetos, pero manteniendo la compatibilidad con C. Esto supona que
C++ permitiera tanto el uso de la programacin estructurada tradicional como la programacin orientada a
objetos. Adems C++ mantuvo ciertas caractersticas de C como el manejo directo de la memoria, el uso de
variables globales, sentencia goto, etc. que hicieron que la evolucin fuera parcial.
Como paso final en esta evolucin tenemos Java, un lenguaje que evoluciona a partir de C y C++, pero que elimina
diversos aspectos de estos lenguajes y se constituye en un lenguaje definitivamente orientado a objetos. El romper
con distintos aspectos de C++ cuyo manejo inadecuado por parte de muchos programadores daba lugar a problemas
en las aplicaciones ha sido un factor decisivo para convertir a Java en un lenguaje popular y de amplio uso.
Nosotros vamos a quedarnos con el lado prctico de lo que hemos comentado respondiendo esta pregunta: Es
necesario saber C C++ para programar en Java? No, no es necesario. Aunque puede suponer una ventaja para
aquellas personas que tengan conocimientos previos en estos lenguajes, no recomendamos de forma explcita su
estudio en profundidad como paso previo al aprendizaje de Java.
De modo orientativo, veamos un esquema sobre la evolucin de los lenguajes.Este esquema es meramente
orientativo: es imposible reflejar la diversidad de lenguajes y su evolucin en un grfico tan simplificado. Tambin
los datos relativos a fechas son orientativos.
No hay que suponer que lo nico vlido sea la programacin orientada a objetos por ser lo ms moderno. Al
contrario, muchsima programacin de la que se hace hoy en da se basa en lenguajes o cdigo no orientado a
objetos. Adems, la misma programacin orientada a objetos se basa en conceptos muy antiguos de programacin.
Tener en cuenta que algunos lenguajes que nacieron en los aos 60 han perdido vigencia y ya no se usan, mientras
que otros se han ido modernizando y continan usndose ms o menos ampliamente, como es el caso de Cobol. Lo
que consideramos interesante con este esquema es que se vea que Java es una evolucin que por un lado incorpora
cosas que se venan usando desde hace mucho tiempo en programacin, y por otro introduce ciertas novedades que
lo convierten en un lenguaje moderno.
Java es un lenguaje til para casi todo tipo de problemas. Podemos citar como funcionalidades de Java varias

Aplicaciones cliente: son las que se ejecutan en un solo ordenador (por ejemplo el porttil de tu casa) sin
necesidad de conectarse a otra mquina. Pueden servirte por ejemplo para realizar clculos o gestionar
datos.

2. Aplicaciones cliente/servidor: son programas que necesitan conectarse a otra mquina (por ejemplo un
servidor de datos) para pedirle algn servicio de forma ms o menos continua, como podra ser el uso de
una base de datos. Pueden servir por ejemplo para el teletrabajo: trabajar desde casa pero conectados a un
ordenador de una empresa.

3. Podemos hablar tambin de aplicaciones web, que son programas Java que se ejecutan en un servidor
de pginas web. Estas aplicaciones reciben solicitudes desde un ordenador y envan al navegador
(Internet Explorer, Firefox, Safari, etc.) que acta como su cliente pginas de respuesta en HTML.

stos son slo algunos ejemplos de todo el potencial que hay detrs de Java como lenguaje para aprender y obtener
muchos beneficios con su uso. Obviamente por determinados trminos empleados (cliente, cliente/servidor, base de
datos, HTML), te dars cuenta de que el lenguaje Java tiene mucha potencialidad, pero tambin de que su
conocimiento a fondo requerira mucho tiempo. Nosotros en este curso vamos a estudiar nicamente los aspectos
ms bsicos de Java.
No te preocupes si no has entendido todo lo expuesto hasta ahora. Nuestra metodologa se va a basar en ir
trabajando poco a poco con Java e ir aprendiendo gradualmente mediante el trabajo prctico. Por otro lado, cuando
se habla de Java es habitual or hablar de definiciones tericas sobre qu es la programacin orientada a objetos, sus
caractersticas (herencia, abstraccin, polimorfismo, encapsulamiento), los objetos, la mquina virtual Java, y siglas
como JVM, JRE, JDK, etc. Nosotros no vamos a hacer un recorrido terico por estos conceptos: buscamos un
recorrido prctico. Para ello vete leyendo el texto y probando en tu ordenador los ejemplos, ejercicios o programas
que iremos mostrando o proponiendo.

Ventajas y desventajas del java

Primero: No debes volver a escribir el cdigo si quieres ejecutar el programa en otra mquina. Un solo cdigo
funciona para todos los browsers compatibles con Java o donde se tenga una Mquina Virtual de Java (Mac's, PC's,
Sun's, etc).
Segundo: Java es un lenguaje de programacin orientado a objetos, y tiene todos los beneficios que ofrece esta
metodologa de programacion (ms adelante doy una pequea introduccin a la filosofa de objetos).
Tercero: Un browser compatible con Java deber ejecutar cualquier programa hecho en Java, esto ahorra a los
usuarios tener que estar insertando "plug-ins" y dems programas que a veces nos quitan tiempo y espacio en disco.
Cuarto: Java es un lenguaje y por lo tanto puede hacer todas las cosas que puede hacer un lenguaje de programacin:
Clculos matemticos, procesadores de palabras, bases de datos, aplicaciones grficas, animaciones, sonido, hojas
de clculo, etc.
Quinto: Si lo que me interesa son las pginas de Web, ya no tienen que ser estticas, se le pueden poner toda clase de
elementos multimedia y permiten un alto nivel de interactividad, sin tener que gastar en paquetes carsimos de
multimedia.
Todo esto suena muy bonito pero tambien se tienen algunas limitantes:
Los programas hechos en Java no tienden a ser muy rpidos, supuestamente se est trabajando en mejorar
esto.Como los programas de Java son interpretados nunca alcanzan la velocidad de un verdadero ejecutable.
Java es un lenguaje de programacin. Esta es otra gran limitante, por ms que digan que es orientado a objetos y que
es muy fcil de aprender sigue siendo un lenguaje y por lo tanto aprenderlo no es cosa fcil. Especialmente para los
no programadores.
Java es nuevo. En pocas palabras todava no se conocen bien todas sus capacidades.
Pero en general Java posee muchas ventajas y se pueden hacer cosas muy interesantes con esto. Hay que prestar
especial atencin a lo que est sucediendo en el mundo de la computacin, a pesar de que Java es relativamente
nuevo, posee mucha fuerza y es tema de moda en cualquier medio computacional. Muchas personas apuestan a
futuro y piensan en Java. La pregunta es : Estarn en lo correcto? La verdad es que no se, pero este manual no es
para filosofar sobre el futuro del lenguaje sino para aprender a programarlo.

Caracterstica del java


"Un lenguaje simple. Orientado al objeto, distribuido, interpretado, slido, seguro, de arquitectura neutral, portable,
de lato desempeo, de multihilos y dinmico"

Simple
Basado en el lenguaje C++ pero donde se eliminan muchas de las caractersticas OOP que se utilizan
espordicamente y que creaban frecuentes problemas a los programadores. Esta eliminacin de causas de error y
problemas de mantenimiento facilita y reduce el coste del desarrollo de software.
Java no da soporte a struct, union y pointer
Java no ofrece typedef ni #define
No permite la sobrecarga de operadores.
No ofrece herencia mltiple.
Maneja los comandos en lnea de diferente manera que C++
Java tienen una clase String, que permite un mejor manejo que los arrays de terminacin nula del C y C++.
Java tiene un sistema automtico de asignacin y liberacin de memoria (recolector de basura) que mejora mucho
los sistemas del C++
Orientado al objeto
Java da buen soporte a las tcnicas de desarrollo OOP y en resumen a la reutilizacin de componentes de software.
Distribuido
Java se ha diseado para trabajar en ambiente de redes y contienen una gran biblioteca de clases para la utilizacin
del protocolo TCP/IP, incluyendo HTTP y FTP. El cdigo Java se puede manipular a travs de recursos URL con la
misma facilidad que C y C++ utilizan recursos locales (archivos).
Interpretado
El compilador Java traduce cada fichero fuente de clases a cdigo de bytes (Bytecode), que puede ser interpretado
por todas las mquinas que den soporte a un visualizador de que funcione con Java. Este Bytecode no es especifico
de una mquina determinada, por lo que no se compila y enlaza como en el ciclo clsico, sino que se interpreta.
Slido
El cdigo Java no se quiebra fcilmente ante errores de programacin. As el relaje que existe en la declaracin y
manejo de tipos en C y C++ se torna en restricciones en Java, donde no es posible la conversin forzada (cast) de
enteros en punteros y no ofrece soporte a los punteros que permitan saltarse reglas de manejo de tipos. As en Java
no es posible escribir en reas arbitrarias de memoria ni realizar operaciones que corrompan el cdigo. En resumen
se eliminan muchas de las posibilidades de "trucos" que ofreca el C y C++.
Seguro
Como Java suele funcionar en ambiente de redes el tema de seguridad debe interesar en sobremanera. Las mismas
caractersticas antes descritas que evitan la corrupcin de cdigo evitan su manipulacin. Actualmente se esta
trabajando en encriptar el cdigo.
Arquitectura neutral
El compilador crea cdigos de byte (Bytecode) que se enva al visualizador solicitado y se interpreta en la mquina
que posee un interprete de Java o dispone de un visualizador que funciona con Java.

Portable
Al ser de arquitectura neutral es altamente portable, pero esta caracterstica puede verse de otra manera: Los tipos
estndares (int, float ...) estn igualmente implementados en todas las mquinas por lo que las operaciones
aritmticas funcionaran igual en todas las mquinas.
Alto desempeo
al ser cdigo interpretado, la ejecucin no es tan rpida como el cdigo compilado para una plataforma particular. El
compilador Java suele ofrecer la posibilidad de compilar Bytecode en cdigo mquina de determinadas plataformas,
y segn Sun este cdigo resultar de una eficacia similar a compilaciones de C y C++.
Multihilos
Java puede aplicarse a la realizacin de aplicaciones en las que ocurra ms de una cosa a la vez. Java, apoyndose en
un sistema de gestin de eventos basado en el paradigma de condicin y monitores C.A.R. permite apoyar la
conducta en tiempo real e interactiva en programas
Dinmico
al contrario que C++ que exige se compile de nuevo la aplicacin al cambiar una clase madre Java utiliza un sistema
de interfaces que permite aligerar esta dependencia. Como resultado, los programas Java pueden permitir nuevos
mtodos y variables en un objeto de biblioteca sin afectar a los objetos dependientes

Clases de Java

1. Tipos de Clases
Hasta ahora slo se ha utilizado la palabra clave public para calificar el nombre de las clases que hemos visto, pero
hay tres modificadores ms. Los tipos de clases que podemos definir son:
abstract
Una clase abstract tiene al menos un mtodo abstracto. Una clase abstracta no se instancia, sino que se utiliza como
clase base para la herencia.
final
Una clase final se declara como la clase que termina una cadena de herencia. No se puede heredar de una clase final.
Por ejemplo, la clase Math es una clase final.
public
Las clases public son accesibles desde otras clases, bien sea directamente o por herencia. Son accesibles dentro del
mismo paquete en el que se han declarado. Para acceder desde otros paquetes, primero tienen que ser importadas.

synchronizable
Este modificador especifica que todos los mtodos definidos en la clase son sincronizados, es decir, que no se puede
acceder al mismo tiempo a ellos desde distintos threads; el sistema se encarga de colocar los flags necesarios para
evitarlo. Este mecanismo hace que desde threads diferentes se puedan modificar las mismas variables sin que haya
problemas de que se sobreescriban.

Objetivos
EE : te sirve para programacion web

SE : lo que conocemos como aplicaciones de escritorio


ME : para dispositivos mobiles
En java podras crear una ilimitada galeria de programas de diversas categorias, desde un despachador para
refrigeradores, o lo que quieras en electronica, para porgramar algoritmos de encriptacion usando por ejemplo PKI,
RSA, x509, PKCS, etc... o tambien para hacerte uno de esos jueguitos que seguramente tendras en tu celular
java no est limitado para ninguna interface, es un lenguaje de programacion muy completo, muy adecuado para
estos tiempos y tiene una complejidad que tu la defines, java es fcil si tu diseas tus aplicaciones fciles, y es
complejo si las acomplejas, ves que se acomoda a tus necesidades???

Entorno del desarrollo de java


a mi lo que mas me encanta de java es la programacion en web, hay varias formas de usar java en web, entrre ellas
estan, servlets, scriptles, Struts, JSF, beans, etc, por ejemplo una pgina web la puedes programar aadiendo codigo
java en tu html (que deber tener *.jsp Como extenxion) pero si lo acomplejas mas entonces usaras servlets y asi lo
escalaras hasta que fuciones la infinidad de interfaces que puedes encontrar en java, en pocas palabras si sabes bien
java, seguramente sabes cualquier cosa (claro que cada plataforma tiene sus clases y/o interfaces pero no deja de ser
java)
En lo personal me gusta java por lo que te platico, con un solo lenguaje podrias hacer cualquier cosa, claro que en
una plataforma podrias especializarte y no saber tanto de la otra... eso esta en cada quien!

1.1.

Variables de entorno en Java Para su correcto funcionamiento, Java necesita tener establecidas algunas
variables de entorno: las variables PATH y CLASSPATH. La variable de entorno del sistema PATH deber
contener la ruta donde se encuentren los programas para compilar y ejecutar (comandos javac y java de la
distribucin JDK de Sun, respectivamente).

1.2. CLASSPATH indicamos dnde estn las clases externas a las de la API que necesitemos para compilar o
ejecutar nuestro programa. Cualquier clase necesaria que no pertenezca a la API debe estar includa en el
CLASSPATH para poder compilar o ejecutar (aunque se encuentre en el mismo directorio que la que
compilamos). Podemos incluir todas las clases que hay en un directorio (sin contar los subdirectorios) poniendo
la ruta (absoluta o relativa al directorio actual) del directorio. Por ejemplo, si estn en \misclases :

Estructura bsica del java


Java tiene una estructura interesante que se debe de entender antes de poder comenzar a programar. Para entender
esto, veamos el programa el post pasado de este curso de programacin.
public class Main
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
Como pueden ver, aqui tenemos siete lineas de cdigo, con differentes usos. Primero, tenemos la primera linea:
public class Main. Public y Class son calificadores que pueden ignorar y dar por hechos, por ahora, pero si se fijan,
Main (o como se llame en su programa) tiene el mismo nombre que el archivo. Esto que significa? Con esto

podemos ver que todo el programa tiene que ir dentro esta seccin. Las secciones se pueden ver definidas por dos
llaves "{ }", de la cual una marca el inicio y otra el final. En este archivo, CASI todo esta dentro de las llaves
(Eclipse aveces genera cdigo arriba de esto, algo como "package nombre;" no lo borren. Es necesario).
Dentro de eso, se ve otra seccin que se llama public static void main(String[] args). Este no se llama main a causa
del nombre del archivo, sino es obligatorio. Todo lo que esta en las llaves consiguientes es el cdigo que se va a
correr. Otra manera de poner esto es que, todo lo que pongas dentro del main (con m minscula) son las acciones
que el programa va a tomar acabo.
Finalmente, vemos System.out.println("Hello World!");. Esta es una accin del programa. Lo que dice es que
"Imprime en la consola el mensaje que esta en parentesis", que en este caso es "Hello World!". Primeramente,
necesito que vean unas cosas. Primeramente, que el "Hello World!" esta en comillas. Esto significa que es texto que
tu estas dando directamente para que lo imprima. No estas haciendo operaciones ni cambios al mensaje, solo es un
valor constante. Tambien noten que Java es sensible a las maysculas, por lo cual system.out.println no es valido
pero System.out.println si. Finalmente, vean que esta "oracin" (o lnea de cdigo) termina en un punto y coma (;).
Esto que significa? Veran, en Java podrias omitir compleatamente los espacios y nuevas lineas. Lo nico que
diferencia una linea de codigo de otra es el punto y coma y las llaves. Ahora, no estoy diciendo que eliminen todos
los enters, pero tomen en cuenta que para eso funcionan los ;. Tambien vean como las lineas que son seguidas de
llave no llevan punto y coma. Esto sucede con todas las lineas seguidas por llaves.
Bueno, eso es todo por ahora. Si tienen preguntas, no duden en ponerlas en los comentarios. No olvide visitar
nuestra pagina

BIBLIOGRAFIA
Fuentes:

http://www.qualitrain.com.mx/objeIndirecto/javavsvbasic.htm
En http://java.sun.com se puede leer que Java es:
http://www.ujat.mx/oferta_educativa/ UJAT
http://www.itvillahermosa.edu.mx/ ITVH
http://www.cajamadrid.es/CajaMadrid/Home Ejemplo de Fraude

Vous aimerez peut-être aussi