14
1. Consulte y defina que es JAVA Java es una tecnología que se usa para el desarrollo de aplicaciones que convierten a la Web en un elemento más interesante y útil. Java no es lo mismo que JavaScript, que se trata de una tecnología sencilla que se usa para crear páginas web y solamente se ejecuta en el explorador. Java le permite jugar, cargar fotografías, chatear en línea, realizar visitas virtuales y utilizar servicios como, por ejemplo, cursos en línea, servicios bancarios en línea y mapas interactivos. Si no dispone de Java, muchas aplicaciones y sitios web no funcionarán. Por defecto, Java le notificará inmediatamente que hay nuevas actualizaciones listas para instalarse. Si desea estar al día y mantener la seguridad de su computadora, es importante que acepte e instale las actualizaciones. Si recibe una notificación de actualización de Java en su computadora Windows y no recuerda haberla descargado o instalado, lo más probable es que Java estuviera ya instalado en la nueva computadora. 2. Cuál es la utilidad de JAVA (ejemplos) public interface I_FiguraGeometrica { public double calculará(); } Y ahora supongamos que tenemos una clase Cuadrado y una Circulo y queremos que implementen esa interfaz: public calas Cuadrado implemente I_FiguraGeometrica { // Constructor, set/get public double calculaArea() { retorna garlado()*getLadoB();

Trabajo de Java

Embed Size (px)

Citation preview

Page 1: Trabajo de Java

1. Consulte y defina que es JAVA

Java es una tecnología que se usa para el desarrollo de aplicaciones que convierten a la Web en un elemento más interesante y útil. Java no es lo mismo que JavaScript, que se trata de una tecnología sencilla que se usa para crear páginas web y solamente se ejecuta en el explorador.

Java le permite jugar, cargar fotografías, chatear en línea, realizar visitas virtuales y utilizar servicios como, por ejemplo, cursos en línea, servicios bancarios en línea y mapas interactivos. Si no dispone de Java, muchas aplicaciones y sitios web no funcionarán.

Por defecto, Java le notificará inmediatamente que hay nuevas actualizaciones listas para instalarse. Si desea estar al día y mantener la seguridad de su computadora, es importante que acepte e instale las actualizaciones. Si recibe una notificación de actualización de Java en su computadora Windows y no recuerda haberla descargado o instalado, lo más probable es que Java estuviera ya instalado en la nueva computadora.

2. Cuál es la utilidad de JAVA (ejemplos)

public interface I_FiguraGeometrica { public double calculará(); }

Y ahora supongamos que tenemos una clase Cuadrado y una Circulo y queremos que implementen esa interfaz:

public calas Cuadrado implemente I_FiguraGeometrica { // Constructor, set/get

public double calculaArea() { retorna garlado()*getLadoB(); } }

public class Circulo implements I_FiguraGeometrica { // Constructor, set/get

public double calculaArea() { return get Radio()*getRadio()*Math.PI; }

Page 2: Trabajo de Java

}

El hecho de implementar la interfaz nos garantiza que ambos objetos tendrán el método "calculaArea" que devolverá un "double".

A la hora de trabajar con las figuras geométricas, podemos pues olvidarnos del objeto que subyace... supongamos este método de una clase:

public double calcula Precio (I_FiguraGeometrica león) { return getPrecioM2()*geom.calculaArea(); }

3) Cuáles son las características principales de JAVA

Java es un lenguaje de programación de propósito general orientado a objetos desarrollado por Sun Microsystems. También se puede decir que Java es una tecnología que no sólo se reduce al lenguaje sino que además provee de una máquina virtual Java que permite ejecutar código compilado Java, sea cual sea la plataforma que exista por debajo; plataforma tanto hardware, como software (el sistema operativo que soporte ese hardware). El apoyo a esta tecnología viene dado por la gran cantidad de fabricantes que apoyan esta especificación de máquina virtual.

Aprender el lenguaje de programación Java requiere tiempo y esfuerzo, pero en este curso trataremos de sentar las bases para el conocimiento general del lenguaje. El lenguaje se inspira en otros lenguajes:

sentencias comunes de C y C++ (sintaxis parecida a dichos lenguajes) concurrencia parecida a la de Mesa (un lenguaje de investigación de Xerox) interrupciones parecidas a las de Modula-3 tratamiento de enlace dinámico de código nuevo parecido al de Lisp definiciones de interfaces parecidas a las de Objective C gestión de almacenamiento automático parecida a la de Lisp

Características.

Son describe al lenguaje Java de la siguiente manera:

Simple Orientado a Objetos Tipado estáticamente Distribuido Interpretado

Page 3: Trabajo de Java

Robusto Seguro de Arquitectura Neutral Multihilo con Recolector de basura (Garbage Collector) Portable de Alto Rendimiento: sobre todo con la aparición de hardware especializado y

mejor software Dinámico

Son admite que lo dicho anteriormente son un montón de halagos por su parte, pero el hecho es que todas esas características pueden servir para describir el lenguaje. Todas ellas son importantes, sin embargo cabe destacar tres, que son las que han proporcionado tanto interés por el lenguaje: la portabilidad, el hecho de que sea de arquitectura neutral y su simplicidad. Java ofrece toda la funcionalidad de los lenguajes potentes, pero sin las características menos usadas y más confusas de éstos.

Java elimina muchas de las características de otros lenguajes como C++, para mantener reducidas especificaciones del lenguaje y añadir características muy útiles como el recolector de basura. No es necesario preocuparse de liberar memoria, el recolector se encarga de eliminar la memoria asignada. Gracias al recolector, sólo te tienes que preocupar de crear los objetos relevantes de tu sistema ya que él se encarga de destruirlos en caso de no ser reutilizados.

Java reduce en un 50% los errores más comunes de programación con lenguajes como C y C++. Entre las características más "indeseables" de C++ que se han evitado en el diseño de Java destacan: ficheros de cabecera, aritmética de punteros, sobrecarga de operadores, estructuras, uniones, conversión implícita de tipos, clases base virtual, pre-procesador, etc.

Comentemos algunas de las características más interesantes:

Java es interpretado.

Estrictamente hablando, Java es interpretado, aunque en realidad Java es tanto interpretado como compilado. De hecho, sólo cerca del 20% del código Java es interpretado por la JVM (Java Virtual Machine), pero es un 20% muy importante. Tanto la seguridad de Java como su habilidad para ser ejecutado en múltiples plataformas se deben a que los pasos finales de la compilación se manejan localmente.

Existen ciertos entornos que para mejorar el rendimiento usan un pequeño compilador para la última fase de compilación, de forma que una vez que se tenga el bytecode, en vez de interpretarlo se compila generando código nativo para esa plataforma y se ejecuta, pero esta compilación se realiza cada vez que se quiera ejecutar el programa. El único

Page 4: Trabajo de Java

código realmente independiente es el bytecode. Este tipo de compiladores se conocen como 'Just In Time' o JIT. Sin embargo, el bytecode no se completa hasta que se junta con un entorno de ejecución, que en este caso será la máquina virtual Java de la plataforma en la que estemos. Un browser puede proveer dicha plataforma desde el punto de vista del sistema operativo.

Inconvenientes.

El browser tiene que interpretar los ficheros de clases antes de que se ejecuten. Utilizando un lenguaje de programación tradicional como puede ser el C++, el ordenador puede ejecutar directamente el código generado. Sin embargo, debido a la interpretación que el browser tiene que hacer de los ficheros, los programas escritos en Java tienden a ejecutarse bastante más lentos que con otros lenguajes de programación (p.e. C++).

¿Por qué se considera un rasgo positivo el hecho de combinar la compilación y la interpretación?

