Programacion Orientada A Objetos
30 de Julio de 2014
3.589 Palabras (15 Páginas)158 Visitas
Fases en el desarrollo de un programa
En este capítulo aprenderá lo que es un programa, cómo escribirlo y qué hacer para que el ordenador lo ejecute y muestre los resultados perseguidos. También adquirirá conocimientos generales acerca de los lenguajes de programación utilizados para escribir programas. Después, nos centraremos en un lenguaje de programación específico y objetivo de este libro, Java, presentando sus antecedentes y marcando la pauta a seguir para realzar un programa sencillo.
Qué es un programa
Probablemente alguna vez haya utilizado un ordenador para escribir un documento o para divertirse con un juego. Recuerde que en el caso de escribir un documento, primero tuvo que poner en marcha un procesador de textos, y que si quiso divertirse con un juego, lo primero que tuvo que hacer fue poner en marcha el juego. Tanto en el procesador de textos como el juego son programas de ordenador.
Poner un programa en marcha es sinónimo de ejecutarlo. Cuando ejecutamos un programa, nosotros sólo vemos el resultado que produce (el procesador de textos muestra en la pantalla el texto que escribimos; el juego visualiza sobre la pantalla las imágenes que van sucediendo) pero no vemos es guion seguido por el ordenador para conseguir estos resultados. Ese guion es el programa.
Ahora, si nosotros escribimos un programa, entonces sí que sabemos cómo trabaja y por qué trabaja de esa forma. Esto es una forma muy diferente y curiosa de ver un programa de ordenador. Lo cual no tiene nada que ver con la experiencia adquirida en la ejecución de distintos programas.
Ahora piense en un juego cualquiera. La pregunta es, ¿qué hacemos si queremos enseñar a otra persona a jugar? Lógicamente le explicamos lo que se debe hacer; esto es, los pasos que tiene que seguir. Dicho de otra forma, le damos instrucciones de cómo debe actuar. Esto es lo que hace un programa de ordenador. Un programa no es más que una serie de instrucciones dada al ordenador en un lenguaje entendido por él, para decirle exactamente lo que queremos que haga. Si el ordenador no entiende alguna instrucción, lo comunicará generalmente mediante mensajes visualizados en la pantalla.
Lenguajes de programación
Un programa tiene que escribirse en un leguaje entendible por el ordenador. Desde el punto de vista físico, un ordenador es una máquina electrónica. Los elementos físicos (memoria, unidad central de proceso, etc.) de que dispone el ordenador para representar los datos son de tipo viario; esto es, cada elemento puede diferenciar dos estados (dos niveles de voltaje). Cada estado se denomina genéricamente bit y se simboliza por 0 o 1. Por tanto, para representar y manipular información numérica, alfabética y alfanumérica se emplean cadenas de bits. Según esto, se denomina byte a la cantidad de información empleada por un ordenador para representar un carácter; generalmente un byte es una cadena de ocho bits.
Así, por ejemplo, cuando un programa le dice al ordenador que visualice un mensaje sobre el monitor, o que imprima sobre una impresora, las instrucciones correspondientes para llevar a cabo esta acción, para que puedan ser entendibles por el ordenador, tienen que estar almacenadas en la memoria como cadenas de bits. Esto hace pensar que escribir un programa utilizando ceros y unos (lenguaje máquina), llevaría mucho tiempo y con muchas posibilidades de cometer errores. Por este motivo, se desarrollan lenguajes ensambladores.
Un lenguaje ensamblador utiliza códigos nemotécnicos para indicarle al hardware (componentes físicos del ordenador) las operaciones que tiene que realizar. Un código nemotécnico es una palabra o abreviatura fácil de recordar que representa una tarea que debe realizar el procesador del ordenador. Por ejemplo.
MOV AH, 4CH
El código MOV expresa una operación consistente en mover alguna información desde una posición de memoria a otra.
Para traducir un programa escrito en ensamblador a lenguaje máquina (código binario) se utiliza un programa llamado ensamblador que ejecutamos mediante el propio ordenador. Este programa tomará como datos nuestro programa escrito en lenguaje máquina, lenguaje que entiende el ordenador.
Cada modelo de ordenador, dependiendo del procesador que utilice, tiene su propio lenguaje ensamblador. Debido esto decimos que estos lenguajes están orientados a la máquina.
Hoy en día son más utilizados los lenguajes orientados al problema o lenguajes de alto nivel. Estos lenguajes utilizan una terminología fácilmente comprensible que se aproxima más al lenguaje humano. En este caso la traducción es llevada a cabo por otro programa denominado compilador.
Cada sentencia de un programa escrita en un lenguaje de alto nivel se descompone en general en varias instrucciones en ensamblador. Por ejemplo:
printf( “hola” );
La función printf del lenguaje C le dice al ordenador que visualice en el monitor la cadena de caracteres especificada. Este mismo proceso escrito en lenguaje ensamblador necesitará de varias instrucciones. Lo mismo podríamos decir del método println de Java:
System.out.println( “hola”);
A diferencia de los lenguajes ensambladores, la utilización de lenguajes de alto nivel no quiere en absoluto del conocimiento de la estructura del procesador que utiliza el ordenador, lo que facilita la escritura de un programa.
Compiladores
Para traducir un programa escrito en un lenguaje de alto nivel (programa fuente) a lenguaje máquina se utiliza un programa llamado compilador. Este programa tomará como datos nuestro programa escrito en lenguaje de alto nivel y dará como resultado el mismo programa pero escrito en lenguaje máquina, programa que ya puede ejecutar directa o indirectamente el ordenador.
Imagen aquí página 6
Por ejemplo, un programa escrito en el lenguaje C necesita del compilador C para poder ser traducido. Posteriormente el programa traducido podrá ser ejecutado directamente por el ordenador. En cambio, para traducir un programa escrito en lenguaje Java necesita un compilador Java; en este caso, el lenguaje máquina no corresponde al del ordenador sino al de una máquina ficticia, denominada máquina virtual Java, que será puesta en marcha por el ordenador para ejecutar el programa.
¿Qué es una máquina virtual? Una máquina virtual que no existe físicamente sino que es simulada en un ordenador por un programa. ¿Por qué utilizar una máquina virtual? Porque, por tratarse de un programa, es muy fácil instalarla en cualquier ordenador, basta con copiar ese programa en su disco duro, por ejemplo. Y ¿Qué ventajas reporta? Pues, en el caso de Java, que un lenguaje escrito en este lenguaje y compilado, puede ser ejecutado en cualquier ordenador del mundo que tenga instalada esa máquina virtual. Esta solución hace posible que cualquier ordenador pueda ejecutar un programa escrito en Java independientemente de la plataforma que utilice, lo que se conoce como transportabilidad de programas.
Intérpretes
A diferencia de un compilador, un intérprete no genera un programa escrito en lenguaje máquina a partir del programa fuente, sino que efectúa la traducción y ejecución simultáneamente para cada una de las sentencias del programa. Por ejemplo, un programa escrito en lenguaje Basic necesita el intérprete Basic para ser ejecutado. Durante la ejecución de cada una de las sentencias del programa, ocurre simultáneamente la traducción.
A diferencia de un compilador, un intérprete verifica cada línea del programa cuando escribe, lo que facilita la puesta a punto del programa. En cambio la ejecución resulta más lenta ya que acarrea una traducción simultánea.
¿Qué es Java?
Java es un lenguaje de programación de alto nivel con el que se pueden escribir tantos programas convencionales como para internet.
Una de las ventajas significativas de java sobre otros lenguajes de programación es que independientemente de la plataforma, tanto en código fuente como en binario. Esto quiere decir que el código producido por el compilador Java puede transportarse a cualquier plataforma (Intel, Spark, Motorola, etc.) que tenga instalada una máquina virtual Java y ejecutarse. Pensando en Internet esta característica por ejemplo, es independiente de la plataforma sólo en código fuente, lo cual significa que cada plataforma diferente debe proporcionar el compilador adecuado para obtener el código máquina que tiene que ejecutarse.
Según lo expuesto, Java incluye dos elementos: un compilador y un intérprete. El compilador produce un código de bytes que se almacena en un fichero para ser ejecutado por el intérprete Java denominado máquina virtual de Java.
Imagen página 7.
Los códigos de bytes de Java son un conjunto de instrucciones correspondientes a un lenguaje máquina que no es específico de ningún procesador si no de la máquina virtual de Java. ¿Dónde consigue esta máquina virtual? Hoy en día casi todas las compañías de sistemas operativos y navegadores han implementado máquinas virtuales según las especificaciones publicadas por Sun Microsystems, propietario de Java, para que sean compatibles con el lenguaje Java. Para las aplicaciones de internet (por ejemplo, los applets ) la máquina virtual está incluida en el navegador y para las aplicaciones Java convencionales, puede venir con el sistema operativo, con el paquete de Java, o bien puede obtenerse a través de internet.
¿Por qué no se diseñó Java para que fuera un intérprete más entre los que hay en el mercado? La respuesta es porque la interpretación, si bien es cierto que proporciona independencia de la máquina, conlleva
...