Sunteți pe pagina 1din 2

32 Capítulo 1 Introducción a las computadoras, Internet y World Wide Web Resumen 29

Internet de banda ancha programación de juegos industria. Se utiliza principalmente en aplicaciones comerciales que requieren de una manipulación precisa y eficiente
Intérprete programación estructurada de datos.
Jacobson, Ivar programación orientada a objetos (POO) • Ada se desarrolló bajo el patrocinio del Departamento de Defensa de Estados Unidos (DoD) durante la década de los setenta
Java programación por procedimientos y a principios de los ochenta. Ada cuenta con la multitarea, que permite a los programadores especificar que muchas activi-
LAMP programador de computadora dades ocurrirán en paralelo.
lenguaje de alto nivel racional Software Corporation
lenguaje de máquina redes de área local (LANs) Sección 1.13 BASIC, Visual Basic, Visual C++, C# y .NET
lenguaje ensamblador redes sociales • BASIC (Código de instrucciones simbólicas de propósito general para principiantes) fue desarrollado a mediados de la
Lenguaje Unificado de Modelado (UML) refabricación década de los sesenta en Dartmouth College, como un lenguaje para escribir programas simples. El principal objetivo de
Linux reutilización de software BASIC era familiarizar a los principiantes con las técnicas de programación.
marcado Ruby on Rails • El lenguaje Visual Basic de Microsoft se introdujo a principios de la década de 1990 para simplificar el proceso de desarrollar
mashups Rumbaugh, James aplicaciones para Microsoft Windows.
memoria servicios Web • Microsoft cuenta con una estrategia a nivel corporativo para integrar Internet y Web en las aplicaciones de computadora.
memoria básica servidor de archivos Esta estrategia se implementa en la plataforma .NET de Microsoft.
memoria principal seudocódigo • Los tres principales lenguajes de programación de la plataforma .NET son Visual Basic (basado en el BASIC original),
método sistema operativo Visual C++ (basado en C++) y Visual C# (un nuevo lenguaje basado en C++ y Java, desarrollado explícitamente para la
método de código activo (live-code) Software as a Service (Saas), software plataforma .NET).
miembro de datos software de código fuente abierto • Los desarrolladores de .NET pueden escribir componentes de software en su lenguaje preferido y después formar aplicacio-
multiprocesador subprocesamiento múltiple nes, al combinar esos componentes con componentes escritos en cualquier lenguaje .NET.
multiprogramación supercomputadora
multitareas tarea
Sección 1.14 Tendencia clave de software: tecnología de los objetos
• No fue sino hasta que la tecnología de la programación orientada a objetos se empezó a utilizar ampliamente en la década
MySQL tiempo compartido
de los noventa, que los desarrolladores de software sintieron que tenían las herramientas necesarias para avanzar con grandes
.NET, plataforma tipo definido por el usuario
pasos en el proceso de desarrollo de software.
objeto traducción
• La tecnología de objetos se remonta hasta a mediados de la década de 1960. El lenguaje de programación C++, desarrollado
ocultamiento de información unidad aritmético-lógica (ALU)
en AT&T por Bjarne Stroustrup a principios de la década de 1980, se basa en dos lenguajes (C, que se desarrolló inicial-
Ogre (Motor de despliegue de gráficos orientado a objetos) unidad central de proceso (CPU)
mente en AT&T para implementar el sistema operativo UNIX a principios de la década de 1970, y Simula 67, un lenguaje
OgreAL unidad de almacenamento secundario
de programación de simulación, desarrollado en Europa y puesto en circulación en 1967). C++ absorbió las características
OpenAL, biblioteca de audio unidad de entrada
de C y agregó las herramientas de Simula para crear y manipular objetos.
operación unidad de memoria
• Ninguno de los lenguajes C o C++ estaba diseñado originalmente para usarse ampliamente, más allá de los laboratorios de
Organización internacional para la estandarización (ISO) unidad de salida
investigación de AT&T, pero el soporte básico se desarrolló rápidamente para cada uno de ellos.
patrones de diseño unidad lógica
• La tecnología de objetos es un esquema de empaquetamiento que nos ayuda a crear unidades de software con significado.
PHP Visual Basic
• Un problema clave con la programación por procedimientos es que las unidades de los programas no ref lejan con efectividad
Plataforma Visual C++
a las entidades del mundo real, por lo que estas unidades no son especialmente reutilizables.
plataforma de hardware Web 3.0
• Con la tecnología de los objetos, las entidades de software creadas (llamadas clases), si se diseñan en forma apropiada,
Portable Web Semántica
tienden a ser reutilizables en proyectos futuros. El uso de bibliotecas de componentes reutilizables puede reducir en forma
procesamiento por lotes wiki
considerable el esfuerzo requerido para implementar ciertos tipos de sistemas.
programa de computadora World Wide Web
• Algunas empresas reportan que el beneficio clave que les proporciona la programación orientada a objetos es la producción
programa traductor
de software más comprensible, mejor organizado y más fácil de mantener, modificar y depurar. Se ha estimado que tal vez
hasta 80 por ciento de los costos de software están asociados no con los esfuerzos originales por desarrollar el software, sino
Ejercicios de autoevaluación con la evolución continua y el mantenimiento de ese software a lo largo de su tiempo de vida.
1.1 Complete las siguientes oraciones:
a) La compañía que popularizó la computación personal fue __________________. Sección 1.15 Entorno de desarrollo típico en C++
b) La computadora que legitimó la computación personal en los negocios y la industria fue __________________. • Por lo general, los sistemas de C++ consisten en tres partes: un entorno de desarrollo de programas, el lenguaje y la Biblioteca
c) Las computadoras procesan los datos bajo el control de conjuntos de instrucciones llamadas ________________. estándar de C++.
d) Las seis unidades lógicas clave de la computadora son __________________, __________________, ________ • Por lo general, los programas de C++ pasan por seis fases: edición, preprocesamiento, compilación, enlace, carga y ejecu-
ción.
__________, __________________, __________________ y __________________.
• Los nombres de los archivos de código fuente de C++ terminan comúnmente con las extensiones .cpp, .cxx, .cc o .C.
e) Los tres tipos de lenguajes descritos en este capítulo son __________________, __________________ y _____
• Un programa preprocesador se ejecuta de manera automática antes de que empiece la fase de traducción del compilador.
_____________.
El preprocesador de C++ obedece comandos llamados directivas del preprocesador, las cuales indican que deben realizarse
f ) Los programas que traducen programas en lenguaje de alto nivel a lenguaje de máquina se denominan _________ ciertas manipulaciones en el programa, antes de compilarlo.
_________. • El código objeto producido por el compilador de C++ contiene comúnmente “huecos” debido a las referencias a las funcio-
g) C se conoce ampliamente como el lenguaje de desarrollo del sistema operativo __________________. nes y datos definidos en cualquier otra parte. Un enlazador relaciona el código objeto con el código de las funciones faltantes
h) El lenguaje __________ fue desarrollado por Wirth para enseñar programación estructurada. para producir una imagen ejecutable (sin piezas faltantes).
i) El Departamento de Defensa desarrolló el lenguaje Ada con una herramienta llamada __________________, la • El cargador toma la imagen ejecutable del disco y la transfiere a la memoria para ejecutarla.
cual permite a los programadores especificar que muchas actividades pueden procesarse en paralelo. • La mayoría de los programas en C++ reciben y/o envían datos. A menudo los datos se reciben de cin (el f lujo estándar de
j) El __________________, o etiquetado de contenido, es otra parte clave del tema de colaboración de Web 2.0. entrada), que por lo general es el teclado, pero cin puede conectarse a otro dispositivo. A menudo los datos se envían a cout
k) Con las aplicaciones de Internet, el escritorio evoluciona para convertirse en __________________. (el f lujo estándar de salida), que por lo general es la pantalla de la computadora, pero cout puede conectarse a otro disposi-
tivo. El f lujo cerr se utiliza para mostrar los mensajes de error.
30 Capítulo 1 Introducción a las computadoras, Internet y World Wide Web Terminología 31
Sección 1.18 Tecnologías de software • Los objetos tienen la propiedad de ocultamiento de información; por lo general no se les permite saber cómo se implemen-
• Agile Software Development es un conjunto de metodologías que tratan de implementar software rápidamente, con menos tan otros objetos.
recursos que las metodologías anteriores. • La programación orientada a objetos (POO) permite a los programadores implementar diseños orientados a objetos en
• La refabricación implica la reformulación del código para hacerlo más claro y fácil de mantener, al tiempo que se preserva forma de sistemas funcionales.
su funcionalidad. • Los programadores de C++ se crean sus propios tipos definidos por el usuario, denominados clases. Cada clase contiene
• Los patrones de diseño son arquitecturas probadas para construir software orientado a objetos f lexible y que pueda mante- datos (conocidos como miembros de datos), además del conjunto de funciones (conocidas como funciones miembro) que
nerse. manipulan esos campos y proporcionan servicios a clientes.
• El negocio de los juegos de computadora es más grande que el negocio de las películas de estreno. Ahora hay cursos univer- • Las clases pueden tener relaciones con otras clases; a estas relaciones se les llama asociaciones.
sitarios, e incluso maestrías, dedicados a las técnicas sofisticadas de software que se utilizan en la programación de juegos. • El proceso de empaquetar software en forma de clases hace posible que los sistemas de software posteriores reutilicen esas
• El software de código fuente abierto es un estilo de desarrollo de software que contrasta con el desarrollo propietario, que clases. Los grupos de clases relacionadas comúnmente se empaquetan como componentes reutilizables.
dominó los primeros años del software. Con el desarrollo de código fuente abierto, individuos y compañías contribuyen • A una instancia de una clase se le llama objeto.
sus esfuerzos en el desarrollo, mantenimiento y evolución del software, a cambio del derecho de usar ese software para sus • Con la tecnología de objetos, los programadores pueden crear la mayor parte del software que necesitan mediante la com-
propios fines, comúnmente sin costo. Por lo general, el código fuente abierto se examina a detalle por una audiencia más binación de piezas estandarizadas e intercambiables, llamadas clases.
grande que el software propietario, por lo cual los errores se eliminan con más rapidez. El código fuente abierto también • El proceso de analizar y diseñar un sistema desde un punto de vista orientado a objetos se llama análisis y diseño orientados
promueve más innovación. a objetos (A/DOO).
• Linux es un sistema operativo de código fuente abierto.
• MySQL es un sistema de administración de bases de datos con código fuente abierto. Terminología
• PHP es el lenguaje de secuencias de comandos del lado servidor de código fuente abierto más popular, para el desarrollo de acción depuración
aplicaciones basadas en Internet. Ada directivas del preprocesador
• LAMP es un acrónimo para el conjunto de tecnologías de código fuente abierto que utilizaron muchos desarrolladores para Agile Software Development diseño
crear aplicaciones Web: representa a Linux, Apache, MySQL y PHP (o Perl, o Python; otros dos lenguajes que se utilizan análisis diseño orientado a objetos (DOO)
para propósitos similares). análisis y diseño de sistemas estructurados dispositivo de entrada
• Ruby on Rails combina el lenguaje de secuencias de comandos Ruby con el marco de trabajo para aplicaciones Web Rails, análisis y diseño orientados a objetos (A/DOO) dispositivo de salida
desarrollado por la compañía 37Signals. apuntadores inteligentes editor
• Con Software as a Service (SaaS), el software se ejecuta en servidores. Cuando se actualizan esos servidores, todos los clientes asociación efectos de las redes sociales
a nivel mundial ven las nuevas características; no se necesita instalación local. Usted accede al servidor a través de un explo- atributo de un objeto encapsular
rador Web. BASIC (Código de instrucciones de propósito general para enlazador
principiantes) ensamblador
Sección 1.19 Programación de juegos con las bibliotecas Ogre
Biblioteca estándar de C++ entrada/salida (E/S)
• Ogre es un proyecto de código fuente abierto, cuyo mantenimiento está a cargo del equipo Ogre en www.ogre3d.org.
Bibliotecas Boost de C++ errores en tiempo de ejecución
• Ogre (Motor de despliegue de gráficos orientado a objetos), uno de los motores de gráficos más importantes, se ha utilizado
blog especificación de requerimientos
en muchos productos comerciales, incluyendo videojuegos. Proporciona una interfaz orientada a objetos para la programa-
blogósfera estación de trabajo
ción de gráficos en 3D, y se ejecuta en las plataformas Windows, Linux y Mac.
Booch, Grady estándar ANSI/ISO de C
• OgreAL es una envoltura alrededor de la biblioteca de audio OpenAL. La envoltura nos permite integrar la funcionalidad
C Estándar ISO/IEC de C++
de sonido en el código de Ogre.
C# extensible
Sección 1.20 Futuro de C++: Bibliotecas Boost de código fuente abierto, TR1 y C++0x C++ fase de carga
• Bjarne Stroustrup, el creador de C++, ha expresado su visión para el futuro de C++. Las principales metas para el nuevo C++0x fase de compilación
estándar son facilitar el aprendizaje de C++, mejorar las herramientas para generar bibliotecas e incrementar la compatibili- cargador fase de edición
dad con el lenguaje de programación C. clase fase de ejecución
• Las Bibliotecas Boost de C++ son bibliotecas gratuitas de código fuente abierto, creadas por miembros de la comunidad de cliente fase de enlace
C++. Boost proporciona a los programadores de C++ bibliotecas útiles y bien diseñadas, que funcionan bien con la Bibliote- COBOL (Lenguaje común orientado a negocios) fase de preprocesamiento
ca estándar de C++ existente. Las bibliotecas Boost las pueden utilizar los programadores de C++ que trabajan en una amplia código fuente f lujo de datos
variedad de plataformas, con muchos compiladores distintos. código fuente abierto Fortran (Traductor de fórmulas)
• El Informe técnico 1 describe los cambios propuestos a la Bibilioteca estándar de C++, muchos de los cuales se basan en las código objeto función
bibliotecas Boost actuales. Estas bibliotecas añaden una funcionalidad útil a C++. compilador función miembro
• C++0x es el nombre funcional para la siguiente versión del Estándar de C++. Incluye algunas modificaciones al lenguaje componente Google AdSense
básico y muchas de las adiciones de bibliotecas descritas en el TR1. comportamiento de un objeto Grupo de administración de objetos (OMG)
• Boost ha aumentado su tamaño a más de 70 bibliotecas, y se están agregando más con regularidad. Hoy en día, hay miles computación cliente/servidor hardware
de programadores en la comunidad de Boost. computación distribuida herencia
computación personal imagen ejecutable
Sección 1.21 Ejemplo práctico de Ingeniería de Software: introducción a la tecnología de objetos y el UML computadora independiente de la máquina
• El Lenguaje unificado de modelado (UML) es un lenguaje gráfico que permite a las personas que crean sistemas representar contenido dinámico Informe técnico 1 (TR1)
sus diseños orientados a objetos en una notación común. contenido generado por la comunidad instanciar
• El diseño orientado a objetos (DOO) modela los componentes de software en términos de objetos del mundo real. Apro- contenido Premium Instituto nacional estadounidense de estándares (ANSI)
vecha las relaciones de herencia, en donde las nuevas clases de objetos se derivan absorbiendo las características de las clases datos inteligencia colectiva
existentes y agregando sus propias características únicas. El DOO encapsula los datos (atributos) y funciones (comporta- decisión interfaz
miento) en objetos: los datos y las funciones de un objeto están íntimamente entrelazados. dependiente de la máquina Internet

S-ar putea să vă placă și