sábado, 9 de agosto de 2008

Programando en Java : Introduccion

Estamos de nuevo por estos lares, para compartir con ustedes lo que voy aprendiendo en un lenguaje que esta muy de moda, con eso de los móviles, navegadores y aparatos electrónicos. Si, si es java.

Por que no empezar con lo básico?
Casi todos los manuales están orientados a mostrar la historia, que es Programación Orientada a Objetos (POO) Y algo un poco más serio. Pero tampoco quiere decir que no explicare nada.

Antes de que otra cosa ocurra, existe otro tipo de lenguaje que es javaScript, y comentarles que java y JavaScript no tienen nada que ver, java es un lenguaje de programación desarrollado por SunMicrosytems que permite realizar todo tipo de aplicaciones, al contrario pasa con
JavaScript es un código que esta inmerso en páginas web que fue desarrollado por Netscape.

Características de Java
Los creadores de Java diseñaron el lenguaje con las siguientes ideas en mente:

- Simplicidad: Java está basado en C++, por lo que, si se ha programado en C o en C++, el Aprendizaje de la sintaxis de Java es casi inmediato. Sin embargo, se modificaron o eliminaron Ciertas características que en C++ son fuente de problemas, como la aritmética de punteros, las estructuras, etc. Además, no debemos preocuparnos de la gestión de la memoria. Java se Ocupa de descargar los objetos que no utilicemos. Es prácticamente imposible, por ejemplo, Escribir en una posición de memoria de otro programa.

- Orientacion a Objetos (OO): Cualquier lenguaje moderno está orientado a objetos, ya que su utilidad y ventajas con respecto a la programación tradicional orientada a procedimientos Ha sido ampliamente demostrada en los ´últimos 30 años.

- Distribuido: Java posee una extensa colección de herramientas que proporcionan la capacidad de trabajar en red de forma simple y robusta.

- Robusto: Como ya se comentó antes, Java permite escribir programas fiables con mucho menor Esfuerzo que en otros lenguajes. El compilador detecta problemas, como la sobre escritura de Posiciones de memoria, que en otros lenguajes aparecerían en tiempo de ejecución. Además, la eliminación del uso de punteros en elementos como cadenas de caracteres o arrays evita muchos problemas que son comunes (y difíciles de depurar) en C o C++.

- Seguro: Java está pensado para ser utilizado en red, por lo que se ha cuidado mucho la seguridad. En principio, se supone que es capaz de evitar que se rebase la pila del sistema en tiempo de ejecución, que se corrompa la memoria externa a un proceso, o que se pueda acceder a ficheros locales de un ordenador que está ejecutando un applet en su navegador, por ejemplo.

- Independencia de la plataforma: He aquí una de las características más importantes y conocidas de Java. Un programa en Java sigue la filosofía WORE (Write Once, Run Everywhere), es decir, que una vez escrito, puede ejecutarse en cualquier plataforma hardware con Cualquier sistema operativo sin recompilar el código.

¿Que quiere decir esto? En la compilación tradicional de programas escribimos nuestro código Fuente pensando en el sistema operativo en el que va a ejecutarse, ya que cada S.O. tiene sus propias peculiaridades, librerías a las que es necesario invocar, etc. No puede escribirse con el mismo código un programa para Linux y para Windows, aunque corran en la misma Máquina. Existe, por tanto, dependencia a nivel de código fuente.

Las ventajas frente a C++

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
Es interpretado (lo que acelera su ejecución remota, aunque provoca que las aplicaciones Java se ejecuten más lentamente que las C++ en un ordenador local).
Permite multihilos
Admite firmas digitales
Tipos de datos y control de sintaxis más rigurosa
Es independiente de la plataforma

Por ahora es todo, estos conceptos los he sacado de diferentes fuentes, en la otra entrega ya veremos algo practico. Ya tengo escrito la mitad del próximo artículo así que estén atentos.

No hay comentarios: