Description

Introducción a las computadoras, Internet y Java 1 El hombre sigue siendo el equipo más extraordinario de todos. - John F. Kennedy Buen diseño es buen negocio. - Thomas J. Watson, fundador de IBM OB jecti cinco s En este capítulo podrás: ■ Aprender acerca de los últimos acontecimientos emocionantes en el campo de la informática. ■ Aprender hardware, software y redes básico. ■ Entender la jerarquía de datos. ■ Entender los diferentes tipos de lenguajes de programación. ■ Comprender la importancia de Java y otros lenguajes de programación principales. ■ Comprender las bases de programación orientados a objetos. ■ Aprender la importancia de Internet y la web. ■ Aprender un entorno de desarrollo de Java programa- típica. ■ Prueba de manejo de una aplicación Java. ■ Aprender algunas tecnologías clave de software más recientes. ■ Ver la forma de mantenerse al día con las tecnologías de información. 2 Capítulo 1 Introducción a las computadoras, Internet y Java 1.1 Introducción 1.6 Sistemas operativos 1.2 Hardware y software 1.6.1 Windows un sistema operativo propietario 1.2.1 Ley de Moore 1.6.2 código abierto del sistema operativo Linux-Un 1.2.2 Organización del ordenador 1.3 La jerarquía de datos 1.6.3 Android 1.4 Lenguajes máquina, la Asamblea 1.7 Lenguajes de programación Lenguas y lenguajes de alto nivel 1.8 Java 1.5 Introducción a la tecnología de objetos 1.9 Un desarrollo típico de Java 1.5.1 El automóvil como un Objeto Ambiente 1.5.2 Métodos y clases 1.10 Prueba de manejo de una aplicación Java 1.5.3 La instanciación 1.5.4 reutilización 1.11 Internet y la World Wide Web 1.5.5 Los mensajes y las llamadas a métodos 1.11.1 El Internet: una red de redes 1.5.6 Atributos y Variables de instancia 1.11.2 La World Wide Web: hacer que Internet sea 1.5.7 La encapsulación y ocultación de la información fácil de usar 1.5.8 Herencia 1.11.3 Servicios Web y aplicaciones web híbridas 1.5.9 Interfaces 1.11.4 Ajax 1.5.10 Análisis Orientado a Objetos y Diseño (OOAD) 1.11.5 La Internet de las cosas 1.12 Tecnologías de software 1.5.11 El UML (Unified Modeling Language) 1.13 Mantenerse al día con Tecnologías de la información Ejercicios de auto-revisión | Respuestas a los ejercicios de auto-revisión | ejercicios | Hacer una diferencia 1.1 Introducción Bienvenido a Java uno de los lenguajes de programación más utilizados en el mundo. Que ya está familiarizado con las tareas potentes ordenadores realizan. El uso de este libro de texto, que voy a escribir instrucciones de mando de ordenadores para realizar esas tareas. Software (es decir, las instrucciones se escriben) los controles hardware ( es decir, ordenadores). Aprenderás programación orientada a objetos metodología de programación de la llave de -hoy. Vamos a crear y trabajar con muchos objetos de software. Para muchas organizaciones, el idioma preferido para satisfacer sus necesidades empresariales de programación es Java. Java también es ampliamente utilizado para la implementación de aplicaciones y software basados ​en Internet para los dispositivos que se comunican a través de una red. Forrester Research predice más de dos mil millones de PCs estarán en uso en 2015. 1 De acuerdo con Oracle, el 97% de los equipos de la empresa, el 89% de las PC de escritorio, tres mil millones de dispositivos (Fig. 1.1) y el 100% de todos los reproductores Blu-ray Disc ™ ejecutar Java, y hay más de 9 millones de desarrolladores Java. 2 De acuerdo con un estudio realizado por Gartner, los dispositivos móviles seguirá superando los PC como dispositivos informáticos principales del usuario; un estimado de 1.96 mil millones de teléfonos inteligentes y tabletas de 388 millones serán enviados en 2015-8.7 veces el número de PC. 3 En 2018, las aplicaciones móviles 1. http://www.worldometers.info/computers. 2. http://www.oracle.com/technetwork/articles/java/javaone12review-1863742.html. 3. http://www.gartner.com/newsroom/id/2645115. 1.1 Introducción 3 dispositivos sistemas del avión cajeros automáticos sistemas de información y entretenimiento del automóvil reproductores Blu-ray Disc ™ cajas de cable copiadoras Tarjetas de crédito los escáneres de TC Computadores de escritorio lectores electrónicos Consolas de juegos sistemas de navegación GPS Electrodomésticos Inicio sistemas de seguridad interruptores de luz terminales de lotería Dispositivos médicos Teléfonos móviles Las resonancias magnéticas estaciones de pago de estacionamiento impresoras pases de transporte robots routers Tarjetas inteligentes Contadores inteligentes bolígrafos inteligentes Los teléfonos inteligentes tabletas televisores decodificadores de TV termostatos sistemas de diagnóstico de vehículos Fig. 1.1 | Algunos dispositivos que utilizan Java. Se espera (aplicaciones) de mercado para llegar a $ 92 mil millones. 4 Se trata de la creación de oportunidades de empleo significativas para las personas que programan aplicaciones móviles, muchos de los cuales están programados en Java (ver Sección 1.6.3). Java Standard Edition Java ha evolucionado tan rápidamente que esta décima edición de Java Cómo programar -Residencia en Java Standard Edition 7 (Java SE 7) y Java Standard Edition 8 (Java SE 8) -¿Fue publicada tan sólo 17 años después de la primera edición. Java Standard Edition contiene las capacidades necesarias para desarrollar aplicaciones de escritorio y de servidor. El libro se puede utilizar con ya sea Java SE 7 o Java SE 8 (lanzado justo después de este libro fue publicado). Todas las características de Java SE 8 se tratan en secciones modulares, fáciles de incluir-o-omitir todo el libro. Antes de Java SE 8, Java soportado tres paradigmas- programación la programación de procedimiento, programación orientada a objetos y programación genérica. Java SE 8 añade la programación funcional. En el capítulo 17, vamos a mostrar cómo utilizar la programación funcional para escribir programas más rápido, más concisa, con menos errores y que son más fáciles de paralelizar ( es decir, realizar varios cálculos simultáneamente) para aprovechar las arquitecturas de hardware multi-núcleo de hoy en día para mejorar el rendimiento de la aplicación. Java Enterprise Edition Java se utiliza en una amplia gama de aplicaciones que tiene otras dos ediciones tales. los Java Enterprise Edition (Java EE) se orienta hacia el desarrollo a gran escala, aplicaciones de red distribuidos y aplicaciones basadas en web. En el pasado, la mayoría de las aplicaciones informáticas corrieron en equipos “independientes” (ordenadores que no estaban conectados en red). aplicaciones de hoy en día se pueden escribir con el fin de comunicarse entre los ordenadores del mundo a través de Internet y la web. Más adelante en este libro se discute cómo construir este tipo de aplicaciones basadas en la Web con Java. 4. https://www.abiresearch.com/press/tablets-will-generate-35-of-this-years-25- millones-. es probable que esperar pagar por lo menos un poco más para la mayoría de productos y servicios. En este libro. son los costes informáticos dejando caer drásticamente. cofundador de Intel. decodificadores de televisión. discos duros. Durante muchas décadas. Cada año o dos. Irónicamente.2. . reduciendo de esta manera el software de desarrollo costos. el silicio es uno de los materiales más abundantes en la Tierra es un ingrediente en la arena común.86 petaflops)! 5 Para poner esto en perspectiva. aprenderá una metodología de programación de la llave que se mejora la productividad del programador. la Tianhe-2 superordenador puede realizar en un segundo alrededor de 3 millones de cálculos por cada persona en el planeta! Y estos supercomputación “límite superior” están creciendo rápidamente. el nombre de la persona que lo identificó en la década de 1960.2 Hardware y software Las computadoras pueden realizar cálculos y tomar decisiones lógicas fenomenalmente más rápido que los seres humanos pueden. Internet y Java Java Micro Edition los Java Micro Edition (Java ME) -a subconjunto de Java SE-se orienta hacia el desarrollo de aplicaciones para dispositivos integrados de recursos limitados. superordenadores ya están realizando miles de billones (trillones) de instrucciones por segundo! china de la Universidad Nacional de Tianhe-2 superordenador de Tecnología de Defensa puede realizar más de 33 billones de cálculos por segundo (33. unidades de DVD y unidades de procesamiento). Lo contrario ha sido el caso en los campos informáticos y de comunicaciones. la tecnología de chip de silicio ha hecho el cálculo de tan económico que los ordenadores se han convertido en una mercancía. y sus velocidades: los procesadores velocidades a las que se ejecutar sus programas (es decir. 1.4 Capítulo 1 Introducción a las computadoras.org/. http://www. memoria. Gordon Moore. el principal fabricante de los procesadores de los ordenadores actuales y sistemas embebidos. Muchas de las computadoras personales de hoy pueden realizar miles de cálculos en un segundo. la capacidad de los ordenadores tienen aproximadamente duplicado económica. la cantidad de almacenamiento secundario (como el almacenamiento en disco) que tienen que mantener los programas y datos a través de períodos de tiempo más largos.1 Ley de Moore Cada año. datos de proceso de los ordenadores bajo el control de secuencias de instrucciones llamado programas de computador . Esta tendencia notable a menudo se llama La Ley de Moore . Estos programas de software guían al ordenador a través de acciones ordenadas especificados por personas llamadas ordenador programadores . Los equipos que podrían haber llenas habitaciones grandes y cuestan millones de dólares hace décadas están inscritos en los chips de silicio más pequeños que una uña. tales como smartwatches. hacer su trabajo). los costos de hardware han caído rápidamente. observaciones Derecho y afines de Moore se aplican especialmente a la cantidad de memoria que las computadoras tienen los programas. medidores inteligentes (para controlar el uso de la energía eléctrica) y más. 5. con un costo tal vez un par de dólares cada una. 1.programación orientada a objetos. ratón. Un equipo consta de varios dispositivos que se hace referencia como hardware (por ejemplo. más que un ser humano puede realizar en la vida. especialmente en relación con el hardware de apoyo a estas tecnologías. el teclado. debido a la rápida evolución de las tecnologías de hardware y software. pantalla. reproductores MP3.top500. La mayor parte de entrada del usuario se introduce en los ordenadores a través de teclados. pantallas táctiles y dispositivos de ratón. formas más recientes de entrada incluyen datos de posición de un dispositivo de GPS.2 | unidades lógicas de un ordenador. izquierda / derecha y adelante / atrás aceleración) en un controlador de teléfono inteligente o juego (como Microsoft ® Kinect ® y Xbox ®. Tal mejora fenomenal está fomentando la verdad Revolución de la Información.2. como discos duros. Unidad de memoria Este rápido acceso. transmitidos a través de Internet o utilizados para controlar otros dispositivos.) . 1. de relativamente baja capacidad de la sección “almacén” conserva la información que se ha introducido a través de la unidad de entrada. la lectura de dispositivos de almacenamiento secundarios (tales como discos duros. No sabemos de ningún otro campo en el que la tecnología mejora tan rápida y costes caer tan rápidamente. imágenes de escaneado y los códigos de barras. tales como robots y aparatos “inteligentes”. 1. 1. Una forma reciente y popular de salida es la vibración teléfono inteligente. ya sea memoria . Unidad de salida En esta sección el “envío” toma la información que el ordenador ha procesado y la coloca en diversas dispositivos de salida para que esté disponible para su uso fuera de la computadora. Memoria primaria o RAM ( Memoria de acceso aleatorio). La información también es comúnmente de salida para dispositivos de almacenamiento secundario. discos Blu-ray Disc ™ y unidades flash USB-también llamados “unidades flash” o “tarjetas de memoria” ). unidad lógica Descripción unidad de entrada Esta sección de “recepción” obtiene información (datos y programas informáticos) de los dispositivos de entrada y pone a disposición de las otras unidades de procesamiento. (Parte 1 de 2. Otras formas de entrada incluyen recibir comandos de voz. La unidad de memoria se llama a menudo. Un bit es o bien una 0 o una 1.2 Organización del ordenador Independientemente de las diferencias en físico apariencia. Wii Remote ™ y Sony ® Estación de juegos ® Movimiento). por lo que es inmediatamente disponible para su tratamiento cuando sea necesario. 1. La unidad de memoria también conserva procesa la información hasta que pueda ser colocado en dispositivos de salida por la unidad de salida. jugó como audio o vídeo en los ordenadores y reproductores de medios (como el iPod de Apple) y las pantallas gigantes en los deportes estadios. GB significa gigabytes. unidades de DVD. La mayoría de la información que se emite desde los ordenadores está representada hoy en las pantallas (incluyendo pantallas táctiles). UN byte es de ocho bits. un gigabyte es aproximadamente mil millones de bytes. al transmitir vídeos de YouTube ® o descargar libros electrónicos de Amazon). las computadoras pueden ser previstos como dividida en varias unidades lógicas o secciones (Fig. la capacidad de soporte de información) ha atraído una intensa competencia. unidades de DVD y unidades flash USB. y el movimiento y la información de orientación a partir de una acelerómetro (Un dispositivo que responde a arriba / abajo.2). Fig. la recepción de vídeo desde una cámara web y tener su computadora recibir información desde Internet (por ejemplo. Memorias principales en los ordenadores de sobremesa y portátiles contienen tanto como 128 GB de RAM. impresos en papel ( “verde” desalienta a esto).2 Hardware y Software 5 Un crecimiento similar se ha producido en las comunicaciones de campo costes han caído tan enorme demanda de comunicaciones ancho de banda ( es decir. La información contenida en la unidad de memoria es volátil -Es lo general pierde cuando el poder de la computadora está apagada. las funciones impresionantes realizadas por ordenadores implican sólo las manipulaciones simples de 0 s y 1 s. multiplicación y división.3 ilustra una parte de la jerarquía de datos. puede realizar muchas operaciones simultáneamente. unidades de DVD y unidades flash USB. Sorprendentemente. la CPU.%. tales como suma. de alta capacidad de “almacenamiento”. lógicas unidad Contiene también la decisión mecanismos que permiten a la computadora. resta. 1. En los sistemas de hoy en día. días. (Parte 2 de 2. algunos de los cuales pueden contener más de 2 TB (TB significa terabytes. La información sobre dispositivos de almacenamiento secundario es persistente -Es conservan incluso cuando la alimentación del ordenador está apagado. meses o incluso años más tarde. La CPU le dice de a la unidad de entrada cuando la información debe ser leído en la unidad de memoria. Los programas o datos no activamente almacenamiento secundaria siendo utilizados por las otras unidades normalmente se colocan en dispositivos de almacenamiento secundario (por ejemplo. y algunas unidades de disco duro de sobremesa pueden contener hasta 4 TB. pero su costo por unidad es mucho menor. UN procesador multi-núcleo implementa múltiples procesadores en un solo circuito integrado de chip una procesador de doble núcleo tiene dos CPU y una procesador de cuatro núcleos tiene cuatro CPU. Figura 1. Unidad Central En esta sección “administrativa” coordina y supervisa el funcionamiento de las otras secciones. Ejemplos de dispositivos de almacenamiento secundario incluyen discos duros. Internet y Java unidad lógica Descripción Aritméticas y Este “fabricación” realiza sección cálculos. . $. por lo tanto. unidad de Esta es la sección a largo plazo.examinar el valor de un bit. y símbolos especiales ( por ejemplo. @. prefieren trabajar con dígitos decimales ( 0-9).) 1. Los bits El elemento de datos más pequeña en una computadora puede asumir el valor 0 o el valor 1.6 Capítulo 1 Introducción a las computadoras. posiblemente. Se llama poco ( abreviatura de “dígito binario” -a dígitos que puede asumir una de dos valores). En su lugar. un terabyte es aproximadamente un billón de bytes). Muchos de los ordenadores de hoy en día tienen varias CPU y. para (ALU) comparar dos elementos de la unidad de memoria para determinar si son iguales. la ALU se implementa como parte de la unidad lógica siguiente. como los caracteres y campos. cuenta la ALU cuando la Procesamiento (CPU) información de la unidad de memoria se debe usar en los cálculos y le dice a la unidad de salida cuando para enviar información desde la unidad de memoria a ciertos dispositivos de salida. horas. ordenadores de sobremesa de hoy tienen procesadores que pueden ejecutar mil millones de instrucciones por segundo. letras ( A-Z y a-z).2 | unidades lógicas de un ordenador. Caracteres Es tedioso para las personas que trabajan con datos en el formulario de bajo nivel de bits. discos duros típicos en los ordenadores de sobremesa y portátiles con capacidad para 2 TB. Fig. por ejemplo. establecer el valor de un bit y invirtiendo el valor de un bit ( de 1 a 0 o desde 0 a 1).3 La jerarquía de datos Los elementos de datos procesados ​por las computadoras forman una jerarquía de datos que se hace más grande y más compleja en estructura a medida que avanzamos a partir de los elementos de datos simples (llamado “bits”) a los más ricos. información de almacenamiento secundario toma mucho más tiempo para el acceso a la información en la memoria principal. su disco duro) hasta que son necesarias de nuevo. 1. Véase el Apéndice B para obtener más información sobre la ASCII (American Standard Code para Intercambio de Información) puesta en el carácter popular del subconjunto Unicode que representa letras mayúsculas y minúsculas. Y. por lo que el conjunto de caracteres de un ordenador representa cada personaje como un patrón de 1 s y 0 s.. campos se componen de caracteres o bytes.). 1. Las computadoras procesan solamente 1 s y 0 s. -. dos o cuatro bytes (8.3 Datos Jerarquía 7 Salida Negro tom Azul Archivo Judy Verde Iris naranja Cachondo rojo Judy Verde Grabar J udy Campo 00000000 01001010 de caracteres Unicode J 1 Poco Fig. números y algunos caracteres especiales comunes. el registro de un empleado podría consistir en los siguientes campos (los tipos posibles de estos campos se muestran entre paréntesis): . Y /) dígitos. usos de Java Unicode ® caracteres que están compuestos de uno.3 | La jerarquía de datos. Véase el Apéndice H para obtener más información sobre Unicode. 16 o 32 bits). Archivos Varios campos relacionados se pueden utilizar para componer una grabar ( implementado como una clase en Java). Las computadoras conjunto de caracteres es el conjunto de todos los caracteres utilizados para escribir programas y representan elementos de datos. Unicode contiene caracteres de muchas de las lenguas del mundo. letras y símbolos especiales se conocen como caracteres .:?. +". por ejemplo. *. Un campo es un grupo de caracteres o bytes que transmite significado. En un sistema de nómina. y un campo que consiste en dígitos decimales podría representar la edad de una persona. Campos Al igual que los caracteres están compuestos de bits. Por ejemplo. un campo que consta de letras mayúsculas y minúsculas se puede utilizar para representar el nombre de una persona. (. De acuerdo con IBM. De acuerdo con un estudio realizado por Gartner Group. planes de comidas. un registro es un grupo de campos relacionados.cnn. etc. el suministro de datos global alcanzó 2. mayor. big Data aplicaciones ocupan de tales cantidades masivas de datos y este campo está creciendo rápidamente. Los datos para cada estudiante es un registro.5 trillones de bytes (2. Internet y Java • número de identificación de empleado (un número entero) • Nombre (una cadena de caracteres) • Dirección (una cadena de caracteres) • pago por hora (un número con un punto decimal) • las ganancias del año hasta la fecha (un número con un punto decimal) • Cantidad de impuestos retenidos (un número con un punto decimal) Por lo tanto. Por ejemplo.] No es inusual para que una organización tiene muchos archivos. un archivo es visto simplemente como una secuencia de bytes .ibm. en el que los datos se almacenan en simples mesas. de caracteres de información. Vas a ver cómo hacerlo en el capítulo 15.8 Capítulo 1 Introducción a las computadoras. 8. apellido. que contienen algunos miles.8 (zettabytes igual a 2. aproximadamente 2. y las piezas individuales de información de cada registro son los campos. todos los campos pertenecen a la mismo empleado. año. . 7. creando un montón de oportunidades para los desarrolladores de software.com/2013/09/04/big-data-employment-boom/. es una vista creada por el programador de la aplicación. alojamiento en el campus. Se discuten las bases de datos en el capítulo 24. Base de datos UN base de datos es una colección de datos organizados para facilitar el acceso y la manipulación. En algunos sistemas operativos. 7 La Figura 1. tales como la organización de los datos en los registros.co. una universidad puede utilizar los datos de la base de datos de los estudiantes en combinación con los datos de las bases de datos de cursos.4 muestra algunas mediciones byte comunes. Por ejemplo. [ Nota: De manera más general. Una tabla incluye archivos y campos. En el ejemplo anterior. http://www.uk/news/datablog/2012/dec/19/big-data-study-digital- -universo-volumen global. 8 6. El modelo más popular es la base de datos relacional. un archivo contiene datos arbitrarios en formatos arbitrarios. número de identificación y el punto de grado promedio campos.cualquier organización de los bytes de un archivo.com/software/data/bigdata/. Una empresa podría tener muchos empleados y un registro de nómina para cada uno.8 billones de gigabytes) en 2012. http://www-01.5 exabytes) de los datos se crean a diario y el 90% de los datos del mundo fue creado en tan sólo los últimos dos años! 6 De acuerdo con un estudio del universo digital. o incluso billones. big Data La cantidad de datos que se produce en todo el mundo es enorme y crece rápidamente. más de 4 millones de empleos de TI a nivel mundial apoyarán grandes volúmenes de datos por el año 2015. ordenar y manipular los datos en función de su relación con varias tablas o bases de datos. archivos UN archivo es un grupo de registros relacionados. Usted puede buscar. una tabla de los estudiantes podría incluir nombre.fortune.guardian. http://tech. Los lenguajes de alto nivel Máquinas Idiomas Cualquier computadora puede entender directamente sólo su propio Lenguaje de máquina . lenguajes de máquina generalmente consisten en cadenas de números (en última instancia.000.000. Los lenguajes ensambladores 3.000.000. Estas abreviaturas formaron la base de lenguajes ensambladores .000. lenguajes de máquina son dependiente de la máquina ( un lenguaje de máquina en particular se puede utilizar en un solo tipo de equipo).000.000 bytes) 1 exabyte (EB) 1024 petabytes 10 18 ( 1. lenguajes de máquina 2.000.000.4 Lenguajes máquina.000 de bytes) 1 terabyte (TB) 1024 gigabytes 10 12 ( 1. a la reducción de 1s y 0s) que instruyen a las computadoras para realizar sus operaciones más elementales uno a la vez.000.000.000. Estos pueden dividirse en tres tipos generales: 1.000.000 bytes) 1 gigabyte (GB) 1024 megabytes 10 9 ( 1. he aquí una sección de un programa de nóminas en lenguaje de máquina principios que añade pago de horas extras a salario base y almacena el resultado en el salario bruto: + 1300042774 + 1400593419 + 1200274027 Idiomas y montadores de ensamblaje Programación en lenguaje de máquina era simplemente demasiado lento y tedioso para la mayoría de los programadores. 1.000. Cientos de estos idiomas están en uso hoy en día.000 bytes) 1 petabyte (PB) 1024 terabytes 10 15 ( 1.000. lenguajes ensambladores y los lenguajes de alto nivel 9 Unidad bytes Que es aproximadamente 1 kilobytes (KB) 1024 bytes 10 3 ( 1024 bytes exactamente) 1 megabyte (MB) 1024 kilobytes 10 6 ( 1.000. En lugar de utilizar las cadenas de números que las computadoras podían entender directamente. 1. 1.4 Lenguajes máquina. algunos directamente comprensible por los ordenadores y otros que requieren intermedia traducción pasos.4 | mediciones de bytes. el montaje Idiomas y de alto nivel Idiomas Los programadores escriben instrucciones en varios lenguajes de programación.000.000 bytes) Fig. Por ejemplo.000. Tales lenguajes son engorrosos para los seres humanos. definido por su diseño de hardware. La siguiente sección de un programa de nóminas en lenguaje ensamblador también añade pago de horas extras a salario base y almacena el resultado en el salario bruto: carga basepay añadir pagar de la tienda grosspay .000.000.000.000 bytes) 1 zettabyte (ZB) 1024 exabytes 10 21 ( 1. programas Traductor llamado montadores fueron desarrollados para convertir programas en lenguaje ensamblador a principios de lenguaje de máquina a velocidades de computación.000. los programadores comenzaron a usar abreviaturas Inglés-como para representar operaciones elementales. el pedal se esconde desde el controlador de los complejos mecanismos que hacen realidad el coche ir más rápido. o más precisamente.5. Supongamos que usted quiere conducir un coche y hacer que vaya más rápido pulsando el pedal del acelerador. ya que la demanda de software nuevo y más potente se han disparado. Diremos más sobre intérpretes en la sección 1. 1. alguien tiene que diseño eso. Un coche comienza típicamente como dibujos de ingeniería. Java es uno de los lenguajes de programación de alto nivel más ampliamente usados. al igual que el pedal de freno “oculta” los mecanismos que frenan el coche.9. y el volante “oculta” los mecanismos que convierten el coche.10 Capítulo 1 Introducción a las computadoras. antes de poder conducir un coche. correcta y económica sigue siendo un objetivo difícil de alcanzar. objetos de tiempo. evitar el retraso de la compilación. nombre. etc. la construcción de software de forma rápida. Hay objetos de fecha. objetos de audio. a pesar de que corren más lento que los programas compilados.5 Introducción a la tecnología de objetos Hoy en día. Lo que debe suceder antes de que pueda hacer esto? Bueno. objetos objetos de automóviles. Internet y Java A pesar de que dicho código es más claro para los seres humanos. grupos de desarrollo de software se puede utilizar un enfoque de diseño-y-aplicación orientada a objetos modular para ser mucho más productivo que con las técnicas anteriormente populares como “programación estructurada” programas orientados a -objeto suelen ser más fáciles de entender. Estos dibujos incluyen el diseño de un pedal de acelerador. frenos y mecanismos de dirección funcionan para conducir un coche con facilidad. Un programa de nóminas escrito en un lenguaje de alto nivel podría contener una soltero declaración como grossPay = basePay + overTimePay Desde el punto de vista del programador. lenguajes de alto nivel son preferibles a los lenguajes de máquina y de montaje.1 El automóvil como un Objeto Para ayudarle a entender los objetos y sus contenidos. desarrollados para ejecutar programas en lenguaje de alto nivel directamente. lenguajes de alto nivel se desarrollaron en el que los estados individuales podrían ser escritos para realizar las tareas sustanciales. corregir y modificar. Casi cualquier sustantivo puede ser razonablemente representado como un objeto de software en términos de atributos (Por ejemplo. el movimiento y la comunicación). el cálculo. objetos personas. Interprete programas. 1. Los lenguajes de alto nivel permiten escribir las instrucciones que se ven casi como Inglés todos los días y contendrá comúnmente utilizados notaciones matemáticas. es incomprensible para los ordenadores hasta que traducido al lenguaje de máquina. el uso del ordenador aumentado rápidamente. donde aprenderá que Java utiliza una mezcla de rendimiento optimizado inteligente de la recopilación e interpretación para ejecutar programas. . Alto nivel Lenguajes y Compiladores Con la llegada de los lenguajes ensambladores. vídeo. Objetos. similares a la planos que describen el diseño de una casa. color y tamaño) y (comportamientos por ejemplo. la clases objetos provienen de. son esencialmente reutilizable componentes de software. intérpretes Compilación de un programa de lenguaje de alto nivel de gran tamaño en lenguaje de máquina puede tomar un tiempo considerable ordenador. pero los programadores todavía tenía que utilizar numerosas instrucciones para llevar a cabo incluso las tareas más simples. vamos a empezar con una simple analogía. Esto permite a las personas con poco o ningún conocimiento de cómo funcionan los motores. Traductor programas llamados compiladores convertir programas en lenguaje de alto nivel a lenguaje de máquina. Para acelerar el proceso de programación. En Java. Antes de poder conducir un coche. una clase que representa una cuenta bancaria puede contener un método para depositar dinero a una cuenta. que debe ser construido a partir de los dibujos de ingeniería que lo describen. La reutilización de las clases existentes en la construcción de nuevas clases y programas de ahorro de tiempo y esfuerzo. tales como su color. Un coche tiene una completado real pedal del acelerador para hacer que vaya más rápido. el coche no se acelerará por su propia cuenta (¡ojalá!).5. depuración y actuación sintonización. Reutilización también ayuda a construir sistemas más fiables y eficaces. 1. enviar mensajes a un objeto. El proceso de hacer esto se llama instanciación. Ingeniería de Software 1. y así sucesivamente. debe construir un objeto de una clase antes de que un programa puede realizar las tareas que los métodos de la clase definen. 1. su velocidad actual y su registro de totales . presionando su pie del acelerador envía una mensaje al coche para realizar una tarea.5. por lo que el conductor debe prensa el pedal para acelerar el coche. Esta la reutilización del software es un beneficio clave de la programación orientada a objetos.1 Observación Utilizar un enfoque de bloques de construcción para crear sus programas.5 Introducción a la tecnología de objetos 11 Así como no se puede cocinar comidas en la cocina de un modelo. Por ejemplo. La realización de una tarea en un programa requiere una método . 1. El método oculta estas declaraciones de su usuario. clases reutilizables son cruciales para la revolución del software que ha sido impulsada por la tecnología de objetos. su número de puertas. El método alberga las sentencias de programa que realmente realizan sus tareas. Por ejemplo.2 Métodos y clases Vamos a usar nuestro ejemplo coche para introducir algunos conceptos clave de la programación orientada a objetos. 1.3 La instanciación Del mismo modo que alguien tiene que construir un coche a partir de sus dibujos de ingeniería antes de que realmente puede conducir un coche. Cada mensaje se implementa como una llamada al método que cuenta un método del objeto para realizar su tarea. 1. Evitar reinventar el uso de ruedas piezas de alta calidad existentes siempre que sea posible. el volante.5. Un objeto se denomina entonces como una ejemplo de su clase. 1. al igual que el pedal del acelerador de un coche se esconde en el controlador de los mecanismos de hacer que el coche vaya más rápido. para ir más rápido. además de tener la capacidad para llevar a cabo las tareas. la cantidad de gas en su tanque. también tiene atributos.es decir. Una clase es similar en concepto a los dibujos de ingeniería de un coche.4 reutilización Al igual que los dibujos de ingeniería de un coche puede ser reutilizado muchas veces para construir muchos coches. un programa puede llamar a una cuenta bancaria objeto de depositar Método para aumentar el balance de la cuenta. Del mismo modo que la noción de partes intercambiables fue crucial para la revolución industrial.5 Los mensajes y las llamadas a métodos Cuando se conduce un coche. Del mismo modo. que albergan el diseño de un pedal de acelerador.5.6 Atributos y Variables de instancia Un coche. se puede reutilizar una clase muchas veces para construir muchos objetos. porque las clases y componentes existentes a menudo han sufrido una amplia pruebas. pero incluso eso no es suficiente. otro para retirar dinero de una cuenta y una tercera a preguntar lo que el saldo actual de la cuenta es.5. no se puede conducir dibujos de ingeniería de un coche. se crea una unidad de programa llamado clase para albergar el conjunto de métodos que realizan las tareas de la clase. Esta ocultación de información .9 Interfaces Java también soporta las interfaces -collections de métodos relacionados que normalmente le permiten contar objetos qué hacer. 1. Una clase (y de su objeto) atributos y métodos están íntimamente relacionados.7 La encapsulación y ocultación de la información Las clases (y sus objetos) encapsular . Estos atributos se especifican como parte de la clase del objeto. atributos del vehículo se representan como parte de su diseño en sus diagramas de ingeniería (que.10 Análisis Orientado a Objetos y Diseño (OOAD) Pronto estará escribiendo programas en Java. y los tipos de dispositivos en los que se almacenan estos elementos. 1. clases pueden implementar métodos de una interfaz diferentemente. el techo puede ser elevado o bajado. sus atributos y métodos. Un objeto. cada uno de los cuales pueden tener uno o más métodos. etc. el control de los sistemas de calefacción y aire acondicionado.8 Herencia Una nueva clase de objetos puede crearse convenientemente herencia -la nueva clase (llamada subclase ) comienza con las características de una clase existente (llamada superclase ). textos. 1. un objeto de cuenta de banco tiene una atributo de equilibrio que representa la cantidad de dinero en la cuenta. usted simplemente encienda .5.12 Capítulo 1 Introducción a las computadoras. 1. En nuestra analogía del coche. por ejemplo. pero más específicamente. pero no cuánto hay en los tanques de otro carros. de manera similar.5. a pesar de que los fabricantes pueden implementar estos sistemas diferentemente. Al igual que sus capacidades. un pedal de acelerador y un pedal de freno permitiría a un conductor para contar el coche qué que hacer. se puede conducir todo tipo de vehículos. incluyen un cuentakilómetros y un indicador de combustible). Cada objeto bankaccount conoce el saldo de la cuenta que representa. pero no los saldos de la otro cuentas en el banco. Una vez que sepa cómo utilizar esta interfaz para girar. Por ejemplo. Por ejemplo. Por ejemplo. Las clases pueden implementar estos métodos de manera diferente. Cada coche mantiene su propio atributos.5. el control de la radio. estos atributos se realizan junto con el coche. pero no cómo hacerlo (veremos una excepción a esto en Java SE 8). audios. pero que normalmente no se nos permite saber cómo otros objetos son detalles de la implementación práctica son oculto dentro de los propios objetos. dependiendo de los tipos de cosas que se copian. tales como los programas. Internet y Java millas recorridas (es decir. tal como un coche implementa interfaces separadas para las funciones básicas de conducción. En la analogía del coche. es decir. y similares. encase.5. Una clase implementos cero o más interfaces. un objeto de clase “convertible” sin duda es una objeto de la más general la clase de “automóvil”. como veremos. Del mismo modo que los fabricantes de automóviles implementar capacidades diferentemente. posiblemente la personalización de ellos y la adición de características únicas de su propia. A medida que conduce un coche real. vídeos. es crucial para la buena ingeniería de software. cada coche sabe cuánto gas está en su propio tanque de gas. una interfaz “-conducción básica en las capacidades” que consiste en un volante. las instrucciones del programa) para sus programas? Tal vez.. al igual que muchos programadores. acelerar y frenar. la lectura del odómetro). un sistema de software puede incluir una interfaz de “copia de seguridad” que ofrece los métodos salvar y restaurar. tiene atributos que lleva a lo largo de como se utiliza en un programa. Los atributos están especificados por la clase de variables de instancia . Los objetos pueden comunicarse entre sí. ¿Cómo va a crear la código ( es decir. Programación en un lenguaje tal. 1.000 desarrolladores de software construir la próxima generación del sistema de control de tráfico aéreo de Estados Unidos? Para proyectos tan grande y compleja. luego usarlos en nuestro tratamiento más profundo de la programación orientada a objetos a través del Capítulo 11. iPad y iPod Touch). Windows y Mac OS X. Si este proceso implica el análisis y el diseño de su sistema desde un punto de vista orientado a objetos. con pantalla táctil y soporte multi-touch. Windows Phone 8 y BlackBerry OS. Ventanas prestado muchos conceptos (tales como iconos. un solo lenguaje gráfico para la comunicación de los resultados de alguna OOAD proceso ha entrado en el uso de ancho. Es de lejos el sistema operativo más utilizado del mundo. Lo ideal sería pasar por este proceso y cuidadosamente revisar el diseño (y tienen su diseño revisados ​por otros profesionales de software) antes de escribir ningún código. 1. Este enfoque puede funcionar para pequeños programas (como los que presentamos en los primeros capítulos del libro).6 Sistemas operativos Sistemas operativos son sistemas de software que hacen que el uso de computadoras más conveniente para los usuarios. populares sistemas operativos de escritorio incluyen Linux. se debe seguir una detallada análisis proceso para determinar su proyecto de requisitos ( es decir. en paralelo) con otras aplicaciones. llamada programación orientada a objetos (POO) . populares sistemas operativos móviles utilizados en los teléfonos inteligentes y tabletas incluir Android de Google. Microsoft desarrolló el sistema operativo Windows .5. menús y ventanas) popularizado por primeros sistemas operativos de Apple Macintosh y originalmente desarrollados por Xerox PARC. le permite implementar un diseño orientado a objetos como un sistema de trabajo. no se debe simplemente sentarse y empezar a escribir programas. Para crear las mejores soluciones. se llama una orientado a objetos análisis-y-diseño del proceso (OOAD) . eficiente y concurrentemente ( es decir. . 1. Presentamos nuestros primeros diagramas UML en los capítulos 3 y 4. mejoras en la seguridad.6. En nuestro Opcional línea ATM Ingeniería de Software Estudio de caso en los capítulos 33-34 se presenta un simple subconjunto de las características del UML que le guiará a través de una experiencia de diseño orientado a objetos. Proporcionan servicios que permiten a cada aplicación para ejecutar de forma segura. una interfaz de usuario basada en azulejos. 1.6 Sistemas operativos 13 el ordenador y empezar a escribir. Windows es una propiedad sistema operativo que está controlado por Microsoft exclusivamente. Lenguajes como Java son orientado a objetos. que consiste en una interfaz gráfica de usuario integrada en la parte superior de un sistema operativo DOS-computadora personal enormemente populares que los usuarios interactuaron con tecleando comandos. iOS de Apple (para sus dispositivos iPhone. El software que contiene los componentes básicos del sistema operativo es el núcleo . pero lo que si se le pedirá que cree un sistema de software para el control de miles de cajeros automáticos de un banco importante? O supongamos que se le pidió que trabajar con un equipo de 1.1 Windows un sistema operativo propietario A mediados de la década de 1980.11 El UML (Unified Modeling Language) Aunque existen muchos diferentes procesos de desarrollo OO. especificando cómo el sistema debe hacerlo). desarrolladores de aplicaciones y administradores de sistemas. la definición de qué el sistema se supone que debe hacer) y el desarrollo de una diseño que les satisfaga (es decir. El Lenguaje de Modelado Unificado (UML) es ahora el esquema gráfico más utilizado para los sistemas orientados a objetos de modelado. Windows 8 es el sistema de sus operativo más reciente de Microsoft características incluyen PC y el apoyo comprimido. y mucho más. satélites de la NASA.facebook.strategyanalytics.3% de la mundial teléfono inteligente cuota de mercado. particulares y empresas en todo el mundo. por ejemplo. Inc. A partir de abril de 2013.2 código abierto del sistema operativo Linux-Un los Linux sistema operativo.com/opensource. Algunas organizaciones de la comunidad de código abierto son la Fundación Eclipse ( el Eclipse entorno de desarrollo integrado ayuda a los programadores de Java convenientemente desarrollan software). que fue adquirida por Google en 2005. tales como los teléfonos inteligentes basados ​en Android de Google. fue construido con un software de código abierto. Ubuntu Linux y muchos otros) -han impidió generalizado el uso de Linux en ordenadores de sobremesa.openhandsetalliance. 9 Una variedad de temas. El kit de desarrollo de Java y muchas tecnologías Java relacionadas son ahora de código abierto. 10. Uno de los beneficios de desarrollar aplicaciones de Android es la apertura de la plataforma. el Apache Software Foundation ( creadores de la servidor web Apache ese presenta las páginas web a través de Internet en respuesta a las solicitudes de navegador Web) y GitHub y SourceForge ( que proporcionan el herramientas para la gestión de proyectos de código abierto). tablets.com/2013/04/16/google-daily-android-activations-1-5- millón/.5 millones de dispositivos Android (smartphones. tales como el poder de Microsoft mercado. etc. Facebook. en comparación con 13. Las rápidas mejoras a la informática y las comunicaciones. Los programadores de Java experimentados pueden sumergirse rápidamente en el desarrollo de Android.3 Android Androide -el más rápido crecimiento operativo móvil y el teléfono inteligente sistema se basa en el núcleo de Linux y utiliza Java. televisores. Internet y Java 1. 4. El sistema operativo Android fue desarrollado por Android. http://developers. tabletas. cámaras.6. consolas de videojuegos. Cualquiera puede usar y personalizar para sus propios fines. el Open Handset Alliance ™ -que ahora tiene 87 miembros de la compañía en todo el mundo ( http://www. 10 Para octubre de 2013. de la salud 9.technobuffalo. impulsar la innovación en tecnología móvil y mejorar la experiencia del usuario y reducir los costos.1% para Microsoft y el 1% para Blackberry. Sin embargo. 1.) se activaban diario. http://www.aspx globales. mantener y evolucionar Android. 11 dispositivos Android ahora incluyen los teléfonos inteligentes. los software de código abierto estilo de desarrollo se aparta de la propiedad estilo de desarrollo (utilizado. 11. con Windows de Microsoft y de Apple Mac OS X). El sistema operativo es de código abierto y libre. .com/WSS/post/2013/10/31/Android-Captures-Record- 81-Porcentaje Share-of-smartphone-envíos-en-Q3-2013. Linux se ha convertido en muy popular en los servidores y en sistemas embebidos. disminuir los costos y el software de código abierto han hecho más fácil y más económico para la creación de empresas basadas en software ahora que hace unas pocas décadas. lectores electrónicos.4% para Apple. En 2007. motores de aviones. que fue lanzado desde un dormitorio de la universidad. mantenimiento y software de evolución.. el número relativamente pequeño de aplicaciones Linux fáciles de usar y la diversidad de las distribuciones de Linux (Red Hat Linux.6. Con el desarrollo de código abierto. refrigeradoras.com/oha_memb . la Fundación Mozilla ( creadores de la Firefox navegador web). http://blogs. a menudo.se formó para desarrollar. ordenadores personales y sistemas embebidos-es tal vez el mayor éxito de la fuente abierta movimiento. un informe de Strategy Analytics mostró que Android tenía el 81. por lo general sin costo alguno. que es popular en servidores. contribuir con sus esfuerzos en el desarrollo. robots. más de 1.14 Capítulo 1 Introducción a las computadoras. smartwatches. COBOL COBOL (Common negocios Oriented Language) fue desarrollado en la década de 1950 por los fabricantes de ordenadores.7 Lenguajes de programación En esta sección. consola de juegos. etc. se tratarán de Java. el gobierno estadounidense y los usuarios de computadoras industriales basadas en un lenguaje desarrollado por Grace Hopper.com/articles/2013-05-29/behind-the-internet-of-things- es-android-y-su-en todas partes. Lenguaje de programación Descripción Fortran Fortran (Traductor de fórmulas) fue desarrollado por IBM Corporation en los mid1950s para aplicaciones científicas y de ingeniería que requieren cálculos matemáticos complejos. Es todavía ampliamente utilizado. Facebook. se comentan brevemente en varios lenguajes de programación (Fig. y si tienen éxito.5). Android Cómo programar. 1. En el momento de escribir esto. segunda edición.7 Lenguajes de Programación 15 dispositivos.wikipedia.google. (Parte 1 de 3) 12. Pascal La investigación en la década de 1960 dio lugar a programación estructurada -un enfoque disciplinado para escribir programas que sean más claras. Un resultado de esta investigación fue el desarrollo en 1971 del lenguaje de programación Pascal. Sólo recuerde. y en nuestro libro profesional. Estos dispositivos de mano incluyen a todo color pantallas multitáctiles que le permiten controlar el dispositivo con gestos la participación de un solo toque o múltiples toques simultáneos. que fue diseñado para la programación de la enseñanza estructurada y fue muy popular en los cursos universitarios desde hace varias décadas. COBOL es aún ampliamente utilizado para aplicaciones comerciales que requieren la manipulación precisa y eficiente de grandes cantidades de datos. Android para programadores: Un Enfoque AppDriven. que incluso puede ser capaz de poner en marcha un negocio. más fácil de probar y depurar y más fáciles de modificar que los grandes programas producidos con técnicas anteriores. reproductor de MP3. un contralmirante US Navy y científico de la computación que también abogó por la normalización internacional de programación idiomas. lo encontrará fácil de comenzar a desarrollar y ejecutar aplicaciones de Android.) y más. Microsoft y Dell fueron lanzados desde los dormitorios de la universidad. En la siguiente sección. http://www.com). Puede descargar aplicaciones directamente en su dispositivo Android a través de Google Play y otros mercados de aplicaciones. Fig.businessweek. GPS. sistemas de información y entretenimiento del automóvil en el vehículo (para controlar la radio. Usted puede colocar sus aplicaciones en Google Play ( play. cliente de Internet (para la navegación web y la comunicación por Internet). 12 los teléfonos inteligentes Android incluyen la funcionalidad de un teléfono móvil. 13 Se presenta una introducción al desarrollo de aplicaciones para Android en nuestros libros de texto. cámaras digitales y más. segunda edición. y sus versiones más recientes apoyan la programación orientada a objetos. 1.org/wiki/Google_Play. había más de un millón de aplicaciones en Google Play . y el número está creciendo rápidamente. . 1. Después de aprender Java. 13. Su última versión es compatible con la programación orientada a objetos.5 | Algunos otros lenguajes de programación. 1. termostatos. llamadas telefónicas. http://en. pero lo más importante. el lenguaje de Visual Basic de Microsoft Visual Basic se introdujo a principios de 1990 para simplificar la desarrollo de aplicaciones de Microsoft Windows. Perl Perl (Practical Extraction e Informe de Idiomas). hija del poeta Lord Byron. Está dotado de todos los navegadores web. C ++ proporciona varias características que “arreglar” el lenguaje C. se desarrolló bajo el patrocinio del Departamento de Defensa (DOD) durante la década de 1970 y principios de 1980. Internet y Java Lenguaje de programación Descripción Ada Ada. otro lenguaje de programación orientado a objetos. JavaScript JavaScript es el lenguaje de programación más utilizado. C ++ C ++. Ada también es compatible con la programación orientada a objetos. BASIC BASIC fue desarrollado en la década de 1960 en el Dartmouth College para familiarizarse con las técnicas de programación novatos. Python se basa fuertemente en Modula-3-un lenguaje de programación de sistemas. basado en Pascal. animaciones y una mejor interactividad con el usuario. es utilizado por millones de sitios web. de código abierto lenguaje de programación orientado a objetos con el apoyo de una comunidad de usuarios y desarrolladores. Objetivo-C Objective-C es otro lenguaje orientado a objetos basado en C. Visual C ++ (basado en C ++) y Visual C # (basado en C ++ y Java. Ella acredita con la escritura primer programa de ordenador del mundo a principios de 1800 (para el dispositivo de computación mecánica máquina analítica diseñada por Charles Babbage). se dio a conocer en 1991. (Parte 2 de 3) . que a su vez fue adquirida por Apple. fue desarrollado en 1987 por Larry Wall. Se utiliza principalmente para el comportamiento dinámico a las páginas-web de ejemplo. Se desarrolló en el década de 1980 y posteriormente adquirida por NeXT. El lenguaje Ada lleva el nombre de lady Ada Lovelace. que está basado en C. Se ha convertido en el lenguaje de programación clave para el sistema operativo OS X y todos los dispositivos iOSpowered (tales como iPods. Desarrollado por Guido van Rossum del Instituto Nacional de Investigación de Matemáticas e Informática de Ámsterdam (CIT). Visual C# tres lenguajes de programación primaria orientados a objetos de Microsoft son Visual Basic (basado en la base original). Linux. iPhones y iPads). Sus versiones más recientes soportan programación orientada a objetos. dieciséis Capítulo 1 Introducción a las computadoras. PHP PHP. que proporciona capacidades para la programación orientada a objetos. y desarrollado para la integración de Internet y la web en las aplicaciones informáticas). una. Pitón Python. fue desarrollado por Bjarne Stroustrup en la década de 1980 en los Laboratorios Bell. Python es “extensible” -se puede extenderse a través de clases e interfaces de programación.5 | Algunos otros lenguajes de programación. En un principio se hizo ampliamente conocido como lenguaje de desarrollo del sistema operativo UNIX. la mayor parte del código para los sistemas operativos de propósito general está escrito en C o C ++. 1. incluyendo el popular de código abierto MySQL. Cuenta con ricas capacidades de procesamiento de texto. PHP también soporta muchas bases de datos. Fig. Mac y Windows. Hoy en día. do C fue desarrollado en la década de 1970 por Dennis Ritchie en los Laboratorios Bell. Muchos de sus versiones más recientes son orientado a objetos. El Departamento de Defensa quería un solo idioma que llenaría la mayoría de sus necesidades. uno de los lenguajes de programación orientadas a objetos más utilizados para la programación web. PHP es existen plataformas independientes-implementaciones para todos los principales sistemas operativos UNIX. 5 | Algunos otros lenguajes de programación. Muchos desarrolladores de Ruby on Rails han reportado aumentos de la productividad con respecto a otros idiomas cuando en desarrollo de aplicaciones web. Rendimiento Tip 1. Sun Microsystems en 1991 financió un proyecto de investigación corporativa interna dirigido por James Gosling. Reconociendo esto. la programación orientada a objetos lenguaje con una sintaxis simple que es similar a Python. de la Java Rubí llamó en loslacarriles atención de la Ruby. de Java comunidad creadodea negocios mediadosdebido al interés de la década de 1990. lo que resultó en un basado en C ++ lenguaje de programación orientado a objetos que llama Sun Java. Ruby on Rails combina el lenguaje de scripts de Ruby con el marco de aplicación web desarrollada por los carriles 37Signals. .37signals. Los microprocesadores han tenido un profundo impacto en los dispositivos inteligentes de consumo electrónico. Esto también reduce el tiempo de desarrollo del programa. Getting Real ( gettingreal. Java es también la lengua clave para el desarrollo de teléfonos inteligentes y tabletas Android aplicaciones. cargar. Java ahora se utiliza para desarrollar aplicaciones empresariales a gran escala. 1. Normalmente hay cinco fases-editar.8 Java La contribución más importante de la revolución del microprocesador hasta la fecha es que permitió el desarrollo de los ordenadores personales. 1. también conocido como el Java APIs (interfaces de programación de aplicaciones) . Los discutimosenenlas el páginas contexto web. Sin embargo. bases de datos intensivos. (Parte 3 de 3) 1. televisión set-top cajas y más) y para muchos otros propósitos. es una lectura obligada para los desarrolladores web. y ejecutar. Fig. tales como la interactividad verificar y animaciones.9 Un entorno de desarrollo de Java típica Ahora nos explicamos los pasos para crear y ejecutar una aplicación Java. Su libro. la mayoría de los programadores de Java se aprovechan de las ricas colecciones de clases y métodos existentes en los bibliotecas de clases de Java . teléfonos inteligentes. para mejorar la funcionalidad de los servidores web (los ordenadores que proporcionan el contenido que vemos en nuestros navegadores web). Bibliotecas de clases de Java Puede crear cada clase y el método que necesita para formar los programas Java. Un objetivo clave de Java es ser capaz de escribir programas que se ejecutarán en una gran variedad de sistemas informáticos y dispositivos controlados por el ordenador. fenomenal en la web. compilar. 1.com/toc. porque están cuidadosamente escritas para llevar a cabo de manera eficiente. Esto a veces se llama “escribir una vez. para proporcionar aplicaciones para dispositivos de consumo (teléfonos celulares. Sun Microsystems fue adquirida por Oracle en 2010.8 de Java 17 Lenguaje de programación Descripción es un código abierto.1 El uso de clases y métodos en lugar de escribir sus propias versiones puede mejorar el rendimiento del programa de API de Java.php). ejecutar en cualquier lugar.” La web explotó en popularidad en 1993. y Sun vio el potencial del uso de Java para añadir contenido dinámico . com) y jEdit ( www. Dos editores ampliamente utilizados en sistemas Linux son vi y emacs.editplus.org). tendrá que volver a la Fase 1 y corregirlos.class que contiene la versión compilada. Fase 2: Compilación de un programa Java en bytecodes En la fase 2.18 Capítulo 1 Introducción a las computadoras. 1. TextPad ( www.jedit. . 1.com).java.java en la ventana de comandos del sistema (es decir. Hay muchos entornos de desarrollo Java populares. EditPlus ( www.org) • NetBeans ( www.org) • IntelliJ IDEA ( www.textpad.com/books/jhtp10 proporcionamos buceo-En ® videos que muestran cómo ejecuta aplicaciones Java de este libro y cómo desarrollar nuevas aplicaciones Java con Eclipse. Java Fig.6 | fase de edición de entorno de desarrollo de Java típico.com) En la página web del libro en www. el compilador produce una . incluyendo Notepad ++ ( notepad-plus-plus.eclipse. hacer las correcciones necesarias y guardarlo en un dispositivo de almacenamiento secundario. Usando el editor. Por ejemplo. tales como editores. windows proporciona Bloc. se utiliza el comando javac ( el compilador de Java ) a compilar un programa (Fig. el Símbolo del sistema en Windows. Programa se crea en un editor y se almacena en el disco en un archivo Fase 1: Editar Editor Disco cuyo nombre termina con.netbeans.7). lo que indica que el archivo contiene el código fuente de Java. como su disco duro. Java extensión . archivos de código fuente de Java se les da un nombre que termina con el .org). Linux y OS X.jetbrains. diremos más acerca de los tipos de errores que el compilador puede detectar. Si el programa se compila. OS X ofrece Edición de textos. Si el compilador detecta errores. Muchos editores freeware y shareware también están disponibles en línea. 1. depuradores para la localización errores lógicos ( errores que causan los programas a ejecutar de forma incorrecta) y más. NetBeans y IntelliJ IDEA. el Terminal aplicación en OS X) o un shell Linux (también llamado Terminal en algunas versiones de Linux). debería escribir javac Welcome. clase archivo llamado Welcome. entornos de desarrollo integrado (IDE) proporcionar herramientas que apoyan el proceso de desarrollo de software. En el capítulo 2. ver el Antes de que empieces sección para obtener información sobre cómo descargar e instalar el JDK en Windows. que invoca el javac comando para usted.6). Fase 1: Creación de un programa Fase 1 consiste en editar un archivo con una programa de edición. para compilar un programa llamado Welcome. incluyendo: • Eclipse ( www. IDE suelen proporcionar un elemento de menú. normalmente conocido simplemente como una editor (Fig. Internet y Java SE 8 Development Kit (JDK). como por ejemplo Construir o Hacer. escriba un programa Java (normalmente conocido como código fuente ).deitel. Memoria primaria cargador de clases lee Fase 3: Cargar cargador . El compilador de Java traduce el código fuente de Java en bytecodes que representan las tareas a ejecutar en la fase de ejecución (Fase 5). UN máquina virtual ( VM ) es una aplicación de software que simula un ordenador. Por ejemplo.NET de Microsoft utiliza una arquitectura de máquina virtual similar. clase se pueden cargar archivos desde un disco en su sistema o en una red (por ejemplo. su universidad local o de red de la empresa o Internet). La JVM es una de las máquinas virtuales más utilizados. independiente del hardware de ordenador específico). clase archivos proporcionados por Java que utiliza su programa. los códigos de bytes de Java son portátil -sin volver a compilar el código fuente. para ejecutar una aplicación Java llamada Bienvenido. Asimismo. que invoca el Java comando para usted. Por lo tanto. las aplicaciones escritas para ese tipo de máquina virtual se puede utilizar en todas las plataformas. esto se conoce como cargando (Fig.7 | fase entorno de compilación de desarrollo Java típico.9 Un entorno de desarrollo de Java típica 19 Compilador crea código de bytes y los almacena en el disco en un archivo cuyo Fase 2: Recopilar Compilador Disco nombre termina con. las cargas cualquiera de los. la JVM coloca el programa en la memoria para ejecutarlo. 1. 1. que son dependientes de la plataforma ( es decir. memoria Disco Clase Fig. clase archivos que contienen los códigos de bytes de disco y pone los códigos de bytes en la . 1. . las mismas instrucciones de código de bytes pueden ejecutar en cualquier plataforma que contiene una JVM que entiende la versión de Java en el que se recopilaron los códigos de bytes. . . pero oculta el sistema operativo subyacente y el hardware de los programas que interactúan con él. clase archivos que contienen los códigos de bytes y los transfiere a la memoria principal del programa. como por ejemplo Correr. clase Fig.8) . 1. A diferencia de instrucciones en lenguaje máquina.La JVM de cargador de clases toma el . que luego iniciar los pasos necesarios para ejecutar la aplicación.8 | fase entorno de desarrollo de Java carga típica. . Fase 3: Carga de un programa en la memoria En la fase 3. debería escribir el comando Bienvenido java en una ventana de comandos para invocar la JVM. IDE suelen proporcionar un elemento de menú. La JVM es invocado por el Java mando. Los . los máquina virtual de Java ( JVM ) -a parte del JDK y el fundamento de la plataforma Java-ejecuta los códigos de bytes. las instrucciones de código de bytes son plataforma independiente. Esto comienza la fase 3. Si la misma máquina virtual se ejecuta en muchas plataformas de computación. tales como Oracle compilador Java HotSpot ™ . 1. la JVM lee los Memoria códigos de bytes y justo a tiempo (JIT primaria compila) (es decir. en busca de Puntos calientes -partes de los códigos de bytes que se ejecutan con frecuencia. el verificador de código de bytes examina sus códigos de bytes para asegurarse de que son válidos y no violan las restricciones de seguridad de Java (Fig.9). 1. Java impone una fuerte seguridad para asegurarse de que los programas Java que llegan por la red no dañan sus archivos o su sistema (como virus y gusanos informáticos podría).10 | fase entorno de ejecución de Java desarrollo típico.9 | fase entorno de desarrollo de Java de verificación típica. realizando así las acciones especificadas por el programa (Fig. Por ejemplo. una justo a tiempo ( JIT ) compilador . La mayoría de los programas de Java se ejecute lentamente. Por estas partes. . el código de lenguaje de máquina más rápido se ejecuta. En este proceso. Internet y Java Fase 4: Verificación Bytecode En la Fase 4. Problemas que pueden ocurrir en tiempo de ejecución Los programas pueden no funcionar en el primer intento. Cuando la JVM se encuentra con estas partes compilados de nuevo. durante la ejecución. Algunas arquitecturas informáticas modernas pueden ejecutar varias instrucciones en paralelo. 1. puede almacenar valores de datos en la memoria . Para ejecutar el programa. principal. Cada una de las fases anteriores pueden fallar debido a diversos errores que vamos a discutir en este libro. la JVM ejecuta bytecodes del programa.10). Fase 5: Ejecución En la Fase 5. En las primeras versiones de Java. se traduce) a un lenguaje Fase 5: Ejecutar Java Virtual Machine (JVM) que la computadora pueda entender. Memoria primaria verificador de código de bytes Fase 4: Verificar Verificador de código de bytes confirma que todos los códigos de bytes son válidos y no violan las restricciones de seguridad de Java . la JVM era simplemente una Interprete de bytecodes Java. ya que las clases son cargados. A medida que el programa se ejecuta. . . . la bytecodes se traducen en Lenguaje de máquina para el equipo real en el que se ejecuta el programa. debido a que la JVM sería interpretar y ejecutar un código de bytes a la vez. Por lo tanto los programas de Java en realidad pasan por dos compilación fases-uno en el que el código fuente se traduce en bytecodes (para portabilidad a través de JVM en diferentes plataformas de ordenador) y una segunda en la que. 1. JVM de hoy en día se suelen ejecutar los códigos de bytes utilizando una combinación de interpretación y los llamados just-in-time (JIT) compilación . traduce el código de bytes en lenguaje de máquina del ordenador subyacente. un programa en ejecución . Fig. la JVM analiza el código de bytes a medida que se interpretan.20 Capítulo 1 Introducción a las computadoras. Fig. le permite arrastrar el ratón para “pintar”. 1.] Los pasos de esta sección muestran cómo ejecutar el Pintor aplicación de una Símbolo del sistema ( Windows). tales como nombres de archivo. a menudo produciendo resultados incorrectos. nos referiremos a estas ventanas simplemente como ventanas de comandos. Terminal ( OS X) o Windows Shell (Linux) en su sistema. que acorta las ventanas para ahorrar espacio. como títulos y menús (por ejemplo. respectivamente. Cuando decimos que un programa muestra un mensaje.1 Errores como la división por cero se producen como se ejecuta un programa. rectángulo o un óvalo) y si la forma se rellena con el color de dibujo.10 prueba de manejo de una aplicación Java 21 podría tratar de dividir por cero (una operación ilegal de números enteros aritmética en Java). los Pintor aplicación. También puede deshacer la última forma que ha añadido al dibujo o borrar todo el dibujo. ProgramName. Los elementos y funcionalidad que usted ve aquí son típicos de lo que aprenderá a programar en este libro. A lo largo del libro.java). Realice los siguientes pasos para usar la Pintor aplicación para dibujar una cara sonriente: 1. Esto haría que el programa Java para mostrar un mensaje de error. en un sans-serif Lucida fuente. Si esto ocurriera. la Archivo Menú) en un semibold Helvetica sans-serif fuente y hacer hincapié en los elementos nonscreen. por lo que se llaman los errores de ejecución o errores en tiempo de ejecución . La figura 1. 1. [ Nota: La mayoría de los programas en los datos de entrada o salida de Java. En Linux / OS X. Los mensajes y otros datos pueden ser la salida a otros dispositivos. se encontrará con e interactuar con su primera aplicación Java. la forma de dibujar (línea. normalmente nos referimos a que muestra que el mensaje en la pantalla de su ordenador. se puede controlar el color de dibujo. . Lea la sección Antes de comenzar a confirmar que usted tiene configurar Java correctamente en el equipo. haga las correcciones necesarias y proceder a través de las fases restantes de nuevo para determinar las correcciones que arreglaron el problema (s). Linux y OS X. ejecuta la aplicación. Nuestra convención es poner de relieve características de la pantalla. los errores de ejecución no fatales permiten que los programas se ejecuten por completo. Suponemos que los ejemplos del libro se encuentran en C: ejemplos \ en Windows o en la de su cuenta de usuario Documentos / ejemplos carpeta en Linux / OS X. Utilizando el Pintor 'S interfaz gráfica de usuario (GUI). o incluso a una red para la transmisión a otros equipos. tendría que volver a la fase de edición.10 Prueba de manejo de una aplicación Java En esta sección. tales como discos e impresoras en papel. Cambiar al directorio de la aplicación completa. Pintor). [ Nota: Utilizamos fuentes de distinguir entre las características. seguido de la nombre de la aplicación de. Comprobación de la configuración. 2. 3. Abrir una ventana de comandos y utilizar el discos compactos comando para cambiar al directorio (también llamado carpeta) Para el Pintor solicitud. Recordemos que el Java comando. programa o código de entrada (por ejemplo. que se va a construir a lo largo de varios ejercicios. Escriba el comando java Pintor y pulse Entrar para ejecutar la aplicación. los errores de ejecución fatales hacer que los programas de terminar inmediatamente sin tener éxito realizado su trabajo. entonces presione Entrar. Ejecución de la Pintor solicitud.] Error común de programación 1. el tipo cd ~ / Documents / examples / CH01 / pintor. que ha copiado ejemplos del libro en su disco duro y que sabe cómo abrir una ventana de comandos en el sistema. clase presentar (en este caso.11 muestra la aplicación que se ejecuta en Windows. En el tipo de Windows cd C: \ ejemplos \ CH01 \ pintor. entonces presione Entrar. Cerca botón Fig. clase extensión cuando se utiliza el Java comando resulta en un error.12). Linux y OS X. Además. Cerca botón do) Pintor aplicación que se ejecuta en OS X.ClassDefFoundError: Pintor. 1. Es importante que escriba el nombre de esta aplicación como Pintor con un capital PAG. [ Nota: comandos de Java son distingue mayúsculas y minúsculas -es decir. Especificación del. la solicitud será no ejecutar.] 4. De lo contrario.22 Capítulo 1 Introducción a las computadoras." el sistema dispone de una CLASSPATH problema. las letras mayúsculas son diferentes de letras minúsculas. Seleccionar Amarillo como el color de dibujo. 1. arrastre el ratón para dibujar un óvalo grande (Fig. Internet y Java un) Pintor aplicación se ejecuta en Windows Cerca botón Seleccionar un color Borrar todo el Seleccione una forma dibujo Especificar si un rectángulo Deshacer la última o un óvalo está forma que se lleno de colores añadió al dibujo segundo) Pintor aplicación que se ejecuta en Linux.No. si recibe el mensaje de error “ Excepción en hilo "principal" java. . Oval como la forma y comprobar el Lleno casilla de verificación. Dibujar un óvalo amarillo lleno de la cara.11 | Pintor aplicación que se ejecuta en Windows 7.lang. Por favor refiérase a la sección Antes de comenzar para obtener instrucciones para ayudar a solucionar este problema. a continuación. a continuación. Seleccionar Negro como el color y el dibujo Línea como la forma. Dibujo ojos azules. 1. Líneas no tienen relleno. 1. 1. 5. Dibujo cejas negras y una nariz. dibujar las cejas y una nariz (Fig.10 prueba de manejo de una aplicación Java 23 Fig.13). 6.13 | Dibujo ojos azules. a continuación. Seleccionar Azul como el color de dibujo. 1. dibuje dos pequeños óvalos como los ojos (Fig. . por lo que salir de la Lleno casilla de verificación marcada no tiene efecto cuando el trazado de líneas.14).12 | Dibujar un óvalo amarillo lleno de la cara. 1. Fig. 15). a continuación. Internet y Java Fig.24 Capítulo 1 Introducción a las computadoras. dibujar una boca (Fig.14 | Dibujo cejas negras y una nariz. dibuje un óvalo para cambiar el óvalo magenta en una sonrisa (Fig. Seleccionar Magenta como el color y el dibujo Oval como el forma. . 7. Dibujar un óvalo amarillo en la boca para hacer una sonrisa. a continuación. 1.16). Fig. 1. 1. Seleccionar Amarillo como el dibujo color. 8.15 | Dibujo de una boca de color magenta. 1. Dibujo de una boca de color magenta. Hoy en día velocidades más rápidas de Internet son del orden de mil millones de bits por segundo con velocidades trillionbit por segundo en el horizonte! Las cosas funcionaron de manera diferente respecto al plan original. que consta de piezas numeradas secuencialmente llamados paquetes. con el correo electrónico. ARPA-la Agencia de Proyectos de Investigación Avanzada del Departamento de Defensa de Estados Unidos extiende el plazo a cabo los planes para la creación de redes de los principales sistemas informáticos de aproximadamente una docena de universidades financiadas por ARPA e instituciones de investigación. .11 Internet y la World Wide Web A finales de 1960.000 bits por segundo. Al cerrar la ventana hace que el Pintor aplicación terminar. 9.11 Internet y la World Wide Web 25 Fig. 1.16 | Dibujar un óvalo amarillo en la boca para hacer una sonrisa. llegado intacto y se ensamblaron en el orden correcto. La investigación académica estaba a punto de dar un salto de gigante. una tasa impresionante en un momento cuando la mayoría de la gente (de los pocos que aún tenían acceso a redes) se conectan a través de líneas telefónicas a las computadoras a una velocidad de 110 bits por segundo. TCP garantiza que los mensajes. Aunque la ARPANET permitió a los investigadores en red sus ordenadores. el precursor de hoy Internet . fueron dirigidas bien del emisor al receptor. su principal beneficio resultó ser la capacidad para la comunicación rápida y fácil a través de lo que llegó a ser conocido como el correo electrónico (e-mail). ARPA procedió a poner en práctica lo que rápidamente se hizo conocido como ARPANET. 1. Las computadoras eran para ser conectado con las líneas de comunicaciones que operan a velocidades del orden de 50. Para salir de la Pintor aplicación. haga clic en el Cerca botón (en la esquina superior derecha de la ventana en Windows y de la esquina superior izquierda en Linux y OS X). al salir de la Pintor solicitud. Esto es cierto incluso en la Internet de hoy. 1. transferencia de archivos y medios sociales como Facebook y Twitter permite a mil millones de personas en todo el mundo para comunicarse de forma rápida y fácil. mensajería instantánea. El protocolo (conjunto de reglas) para comunicarse a través de la ARPANET se conoce como la Protocolo de Control de Transmisión (TCP) . las organizaciones de todo el mundo fueron la aplicación de sus propias redes. Internet y Java 1.11. Uno de los retos era permitir a estas redes diferentes para comunicarse entre sí. gráficos. independientemente de la discapacidad.1 El Internet: una red de redes En paralelo con la evolución temprana de la Internet. Las empresas se dieron cuenta rápidamente de que mediante el uso de la Internet. Como resultado. idioma o cultura.2 La World Wide Web: hacer que Internet sea fácil de usar los Red mundial ( simplemente llamado “la web”) es un conjunto de hardware y software asociado con la Internet que permite a los usuarios de la computadora para localizar y documentos basados ​en multimedia de vista (documentos con varias combinaciones de texto. llamada Consorcio Mundial de la red ( W3C . En este libro. la arquitectura actual de Internet. animaciones.com/apis/ directorio / 1? sort = mashups). En 1989.3 Servicios Web y aplicaciones web híbridas En el capítulo 32 en línea. la HyperText Markup Language (HTML) .org con las capacidades de mapeo de mapas de Google para ofrecer mapas que muestran la ubicación de viviendas en venta o alquiler en un área determinada. Una gran variedad de hardware y software de red apareció. entre organizaciones) de comunicación. 1. Uno de los objetivos principales de la W3C es hacer la web accesible a todos. En 1994.26 Capítulo 1 Introducción a las computadoras. Las empresas comenzaron a gastar grandes cantidades de dinero para desarrollar y mejorar su presencia en Internet. ARPA logra esto mediante el desarrollo del protocolo de Internet (IP).17).programmableweb. www. La metodología aplicaciones de desarrollo de mashups le permite desarrollar rápidamente aplicaciones de software de gran alcance mediante la combinación de (a menudo gratis) complementarios servicios web y otras formas de información alimenta. que se refirió como la World Wide Web.craigslist. 1. tanto para intraorganization (es decir. El conjunto combinado de protocolos se llama ahora TCP / IP . incluimos un tratamiento sustancial de los servicios web (Fig. ( Parte 1 de 2. Esto generó una fuerte competencia entre los operadores de comunicaciones y proveedores de hardware y software para satisfacer la creciente demanda de infraestructura. Tim Berners-Lee de CERN (Organización Europea para la Investigación Nuclear) comenzaron a desarrollar una tecnología para compartir información a través de los documentos de texto “hipervínculos”. dentro de una organización) y Interorganizaciones (es decir. La introducción de la web era un acontecimiento relativamente reciente. dedicado al desarrollo de tecnologías web. 1. 1.) . va a utilizar Java para crear aplicaciones basadas en web.w3. que creó una verdadera “red de redes”. Una de las primeras mashups combinan los listados de bienes raíces proporcionados por www.17 | Algunos servicios web populares ( www. fuente de los servicios web Cómo se usa mapas de Google servicios de mapas Gorjeo microblogging Fig.11. podrían mejorar sus operaciones y ofrecer nuevos y mejores servicios a sus clientes.11. BernersLee llamó a su invención. Berners-Lee fundó una organización. También escribió los protocolos de comunicación tales como Protocolo de transferencia de hipertexto (HTTP) para formar la columna vertebral de su nuevo sistema de información de hipertexto. audios y videos) sobre casi cualquier tema . mientras que los costos de hardware han caído en picado.org). ancho de banda -la capacidad de transportar información de comunicaciones líneas en Internet ha aumentado enormemente. es una Internet de las Cosas . Vamos a usar las direcciones IP para construir aplicaciones en red en el capítulo 28 en línea.11. un coche con un transpondedor para los peajes que pagan. ( Parte 2 de 2.17 | Algunos servicios web populares ( www.com/apis/ directorio / 1? sort = mashups). 1. dado que este tipo de aplicaciones sufren retardos de transmisión de datos como se iba y venía entre el ordenador y el servidor de ordenadores en Internet. un monitor cardiaco implantado en un ser humano.com Customer Relationship Management (CRM) Skype la telefonía por Internet microsoft Bing Buscar Flickr compartir foto Zillow la fijación de precios de bienes raíces yahoo Search Buscar Insecto de lluvia Clima Fig.5 La Internet de las cosas Internet ya no es sólo una red de ordenadores.programmableweb.11 Internet y la World Wide Web 27 fuente de los servicios web Cómo se usa Youtube búsqueda de vídeo Facebook Redes sociales Instagram compartir foto Firme Check-in móvil LinkedIn Las redes sociales para los negocios Groupon Comercio social Netflix alquiler de películas eBay subastas en Internet Wikipedia enciclopedia colaborativa PayPal pagos Last FM radio Internet comercio electrónico Amazon Compras para los libros y muchos otros productos Salesforce. Aunque no discutimos la programación Ajax “en bruto” (que es bastante compleja) en este texto. 1. . un medidor inteligente que reporta el uso de energía. aplicaciones como Google Maps han logrado un excelente rendimiento y abordar el aspecto y la sensación de las aplicaciones de escritorio. aplicaciones móviles que pueden realizar un seguimiento el movimiento y la ubicación. nosotros mostramos en el capítulo 31 en línea cómo construir aplicaciones habilitadas para el uso de Ajax componentes JavaServer Faces compatibles con el Ajax (JSF). y termostatos inteligentes que ajustan la temperatura ambiente sobre la base de las previsiones meteorológicas y la actividad en el hogar.4 Ajax Ajax ayuda a las aplicaciones basadas en Internet funcionan como aplicaciones de un escritorio tarea difícil.) 1.11. UN cosa es cualquier objeto con una dirección IP y la capacidad de enviar datos de forma automática a través de una red. El uso de Ajax. 1. por ejemplo. Es ampliamente empleado con metodologías ágiles de desarrollo. Se accede al servicio a través de un navegador. Muchos IDE contienen incorporados herramientas de refactorización hacer grandes porciones de la reelaboración de forma automática. El campo de patrones de diseño intenta enumerar esos patrones recurrentes. Apache. preservando su corrección y funcionalidad. con más en camino. a menudo a un costo considerable en tiempo y dinero. animando a los diseñadores de software reutilizar a desarrollar el software de mejor calidad con menos tiempo. para que pueda ejecutar las mismas aplicaciones en una amplia variedad de equipos desde cualquier parte del mundo. Salesforce. Software como Software en general ha sido visto como un producto.12 Tecnologías de software Figura 1. El equivalente para el desarrollo de Windows es WAMP. Patrones de diseño Patrones de diseño se ha comprobado para la construcción de arquitecturas flexibles y mantenible software orientado a objetos. Amazon EC2 y Windows Azure ™.agilemanifesto. Apache. Tecnología Descripción ágil de software Desarrollo Ágil de Software es un conjunto de metodologías que tratan de conseguir el desarrollo software implementado más rápido y con menos recursos. refactoring refactoring implica reelaboración programas para hacerlos más claros y fáciles de mantener. Apache es el software más popular servidor web. Cuando se actualiza el servidor. Este proceso puede llegar a ser engorroso para las organizaciones que deben mantener decenas de miles de sistemas en una amplia gama de equipos informáticos.agilealliance. Plataforma como Plataforma como servicio (PaaS) proporciona una plataforma informática para el desarrollo y ejecución de Servicio (PaaS) aplicaciones como un servicio a través de Internet. Se discuten los patrones de diseño de Java en el Apéndice línea N. Internet y Java 1. dinero y esfuerzo. Servicio (SaaS) Si desea ejecutar una aplicación. PHP es el más popular del lado del servidor lenguaje de código abierto “scripting” para el desarrollo de aplicaciones web. Con Software como Servicio (SaaS) . Fig. Los navegadores son muy portátil. en lugar de instalar las herramientas en su computadora. Hemos creado centros de recursos en la mayoría de estos temas.18 enumera una serie de palabras de moda que se oirá en la comunidad de desarrollo de software. Echa un vistazo a la Alianza Ágil ( www. Google y de Microsoft Office Live y Windows Live todos ofrecen SaaS.com. MySQL y PHP. todos los clientes en todo el mundo ver las nuevas capacidades no es necesaria la instalación local. DVD o descarga de la web. MySQL y PHP ( o Perl o Pitón -dos otros lenguajes de scripting). la mayoría del software todavía se ofrece de esta manera.28 Capítulo 1 Introducción a las computadoras.org) y el manifiesto ágil ( www. usted compra un paquete de software de un proveedor de software. A medida que aparecen nuevas versiones.ventanas. Que a continuación se instala el software en su ordenador y ejecutarlo cuando sea necesario.) .18 | tecnologías de software. a menudo un CD. el software se ejecuta en los servidores de otros lugares en Internet. actualizar su software. MySQL es un sistema de gestión de bases de datos de código abierto. (Parte 1 de 2. Algunos proveedores de PaaS son Google App Engine. LÁMPARA LÁMPARA es un acrónimo de las tecnologías de código abierto que muchos desarrolladores utilizan para construir aplicaciones web-que representa Linux.org). 1. 19 | Software terminología de liberación del producto. . La computación en nube también ahorra dinero al trasladar la carga de la gestión de estas aplicaciones para el proveedor de servicios. visitada en equipos remotos (o servidores) a través de Internet y disponible en la demanda. cada una más completa y pulida que la anterior (fig. ( en su mayoría) libre y listo para su uso por la candidatos comunidad. versiones alfa son a menudo con errores. búsqueda de Google o Gmail) generalmente beta no tienen números de versión. Fig. (Parte 2 de 2. Nube Software Kits de desarrollo de software (SDK) incluir las herramientas y los desarrolladores de documentación utilizan Development Kit para programar aplicaciones. Por ejemplo. Las compañías de software a menudo distribuir actualizaciones incrementales a través de Internet.19). Grandes. Cuando los grandes productos de software están en fase de desarrollo. finalmente. Continuo Software que se ha desarrollado utilizando este enfoque (por ejemplo. Beta Beta versiones se liberan a un mayor número de desarrolladores más adelante en el proceso de desarrollo después de la mayoría de los grandes errores han sido corregidos y nuevas características son casi completa. Esto le permite aumentar o disminuir los recursos informáticos para satisfacer sus necesidades en un momento dado. 1. etc. el producto final es liberado al público en general. Puede utilizar el software y los datos almacenados en el informática -es decir “nube”. Lanzamiento candidatos de liberación son generalmente Completar función. Lanzamiento final Cualquier error que aparecen en la versión candidata se corrigen. software beta es más estable. 1. en lugar de tenerlo almacenado en su escritorio. lo que es más rentable que la compra de hardware para proporcionar suficiente capacidad de almacenamiento y potencia de procesamiento para satisfacer las demandas pico ocasionales. 1. obtener retroalimentación temprana.) El software es compleja. con diferentes limitaciones y para una variedad de propósitos de errores. incompleta e inestable y se liberan a un número relativamente pequeño de los desarrolladores para probar nuevas características. 1. por lo general están a disposición de Fig. vamos a usar el Kit de Desarrollo de Java (JDK) para generar y (SDK) ejecutar aplicaciones Java. pero aún sujetas a cambios. lo que proporciona una prueba de diversa con el medio ambiente que el software se utiliza en sistemas diferentes.12 Software Technologies 29 Tecnología Descripción SaaS y PaaS son ejemplos de computación en la nube . Se aloja en el nube ( no se han instalado en el ordenador) y que está en constante evolución para que los usuarios tienen siempre la versión más reciente. aplicaciones de software del mundo real pueden tomar muchos meses o incluso años para Versión Descripción Alfa Alfa software es el primer lanzamiento de un producto de software que aún está en desarrollo activo. diseñar e implementar.18 | tecnologías de software. y. ordenador portátil o dispositivo móvil. las comunidades de usuarios como una serie de comunicados. html.cnn. Ejercicios de auto-revisión 1. Internet y Java 1.pcworld.com/ResourceCenters.30 Capítulo 1 Introducción a las computadoras. . c) Los tres tipos de lenguajes analizados en el capítulo son .computerworld.com eWeek www.theverge.sdtimes. d) Los programas que traducen programas en lenguaje de alto nivel a lenguaje de máquina se denominan .com SD Times www.com/magazines/fortune GigaOM gigaom.1 Llenar los espacios en blanco en cada una de las siguientes afirmaciones: a) Los datos de proceso Informática bajo el control de conjuntos de instrucciones llamadas .computer.businessweek.org/portal/web/computingnow/computer InfoWorld www.com CNET news.cnet.com Comunicaciones del ACM cacm.com Bloomberg BusinessWeek www.org Mundo de la informática www.com Mundo PC www.com The Next Web thenextweb.deitel.wired. Publicación URL AllThingsD allthingsd. .engadget. y .infoworld.ycombinator. También puede encontrar una lista cada vez mayor de Internet.com Wired www.com Slashdot slashdot.com/ Fortuna money.com Hacker News news.com Revista IEEE Computer www. 1.fastcompany.com Engadget www.com Fast Company www.eweek.y centros de recursos relacionados con la web en www.com Mashable mashable.com Techcrunch techcrunch. y .com Fig.acm.13 Mantener Up-to-Date con Tecnologías de la Información Figura 1. .org/ Technology Review technologyreview. . b) Las unidades lógicas clave de la computadora son la .20 listas de publicaciones técnicas y de negocios que le ayudará a mantenerse al día con las novedades y tendencias y la tecnología.20 | publicaciones técnicas y de negocios.com la Verge www. g) acelerómetro. e) El archivo producido por el compilador de Java contiene que son ejecutados por el Java Máquina virtual. 1. (supuestamente) libre de errores y listo para su uso por la comunidad. d) Una nueva clase de objetos puede ser creado convenientemente por . Ceremonias 1. b) unidad de entrada. e) El Lenguaje de Modelado Unificado (UML). 1.5): a) Objetos permitir la práctica del diseño . b) los programadores de Java se concentran en la creación de . Respuestas a los ejercicios de auto-revisión 1. e) bytecodes. posiblemente la personalización de ellos y la adición de características únicas de su propia. d) herencia. d) compiladores. color y peso de un objeto se consideran de la clase del objeto. c) El proceso de análisis y diseño de un sistema desde un punto de vista orientado a objetos se llama . d). la unidad de salida.4 Llenar los espacios en blanco en cada una de las siguientes afirmaciones: a) La unidad lógica que recibe información desde fuera del ordenador para su uso por el ordenador es la .1 programas A). Respuestas a los ejercicios de auto-revisión 31 mi) es un sistema operativo para dispositivos móviles basados ​en el kernel de Linux y Java. unidad de memoria. la aritmética y la unidad lógica. c). f) El tamaño. forma. c) Un archivo de código fuente de Java debe acabar con el extensión de archivo. mi) es un lenguaje gráfico que permite a las personas que los sistemas de software de diseño para utilizar una notación estándar de la industria para representarlos. c) lenguajes de máquina. que contienen los campos y el conjunto de métodos que manipulan esos campos y proporcionan servicios a los clientes. f) Release Candidate.2 un) Java. mi) y son unidades lógicas del equipo que retienen información. segundo) javac. F) software es generalmente característica completa.la nueva clase (llamada la subclase) comienza con las características de una clase existente (llamada la superclase). la unidad de almacenamiento secundario. . f) atributos. b) El proceso de instruir a la computadora para resolver un problema se llama . Java. b) clases. c) análisis orientado a objetos y diseño (OOAD). así como muchos teléfonos inteligentes. do) es un tipo de lenguaje de programación que utiliza abreviaturas Englishlike para obtener instrucciones en lenguaje máquina.3 a) ocultación de información. gramo) es una unidad lógica de la computadora que toma decisiones lógicas. lenguajes de alto nivel. 1. utilice una (n) que permite la de- tornillo de banco para responder al movimiento.aunque pueden saber cómo com- municar entre sí a través de interfaces bien definidas. F) es una unidad lógica del ordenador que realiza los cálculos. re) es una unidad lógica que envía información que ya ha sido procesada por el ordenador para varios dispositivos de manera que se puede utilizar fuera del ordenador. 1.3 Rellena los espacios en blanco en cada una de las declaraciones siguientes (basado en la Sección 1. el archivo generado por el compilador termina con la extensión de archivo. que normalmente no se les permite saber cómo otros objetos se implementan.2 Rellenar los espacios en blanco en cada una de las siguientes frases sobre el entorno Java: a) La comando desde el JDK ejecuta una aplicación Java. b) La comando desde el JDK compila un programa Java. e) Android. g) El mando de Wii. lenguajes de montaje. clase. d) Cuando se compila un programa en Java. unidad central de procesamiento. visite nuestro Haciendo la Diferencia en el Centro de Recursos makingadifference www. tales como editores de programas de escritura y edición.com/. e) La toma el .6 Llenar los espacios en blanco en cada una de las siguientes afirmaciones: a) los programas de Java pasan normalmente a través de cinco fases: . llegó intacto y se ensamblaron en el orden correcto. encapsulación. que consta de piezas numeradas secuencialmente llamados bytes. Organizaciones e individuos están cada vez más preocupados por sus “huellas de carbono. la interfaz y la ocultación de información. clase archivos que contienen los códigos de bytes y las transferencias del programa a la memoria principal. herencia (Considérese. 1.32 Capítulo 1 Introducción a las computadoras. países y el mundo. comportamientos. c) La asegura que los mensajes. d) La lenguaje de programación fue desarrollado por Bjarne Stroustrup en los primeros 1980 en los Laboratorios Bell. 1. b) A (n) proporciona muchas herramientas que apoyan el proceso de desarrollo de software. y .5 Llenar los espacios en blanco en cada una de las siguientes afirmaciones: a) La lenguaje de programación ahora se utiliza para desarrollar la empresa a gran escala AP- complicaciones. contribuyen significativamente al calentamiento global y que esto puede ser combatida si las personas toman medidas para limitar el uso de los combustibles a base de carbono. Internet y Java marido) idiomas son los más convenientes para el programador para escribir programas de forma rápida y sencilla.deitel. pero oculta la sub mentira sistema operativo y hardware de los programas que interactúan con él. comunidades. . y muchas otras características. y para las ideas de programación de proyectos relacionados. para proporcionar aplicaciones para los dispositivos de consumo y para muchos otros propósitos. para mejorar la funcionalidad de los servidores web. d) A (n) es una aplicación de software que simula un ordenador.terrapass.8 Uno de los objetos más comunes del mundo es un reloj de pulsera. f) La examina los códigos de bytes para asegurarse de que son válidos. mensajes. 1. Hacer una diferencia A lo largo del libro hemos incluido Hacer una Diferencia ejercicios en los que se le pedirá a trabajar en los problemas que realmente importan a las personas. especialmente a partir de la quema de combustibles fósiles. j) es una unidad lógica del equipo que coordina las actividades de todas las otras unidades lógicas. Para obtener más información acerca de las organizaciones internacionales que trabajan para hacer una diferencia. segundo) Inicialmente se hizo ampliamente conocido como el lenguaje de desarrollo del sistema operativo UNIX.carbonfootprint. por ejemplo. c) El comando Java invoca la . depuradores para la localización de errores lógicos en los programas. 1. modelado. . que ejecuta programas Java. clase.9 (Test-Drive: Carbon Footprint Calculator) Algunos científicos creen que las emisiones de carbono. se encamina adecuadamente del emisor al receptor. atributos.com/calculator.” Los sitios web como TerraPass http://www. 1.7 Explicar las dos fases de compilación de programas Java. Discutir cómo cada uno de los siguientes términos y conceptos se aplica a la noción de un reloj: objetos. un reloj despertador).aspx .com/carbon-footprint-calculator/ y la huella de carbono http://www. i) El único lenguaje que una computadora puede entender directamente es que la computadora de . explicar el procedimiento que se usa para leer a través de un párrafo de texto y realizar manualmente estos reemplazos. El Departamento de Salud y Servicios Humanos de Estados Unidos ofrece una calculadora de IMC en http://www. Para prepararse para esto. sustituir tanto “esposa” y “marido” por “cónyuge”. etc. . Para prepararse para esto. a continuación.gov/guidelines/obesity/BMI/ bmicalc. ¿Cómo podría su procedimiento generar un término extraño como “woperchild?” Pronto aprenderá que un término más formal para “procedimiento” es “algoritmo”. Si se asume que le han dado una lista de palabras específicas de género y sus reemplazos de género neutro (por ejemplo. Lo utilizan para calcular su propio IMC. peso. ya que a menudo consiguen mucho mejor kilometraje que los vehículos puramente a gasolina. Se le ha pedido para crear un programa que puede procesar un párrafo de texto y reemplazar palabras específicas de género con los neutrales. Navegar por la web y estudiar las características de cuatro o cinco de los coches híbridos populares de hoy en día.” Los vehículos híbridos son cada vez más populares. 1. Los ejercicios en los capítulos siguientes le pedirán que programar su propia calculadora de huella de carbono.). Algunos atributos comunes incluyen ciudades-millas por galón y la autopista-millas por galón. Ahora vamos a “dar cuerpo a” aspectos de una clase llamada “Vehículo híbrido. utilizar la web para investigar las fórmulas para el cálculo de IMC. y que un algoritmo especifica los pasos a realizar y el orden en que para realizarlas .11 (Atributos de vehículos híbridos) En este capítulo has aprendido algunos conceptos básicos de clases. 1. “hombre” y “mujer” por “persona”. En un próximo ejercicio le pedirá que programar su propio índice de cálculo. Prueba de manejo de estas calculadoras para determinar su huella de carbono.htm. También lista los atributos de las pilas (tipo. utilizar la web para investigar las fórmulas para el cálculo de la huella de carbono.12 (Neutralidad de género) Muchas personas quieren eliminar el sexismo en todas las formas de comunicación. 1. Para determinar si una persona tiene sobrepeso o es obeso.nhlbi. “ hija”e‘hijo’por‘niño’).nih. puede utilizar una medida llamada el índice de masa corporal (IMC). Hacer una diferencia 33 proporcionar calculadoras de carbono-huella.10 (Test-Drive: Índice de Masa Corporal Calculadora) La obesidad provoca un aumento significativo en enfermedades como la diabetes y enfermedades del corazón. la lista ya que muchos de sus atributos relacionados con híbridos que pueda.
Copyright © 2024 DOKUMEN.SITE Inc.