Facilita la seguridad y la estabilidad. Reduce los problemas de versiones.

El hecho de que la última fase de la compilación se lleve a cabo por un dispositivo de una determinada plataforma, releva al programador de la responsabilidad del mantenimiento de varios fuentes en varias plataformas. La interpretación también admite que los datos se incorporen en tiempo de ejecución, de ahí el comportamiento dinámico que también caracteriza a Java.

La máquina virtual Java.

Para establecer Java como parte integral de la red, el compilador Java compila su código a un fichero objeto de formato independiente de la arquitectura de la máquina en que se ejecutará. Cualquier máquina que tenga el sistema de ejecución (runtime) puede ejecutar ese código objeto, sin importar en modo alguno la máquina en que ha sido generado.

El código fuente Java se "compila" a un código de bytes de alto nivel independiente de la máquina. Este código (bytecode) está diseñado para ejecutarse en una máquina hipotética que es implementada por un sistema runtime, que sí es dependiente de la máquina. Por lo tanto, lo que verdaderamente es dependiente del sistema es la Máquina Virtual Java (JVM) y las librerías fundamentales, que también nos permitirían acceder directamente al hardware de la máquina. El compilador Java genera bytecode que serán ejecutables dondequiera que exista una JVM.

Orientación a objetos.

Page 5: Trabajo de Java

Java implementa la tecnología básica de C++ con algunas mejoras y elimina algunas cosas para mantener el objetivo de la simplicidad del lenguaje. Java trabaja con sus datos como objetos y con interfaces a esos objetos. Soporta las tres características propias del paradigma de la orientación a objetos: encapsulación, enlace dinámico y polimorfismo. Los modelos de objetos son llamados, como en C++, clases y sus copias, instancias. Estas instancias, como en C++, necesitan ser construidas y destruidas en espacios de memoria.

Java incorpora funcionalidades inexistentes en C++ como por ejemplo, la resolución dinámica de métodos. Esta característica deriva del lenguaje ObjectiveC. En C++ se suele trabajar con librerías dinámicas (DLLs) que obligan a recompilar la aplicación cuando se retocan las funciones que se encuentran en su interior. Java resuelve este inconveniente mediante una interfaz específica llamada RTTI (Run Time Type Identificación) que define la interacción entre objetos excluyendo variables de instancias o implementación de métodos. Las clases en Java tienen una representación en el runtime que permite a los programadores interrogar por el tipo de clase y enlazar dinámicamente la clase con el resultado de la búsqueda.

En Java casi todo son objetos. La mayoría de los lenguajes orientados a objetos permiten la herencia múltiple, lo que puede llevar a confusiones y/o complicaciones innecesarias. Java no permite herencia múltiple, sólo soporta "Herencia simple" en una estructura cósmica (todas las clases Java derivan jerárquicamente de la clase "Object"). La herencia simple significa que en cada momento cada clase sólo hereda de otra clase. Este tipo de herencia evita problemas del tipo de herencias múltiples contradictorias o exclusivas entre sí.

Java también permite la creación de clases totalmente abstractas, a las que llama interfaces con características similares a los interfaces IDL de CORBA. Las interfaces permiten definir métodos que pueden compartir con varias clases, sin tener en cuenta cómo las otras manejan los métodos.

Seguridad en JAVA.

El código Java pasa muchos test antes de ejecutarse en una máquina. El código se pasa a través de un verificador de bytecodes que comprueba el formato de los fragmentos de código y aplica un probador de teoremas para detectar fragmentos de código ilegal -código que falsea punteros, viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto-.

Si los byteco de pasan la verificación sin generar ningún mensaje de error, entonces sabemos que:

El código no produce desbordamiento de operados en la pila

Page 6: Trabajo de Java

El tipo de los parámetros de todos los códigos de operación son conocidos y correctos

No ha ocurrido ninguna conversión ilegal de datos, tal como convertir enteros en puntero

