1.introducción a las computadoras, internet y java

23
Aprender a programar Ramiro Estigarribia Canese

Transcript of 1.introducción a las computadoras, internet y java

Aprender a programar

Ramiro Estigarribia Canese

Aprender un Lenguaje➔ Conocer un vocabulario y una gramática no

equivale a saber un idioma. ➔ Conocer un idioma implica además el hábito de

combinar sus elementos de forma automática para producir frases que expresen lo que uno quiere decir.

➔ Conocer las palabras, las sentencias y la sintaxis del lenguaje Java, no equivalen a saber programar, pero son condición necesaria para estar en condiciones de empezar a hacerlo, o de entender cómo funcionan programas ya hechos.

La computadora➔ Es un sistema capaz de procesar con rapidez una

gran cantidad de información. ➔ Además, tiene capacidad para comunicarse con el

exterior, recibiendo datos, órdenes y programas como entrada (por medio del teclado, del ratón, de un pendrive, etc.), y proporcionando resultados de distinto tipo como salida (en la pantalla, en el navegador, en la impresora, en un pendrive, etc.).

Computadoras en Red➔ Las computadoras tienen la capacidad de

conectarse en red para comunicarse entre sí, intercambiando mensajes y ficheros, o compartiendo recursos.

➔ En la actualidad, estas redes tienen cobertura mundial, y pasan por encima de fronteras, de continentes, e incluso de marcas y modelos.

Computadoras en todas partes➔ Actualmente, están presentes en casi todas partes:

los celulares y gran número de electrodomésticos incorporan uno o varios procesadores.

➔ La diferencia principal entre estos sistemas y las computadoras personales, está sobre todo en el carácter especializado que tienen.

Partes de una Computadora➔ Procesador o CPU. Es el corazón del ordenador, que

se encarga de realizar las operaciones aritméticas y lógicas, así como de coordinar el funcionamiento de todos los demás componentes.

➔ Memoria RAM (Random Access Memory). Es el componente del computador donde se guardan los datos y los programas que la CPU está utilizando. Su contenido se borra cuando se apaga o reinicia.

➔ Disco duro. El disco duro es capaz de mantener la información –datos y programas– de modo estable, también con el computador apagado.

¿Qué es un Programa?➔ Un programa está constituido por un conjunto de

instrucciones que se ejecutan de modo secuencial, es decir, cada una a continuación de la anterior.

➔ Recientemente, con objeto de disminuir los tiempos de ejecución de programas críticos por su tamaño o complejidad, se está haciendo un esfuerzo en desarrollar programas paralelos, esto es, programas que se pueden ejecutar simultáneamente en varios procesadores.

Niveles de los Lenguajes➔ Las instrucciones que un procesador es

capaz de entender están constituidas por conjuntos de unos y ceros.

➔ A esto se llama lenguaje binario.➔ Desde casi los primeros años, se comenzaron a

desarrollar los llamados lenguajes de alto nivel, que están mucho más cerca del lenguaje natural.

Niveles de los Lenguajes➔ Los lenguajes de alto nivel son más comprensibles

para el usuario, pero no para el procesador. ➔ Para que éste pueda ejecutarlos es necesario

traducirlos a su propio lenguaje de máquina. ➔ Esta es una tarea que realiza un programa especial

llamado compilador, que traduce el programa a lenguaje de máquina.

Historia de C y C++Java evolucionó de C++, el cual evolucionó de C.El lenguaje C es el trabajo de Dennis Ritchie en los laboratorios Bell, y se implementó en 1972. Inicialmente, se hizo muy popular como lenguaje de desarrollo para el sistema operativo UNIX. En la actualidad, la mayoría del código para los sistemas operativos de computadoras/notebooks se escribe en C++. En cambio el sistema operativo Android, está basado en el modelo de Java.

Revolución de DesarrolloUna revolución se está gestando en la comunidad del software. Escribir software de manera rápida, correcta y económica es aún una meta difícil de alcanzar, en una época en que la demanda de nuevo y más poderoso software se encuentra a la alza.

Historia de JavaSun Microsystems patrocinó en 1991 un proyecto interno de investigación, el cual desembocó en el desarrollo de un lenguaje basado en C++. La idea inicial era facilitar la interacción con electrodomésticos. En principio tuvo poco éxito.La popularidad de World Wide Web explotó en 1993y la gente de Sun se dio cuenta inmediatamente del potencial de Java para agregar contenido dinámico, como interactividad y animaciones, a las páginas WebEsto trajo nueva vida al proyecto.

Java en la actualidadEn la actualidad, Java se utiliza para desarrollar aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores Web,para proporcionar aplicaciones para los dispositivos domésticos (como teléfonos celulares) y para muchos otros propósitos.

Entorno de desarrollo JavaPor lo general, los programas en Java pasan a través de cinco fases: edición, compilación, carga, verificación y ejecución.

Fase 1: Creación de un programaSe escribe un programa en Java utilizando un editor, y se guarda el programa. Un nombre de archivo que termina con la extensión .java indica que éste contiene código fuente en Java. Existen entornos de desarrollo integrados (IDEs). Los IDEs proporcionan herramientas que dan soporte al proceso de desarrollo del software, incluyendo editores para escribir y editar programas, y depuradores para localizar errores lógicos.Los IDEs populares son: Eclipse (www.eclipse.org) y NetBeans (www.netbeans.org).

Fase 2: Compilación El compilador de Java traduce el código fuente en códigos de bytes que representan las tareas a ejecutar en la fase de ejecución (fase 5). La Máquina Virtual de Java (JVM), una parte del JDK y la base de la plataforma Java, ejecuta los códigos. Una máquina virtual (VM) es una aplicación de software que simula a una computadora, pero oculta el sistema operativo y el hardware. Si se implementa la misma VM en muchas plataformas computacionales, las aplicaciones que ejecute sepodrán utilizar en todas esas plataformas.

Fase 3: Cargar en memoriaEl programa debe colocarse en memoria antes de ejecutarse; a esto se le conoce como cargar. El cargador de clases toma los archivos .class que contienen los códigos de bytes del programa y los transfiere a la memoria principal. El cargador de clases también carga cualquiera de los archivos .class que su programa utilice, y que sean proporcionados por Java.

Fase 4: Verificación del código A medida que se cargan las clases, el verificador de códigos de bytes examina sus códigos de bytespara asegurar que sean válidos y que no violen las restricciones de seguridad. Java implementa una estrecha seguridad para asegurar que los programas que llegan a través de la red no dañen sus archivos o su sistema (comopodrían hacerlo los virus de computadora).

Fase 5: EjecuciónLa JVM ejecuta los códigos de bytes del programa, realizando así las acciones especificadas por elmismo. En las primeras versiones de Java, la JVM era tan sólo un intérprete de códigos de bytes de Java. Esto hacía que la mayoría de los programas se ejecutaran con lentitud, ya que la JVM tenía que interpretar y ejecutar un código de bytes a la vez.

Introducción a la tecnología de objetosCrear software en forma rápida, correcta y económica sigue siendo un objetivo difícil de alcanzar en una época en que la demanda de software nuevo va en aumento. Los objetos y las clases son en esencia componentes de software reutilizables. Existen objetos de fecha, objetos de hora, objetosde audio, objetos de automóviles, objetos de personas, etcétera.

Sustantivos son objetosCasi cualquier sustantivo se puede representar de manera razonable como un objeto de software en términos de sus atributos (como el nombre, color y tamaño) y comportamientos (por ejemplo, calcular, moverse y comunicarse).