El acceso a los campos de un objeto se sabe que es legal: public, primate, protector No hay ningún intento de violar las reglas de acceso y seguridad establecidas Evitamos saltos a mitad de una instrucción, o direccionamientos de memoria de un

objeto fuera de los límites del mismo.

El cargador de clases también ayuda a Java a mantener su seguridad, separando el espacio de nombres del sistema de ficheros local, del de los recursos procedentes de la red. Esto limita cualquier aplicación del tipo Caballo de Troya, ya que las clases se buscan primero entre las locales y luego entre las procedentes del exterior.

Definición de API.

API son las iniciales de Aplicación Programé Interface. Pensemos lo siguiente. Por muy completo que sea un lenguaje en cuanto a estructuras, tipos de datos y operadores, para que sea funcional necesita hacer E/S (procesar ficheros, pedir datos por teclado, leer el ratón o visualizar ventanas). La E/S es dependiente del Sistema Operativo. La API es una capa de abstracción que se pone encima del S.O. para permitir hacer entradas y salidas de una manera estandarizada. Se trata de una especificación de una librería software, detallando las llamadas a funciones, los argumentos, y los resultados que obtienes al utilizarlas. Una API sólo existe en papel y no es más que diseño. De hecho, para usar una API necesitas una librería que exista y que implemente esa API.

4) Ventajas y desventajas de utilizar JAVA

Ventajas:

Primero: No debes volver a escribir el código si quieres ejecutar el programa en otra máquina. Un solo código funciona para todos los browsers compatibles con Java o donde se tenga una Máquina Virtual de Java (Mac's, PC's, Sun's, etc.).Segundo: Java es un lenguaje de programación orientado a objetos, y tiene todos los beneficios que ofrece esta metodología de programación (más adelante doy una pequeña introducción a la filosofía 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 demás 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 programación: Cálculos matemáticos, procesadores de palabras, bases de datos, aplicaciones gráficas, animaciones, sonido, hojas de cálculo, etc.

Page 7: Trabajo de Java

Quinto: Si lo que me interesa son las páginas de Web, ya no tienen que ser estáticas, se le pueden poner toda clase de elementos multimedia y permiten un alto nivel de interactividad, sin tener que gastar en paquetes carísimos de multimedia.

Desventajas

Hay diferentes tipos de soporte técnico para la misma herramienta, por lo que el análisis de la mejor opción se dificulta

O Para manejo a bajo nivel deben usarse métodos nativos, lo que limita la portabilidad.

O El diseño de interfaces gráficas con a wt y swing no es simple .o Existen herramientas como el JBuilder que permiten generar interfaces gráficas de manera sencilla, pero tienen un costo adicional.

O Puede ser que no haya JDBC para bases de datos poco comerciales.

O Algunas herramientas tienen un costo adicional

5) Diferencia entre JAVA y Java Script

Rta: Java es un lenguaje de programación OOP, mientras que Java Script es un lenguaje

de scripts OOP. Java crea aplicaciones que se ejecutan en una máquina o explorador virtual,

mientras que el código JavaScript sólo se ejecuta en un explorador. El código Java necesita compilación, mientras que el código JavaScript está en todo

el texto. Necesitan diferentes plugins.

6) Consulte y defina que es PHP

Rta: PHP (acrónimo recursivo de PHP: Hipertexto Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser incrustado en HTML.

Bien, pero ¿qué significa realmente? Un ejemplo nos aclarará las cosas:

En lugar de usar muchos comandos para mostrar HTML (como en C o en Perl), las páginas de PHP contienen HTML con código incrustado que hace "algo" (en este caso, mostrar "¡Hola, soy un script de PHP!). El código de PHP está encerrado entre las etiquetas especiales de comienzo y final <?php y ?> que permiten entrar y salir del "modo PHP".

Page 8: Trabajo de Java

Lo que distingue a PHP de algo del lado del cliente como JavaScript es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá el resultado de ejecutar el script, aunque no se sabrá el código subyacente que era. El servidor web puede ser configurado incluso para que procese todos los ficheros HTML con PHP, por lo que no hay manera de que los usuarios puedan saber qué se tiene debajo de la manga.

Lo mejor de utilizar PHP es su extrema simplicidad para el principiante, pero a su vez ofrece muchas características avanzadas para los programadores profesionales. No sienta miedo de leer la larga lista de características de PHP. En unas pocas horas podrá empezar a escribir sus primeros scripts.

Ejemplo !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"><html>    <head>        <title>Ejemplo</title>    </head>    <body>

        <?php            echo "¡Hola, soy un script de PHP!";        ?>

    </body></HTML>

7). Cuál es la utilidad de PHP

Rta: comenzar introduciendo a que nos referimos con plantilla. Una plantilla va a ser un portada genérica para nuestra web, que solo contendrá los menús y elementos indispensables que además mostraremos en todas las páginas por igual. 

8) Cuáles son las características principales de PHP

Rta: Orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una base de datos.

Es considerado un lenguaje fácil de aprender, ya que en su desarrollo se simplificaron distintas especificaciones, como es el caso de la definición de las variables primitivas, ejemplo que se hace evidente en el uso de php arrays.

Page 9: Trabajo de Java

El código fuente escrito en PHP es invisible al navegador web y al cliente, ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.

Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

Capacidad de expandir su potencial utilizando módulos (llamados ext's o extensiones).

Posee una amplia documentación en su sitio web oficial, entre la cual se destaca que todas las funciones del sistema están explicadas y ejemplificadas en un único archivo de ayuda.

Es libre, por lo que se presenta como una alternativa de fácil acceso para todos.

Permite aplicar técnicas de programación orientada a objetos. Incluso aplicaciones como Zend framework, empresa que desarrolla PHP, están totalmente desarrolladas mediante esta metodología.

No requiere definición de tipos de variables aunque sus variables se pueden evaluar también por el tipo que estén manejando en tiempo de ejecución.

Tiene manejo de excepciones (desde PHP5).

Si bien PHP no obliga a quien lo usa a seguir una determinada metodología a la hora de programar, a un haciéndolo, el programador puede aplicar en su trabajo cualquier técnica de programación o de desarrollo que le permita escribir código ordenado, estructurado y manejable. Un ejemplo de esto son los desarrollos que en PHP se han hecho del patrón de diseño Modelo Vista Controlador (MVC), que permiten separar el tratamiento y acceso a los datos, la lógica de control y la interfaz de usuario en tres componentes independientes.

Debido a su flexibilidad ha tenido una gran acogida como lenguaje base para las aplicaciones WEB de manejo de contenido, y es su uso principal.

9) Ventajas y desventajas de utilizar PHP

Ventajas

- Es un lenguaje multiplataforma.

- Completamente orientado al desarrollo de aplicaciones web dinámicas con acceso a información almacenada en una Base de Datos.

Page 10: Trabajo de Java

- El código fuente escrito en PHP es invisible al navegador y al cliente ya que es el servidor el que se encarga de ejecutar el código y enviar su resultado HTML al navegador. Esto hace que la programación en PHP sea segura y confiable.

- Capacidad de conexión con la mayoría de los motores de base de datos que se utilizan en la actualidad, destaca su conectividad con MySQL y PostgreSQL.

- Capacidad de expandir su potencial utilizando la enorme cantidad de módulos (llamados ext's o extensiones).

Desventajas:

Como es un lenguaje que se interpreta en ejecución para ciertos usos puede resultar un inconveniente que el código fuente no pueda ser ocultado. La ofuscación es una técnica que puede dificultar la lectura del código pero no la impide y, en ciertos casos, representa un costo en tiempos de ejecución

10) Que es programación orientada a objetos

Rta: La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción,polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.