Anda di halaman 1dari 34

Aspectos Bsico

de la Computacin
Cesar Ricardo Cervantes Zamora
Seccin 08

Matricula: 1359731A

Indice.1.Introduccion
3

2.Definicion
.4

3.Historia
..5
3.1.-Maquinas
Mecanicas
.5
3.2.-Nacimiento de las Computadoras
Electronicas.6
3.3.-Generaciones de
Computadoras.
.7

4.Componentes
..8
4.1.Computadora
8
4.2.-Dispositivos de
Entrada/Salida.
. . ..8
4.3.-La memoria central (interna).9
4.3.1.- Organizacin de la
Memoria..9
4.3.2.-Tipos de memoria
principal.10
4.4.-La Unidad Central de Proceso (UCP)
11

26

4.5.-Memoria externa (almacenamiento masivo)


11

5.Lenguajes
12
5.1.-Instrucciones ala
computadora
12
5.2.-Lenguajes
Maquina
..13
5.3.-Lenguajes de Bajo
Nivel
14
5.4.-Lenguajes de Alto
Nivel
.15
5.5.-Traductores de
Lenguajes
16
5.5.1.Compiladores
..16
5.5.2.Interpretes
19
5.6.-Historia de los Lenguajes de
Programacion..19
5.6.1.-El lenguaje C: historia y caractersticas
..20
5.6.2.-Una breve historia de C++
..21
5.6.3.-Breve historia de
Java22

6.-Logros (Aplicaciones)...24
6.1Microprocesador
26

..25
6.2.Alunizaje
25
6.3.-Satlites de
Aplicacin
...25
6.4.-Diseo y Fabricacin Asistidos por
Computadoras25
6.5.-Jumbo
Jet
26
6.6.-Materiales Compuestos
Avanzados26
6.7.-Tomografa Axial Computarizada..
.26
6.8.-Ingeniera
Genetica
.27
6.9.Laseres
.27
6.10.-Fibras pticas..
27

7.-Bibliografia..
..28

26

1.-INTRODUCCION.En este documento podemos saber un poco ms de los aspectos de la


computacin en general de su historia como fueron evolucionando las
computadoras atreves de la necesidad de ms aplicaciones para la
humanidad tambin podemos saber cules son sus componentes; como
su memoria RAM entre otros, tambin abordaremos los lenguajes que se
utilizan hoy en dia y por ultimo conoceremos uno de los logros que
gracias a la computacin se han podido resolver y/o llevar a cabo por el
bien de la humanidad.

26

2.-DEFINICION DE COMPUTACION.Es la ciencia que estudia mtodos, procesos, tcnicas, con el fin de
almacenar, procesar y transmitir informacin y datos en el formato
digital.

3.-HISTORIA.Para poder entender de manera general la historia de la computacin


dividir en tres periodos y sus subdivisiones.

3.1.-Maquinas Mecnicas (antes de 1930).

En el siglo XVII, Blaise Pascal, un matemtico y filsofo francs,


invento la Pascalina, una calculadora mecnica para operaciones
de suma y resta. En el siglo XX, cuando Niklaus Wirth invento un
lenguaje de programacin estructurado, lo llamo Pascal en honor
al inventor de la primer calculadora mecnica.

A finales el siglo XXVII, el matemtico alemn Gottfried Leibnitz


invento una calculadora mecnica ms compleja que poda
realizar operaciones de multiplicacin y divisin, as como la suma
y resta. Se le llamo la Rueda de Leibnitz.

La primera mquina que uso la idea de almacenamiento y


programacin fue el telar de Jacquard, inventando por JosephMarie Jacquard a principios del siglo XIX. El telar usaba tarjetas
perforadoras (como un programa almacenado) para controlar el
aumento de hilos en la fabricacin de textiles.

En 1823, Charles Babbage invento la Maquina Diferencial, la cual


poda hacer ms que operaciones aritmticas simples; tambin
poda resolver ecuaciones polinomiales. Posteriormente invento
una Maquina Analtica que, en cierta medida, es paralela a la idea
de las computadoras modernas. Tena cuatro componentes: un
molino (ALU moderno), un almacn (memoria), un operador
(unidad de control) y una salida (entrada/salida).

26

En 1890, Herman Hollerith, mientras trabajaba en la Oficina de


Censos de Estados Unidos, diseo y construyo una maquina
programadora que poda leer, contar y ordenar automticamente
los datos almacenamiento en las tarjetas perforadas.

3.2.-Nacimiento de las Computadoras Electrnicas


(1930-1950)
Entra 1930 y 1950, algunos cientficos, que podran considerarse los
pioneros de la industria de la computacin electrnica, inventaron varias
computadoras.

Primeras Computadoras Electrnicas.-Las primeras


computadoras de este periodo no almacenaban el programa en
memoria; todas se programaban externamente. Durante estos aos
destacaron cinco computadoras:

La primera computadora para propsito especial que codificaba


informacin de manera elctrica fue inventada por John V.
Atanasoff y su asistente Clifford Berry en 1939. Se le llamo ABC
(Atanasoff Berry Computer) y se dise especficamente para
resolver un sistema de ecuaciones lineales.

Al mismo tiempo, el matemtico alemn Konrad Zuse diseo una


maquina se propsito general llamada Z1.

En la dcada de 1930, el ejercito estadounidense e IBM


patrocinaron un proyecto en la Universidad de Harvard bajo la
direccin de Howard Airen para construir una computadora
enorme llamada Mark I. Esta computadora usaba componentes
elctricos y mecnicos.

En Inglaterra. Alan Turing invento una computadora llamada


Colossus diseada para descifrar el cdigo Enigma alemn.

La primera computadora de propsito general totalmente


electrnica fue fabricada por John Mauchly y J. Presper Eckert y
recibo el nombre de ENIAC (Electronic Numerical Integrator and
Calculator: Calculadora e integral numrico electrnico). Se

26

termin en 1946. Utilizaba 18000 tubos de vaco, media 100 pies


de largo por 10 pie de alto y pesaba 30 toneladas.

Computadoras basadas en el modelo de von Neumann.Las cinco componentes precedentes utilizaron memoria solo para
almacenar datos. Se programaron externamente usando cables o
interruptores. John von Neumann propuso que el programa y los datos
deberan almacenarse en la memoria. De esa manera, cada vez que
usted utilizara una computadora para realizar una tarea nueva, solo
necesitara cambiar el programa en lugar de volver a conectar los cables
de la maquina o encender y apagar cientos de interruptores.
La primera computadora basada en la idea de von Neumann se
construy en 1950 en la Universidad de Pennsylvania y se llam EDVAC.
Al mismo tiempo, Maurice Wilkes construy una computadora similar
llamada EDSAC en Universidad de Cambridge en Inglaterra.

3.3.-Generaciones de Computadoras (1950-hoy dia)


Las computadoras construidas despus de 1950 siguieron,
ms o menos, a los modelos de von Neumann. Las
computadoras se han vuelto ms rpidas, ms pequeas y
ms baratas, pero el principio es casi el mismo. Los
historiadores dividen este periodo en generaciones, con cada
generacin presenciado un cambio importante en el hardware
o el software(pero no en el modelo).
Primera Generacin.-La primera generacin (aproximadamente
de 1950 a 1959) se caracteriza por la aparicin de computadores
comerciales. Durante este periodo, las computadoras eran utilizadas
solo por profesionales. Estaban encerradas en habitaciones con acceso
restringido nicamente al operador o a especialistas en computacin.
Las computadoras eran voluminosas y usaban tubos de vaco como
interruptores electrnicos. En esta poca las computadoras eran
asequibles solo para las grandes organizaciones.

Segundo Generacin.-Las computadoras de la segunda


generacin (aproximadamente de 1959 a 1965) utilizaban transistores
en el lugar de tubos de vaco. Esto redujo su tamao as como su costo y
las puso al alcance de las empresas medianas y pequeas. Dos
26

lenguajes de alto nivel, se inventaron y facilitaron la programacin. Estos


dos lenguajes separaron la tarea de la programacin de la tarea de la
operacin de la computadora. Un ingeniero civil poda escribir un
programa en FORTRAN para resolver un problema sin involucrarse en
detalles electrnicos de a arquitectura de la computadora.

Tercera Generacin.-La invencin del circulo integrado


(transistores, cableado y otros componentes en un solo chip) redujeron
el costo y el tamao de las computadoras an ms. Las
minicomputadoras aparecieron el mercado. Los programas
empaquetados, popularmente conocidos como paquetes software, se
volvieron disponibles. Una pequea empresa poda comprar un paquete
que necesitaba (por ejemplo, par contabilidad) en lugar de escribir su
propio programa. Una nueva industria naci del software. La generacin
duro ms o menos de 1965 a 1975.

Carta Generacin.-La cuarta generacin (aproximadamente de


1975 a 1985) vio nacer las microcomputadoras. La primera calculadora
de escritorio (Altar 8800) se volvi disponible en 1975.
Los avances
en la industria de l a electrnica permitieron que subsistemas de
computadoras completos cupieran en una sola tarjeta de circuito. Esta
generacin tambin vio la aparicin de las redes de computadora.

Quinta Generacin.-Esta generacin de duracin indefinida


comenz en 1985. Presencio la aparicin de las computaras laptop y
palmtop, mejoras en los medios de almacenamiento secundarios (CDROM, DVD, etc.), el uso de la multimedia y el fenmeno de la realidad
virtual.

4.-Componentes.4.1.-Computadora.- Una computadora es un dispositivo


electrnico utilizado para procesar informacin y obtener resultados. Los
datos y la informacin se pueden introducir en la computadora por la
entrada (input) . La computadora se puede considerar como una unidad
en la que se ponen ciertos datos, entrada de datos, procesa estos datos
y produce unos datos de salida. Los datos de entrada y los datos de

26

salida pueden ser realmente cualquier cosa, texto, dibujos o sonido. El


sistema ms sencillo de comunicarse una persona con la computadora
es esencialmente mediante un ratn (mouse), un teclado y una pantalla
(monitor). Hoy da existen otros dispositivos muy populares tales como
escneres, micrfonos, altavoces, c- maras de vdeo, cmaras digitales,
etc.; de igual manera, mediante mdems, es posible conectar su
computadora con otras computadoras a travs de redes, siendo la ms
importante, la red Internet.
Los componentes fsicos que constituyen la computadora, junto con los
dispositivos que realizan las tareas de entrada y salida, se conocen con
el trmino hardware. El conjunto de instrucciones que hacen funcionar a
la computadora se denomina programa, que se encuentra almacenado
en su memoria; a la persona que escribe programas se llama
programador y al conjunto de programas escritos para una computadora
se llama software.

4.2.-Dispositivos de Entrada/Salida .- Los dispositivos de


entrada, como su nombre indica, sirven para introducir datos
(informacin) en la computadora para su proceso. Los datos se leen de
los dispositivos de entrada y se almacenan en la memoria central o
interna. Los dispositivos de entrada convierten la informacin de entrada
en seales elctricas que se almacenan en la memoria central.
Dispositivos de entrada tpicos son teclados, lectores de tarjetas
perforadas, lpices pticos, palancas de mando (joystick), lectores de
cdigos de barras, escneres, micrfonos, lectores de tarjetas digitales,
lectores RFID (tarjetas de identificacin por radio frecuencia), etc. Hoy
da tal vez el dispositivo de entrada ms popular es el ratn (mouse) que
mueve un puntero grfico (electrnico) sobre la pantalla que facilita la
interaccin usuario/mquina.
Los dispositivos de salida permiten representar los resultados (salida) del
proceso de los datos. El dispositivo de salida tpico es la pantalla o
monitor. Otros dispositivos de salida son: impresoras (imprimen
resultados en papel), trazadores grficos (plotters), reconocedores
(sintetizadores) de voz, altavoces, etc.
Dispositivos de entrada/salida y dispositivos de almacenamiento masivo
o auxiliar (memoria externa) son: unidad de discos (disquetes, CD-ROM,
DVD, cintas, discos duros, etc.), videocmaras, memorias flash, USB, etc.

4.3.-La memoria central (interna).-La memoria central o


simplemente memoria (interna o principal) se utiliza para almacenar

26

informacin (RAM, Random Access Memory). En general, la informacin


almacenada en memoria puede ser de dos tipos: instrucciones, de un
programa y datos con los que operan las instrucciones. Por ejemplo,
para que un programa se pueda ejecutar (correr, rodar, funcionar..., en
ingls, run), debe ser situado en la memoria central, en una operacin
denominada carga (load) del programa. Despus, cuando se ejecuta (se
realiza, funciona) el programa, cualquier dato a procesar por el
programa se debe llevar a la memoria mediante las instrucciones del
programa. En la memoria central, hay tambin datos diversos y espacio
de almacenamiento temporal que necesita el programa cuando se
ejecuta a fin de poder funcionar.
Con el objetivo de que el procesador pueda obtener los datos de la
memoria central ms rpidamente, normalmente todos los procesadores
actuales (muy rpidos) utilizan una memoria denominada cach que
sirve para almacenamiento intermedio de datos entre el procesador y la
memoria principal. La memoria cach en la actualidad se incorpora
casi siempre al procesador.
4.3.1.-Organizacin de la Memoria.
La memoria central de una computadora es una zona de
almacenamiento organizada en centenares o millares de unidades de
almacenamiento individual o celdas. La memoria central consta de un
conjunto de celdas de memoria (estas celdas o posiciones de memoria
se denominan tambin palabras, aunque no guardan analoga con las
palabras del lenguaje). El nmero de celdas de memoria de la memoria
central, dependiendo del tipo y modelo de computadora; hoy da el
nmero suele ser millones (512, 1.024, etc.). Cada celda de memoria
consta de un cierto nmero de bits (normalmente 8, un byte). La unidad
elemental de memoria se llama byte (octeto). Un byte tiene la capacidad
de almacenar un carcter de informacin, y est formado por un
conjunto de unidades ms pequeas de almacenamiento denominadas
bits, que son dgitos binarios (0 o 1).
Por ejemplo. se acepta que un byte contiene ocho bits. Por consiguiente,
si se desea almacenar la frase:
Hola Mortimer todo va bien
La computadora utilizar exactamente 27 bytes consecutivos de
memoria. Obsrvese que, adems de las letras, existen cuatro espacios
en blanco y un punto (un espacio es un carcter que emplea tambin un
byte).

26

Mientras que cada carcter de un dato alfanumrico se almacena en un


byte, la informacin numrica se almacena de un modo diferente. Los
datos numricos ocupan 2, 4 e incluso 8 bytes consecutivos,
dependiendo del tipo de dato numrico.
Existen dos conceptos importantes asociados a cada celda o posicin de
memoria: su direccin y su contenido. Cada celda o byte tiene asociada
una nica direccin que indica su posicin relativa en memoria y
mediante la cual se puede acceder a la posicin para almacenar o
recuperar informacin. La informacin almacenada en una posicin de
memoria es su contenido. La Figura 1.6 muestra una memoria de
computadora que consta de 1.000 posiciones en memoria con
direcciones de 0 a 999. El contenido de estas direcciones o posiciones de
memoria se llaman palabras, de modo que existen palabras de 8, 16, 32
y 64 bits. Por consiguiente, si trabaja con una mquina de 32 bits,
significa que en cada posicin de memoria de su computadora puede
alojar 32 bits, es decir, 32 dgitos binarios, bien ceros o unos.
Siempre que se almacena una nueva informacin en una posicin, se
destruye (desaparece) cualquier informacin que en ella hubiera y no se
puede recuperar. La direccin es permanente y nica, el contenido
puede cambiar mientras se ejecuta un programa.
La memoria central de una computadora puede tener desde unos
centenares de millares de bytes hasta millones de bytes.
En la actualidad las computadoras personales tipo PC suelen tener
memorias centrales de 512 MB a 2 GB, aunque ya es muy frecuente
verlas con memorias de 4 GB y hasta 8 GB.
La memoria principal es la encargada de almacenar los programas y
datos que se estn ejecutando y su principal caracterstica es que el
acceso a los datos o instrucciones desde esta memoria es muy rpido.
4.3.2.-Tipos de memoria principal
En la memoria principal se pueden distinguir dos tipos de memoria: RAM
y ROM. La memoria RAM (Random Access Memory, Memoria de acceso
aleatorio) almacena los datos e instrucciones a procesar. Es un tipo de
memoria voltil (su contenido se pierde cuando se apaga la
computadora); esta memoria es, en realidad, la que se suele conocer
como memoria principal o de trabajo; en esta memoria se pueden
escribir datos y leer de ella. La memoria ROM (Read Only Memory,
Memoria de slo lectura) es una memoria permanente en la que no se
puede escribir (viene pregrabada por el fabricante); es una memoria de
26

slo lectura. Los programas almacenados en ROM no se pierden al


apagar la computadora y cuando se enciende, se lee la informacin
almacenada en esta memoria. Al ser esta memoria de slo lectura, los
programas almacenados en los chips ROM no se pueden modificar y
suelen utilizarse para almacenar los programas bsicos que sirven para
arrancar la computadora.

4.4.-La Unidad Central de Proceso (UCP).- La Unidad Central


de Proceso, UCP (Central Processing Unit, CPU, en ingls), dirige y
controla el proceso de informacin realizado por la computadora. La UCP
procesa o manipula la informacin almacenada en memoria; puede
recuperar informacin desde memoria (esta informacin son datos o
instrucciones: programas). Tambin puede almacenar los resultados de
estos procesos en memoria para su uso posterior.
La UCP consta de dos componentes: unidad de control (UC) y unidad
aritmtica-lgica (UAL). La unidad de control (Control Unit, CU) coordina
las actividades de la computadora y determina qu operaciones se
deben realizar y en qu orden; asimismo controla y sincroniza todo el
proceso de la computadora. La unidad aritmtico-lgica (ArithmeticLogic Unit, ALU) realiza operaciones aritmticas y lgicas, tales como
suma, resta, multiplicacin, divisin y comparaciones. Los datos en la
memoria central se pueden leer (recuperar) o escribir (cambiar) por la
UCP.

4.5.-Memoria externa (almacenamiento masivo).- Cuando


un programa se ejecuta, se debe situar primero en memoria central de
igual modo que los datos. Sin embargo, la informacin almacenada en la
memoria se pierde (borra) cuando se apaga (desconecta de la red
elctrica) la computadora, y por otra parte la memoria central es
limitada en capacidad. Por esta razn, para poder disponer de
almacenamiento permanente, tanto para programas como para datos,
se necesitan dispositivos de almacenamiento secundario, auxiliar o
masivo (mass storage o secondary sto rage).
Los dispositivos de almacenamiento o memorias auxiliares (externas o
secundarias) ms comnmente utilizados son: cintas magnticas, discos
magnticos, discos compactos (CD-ROM, Compact Disk Read Only
Memory) y videodiscos digitales (DVD). Las cintas son utilizadas
principalmente por sistemas de computadores grandes similares a las
utilizadas en los equipos de audio. Los discos y disquetes magnticos se
utilizan por todas las computadoras, especialmente las medias y

26

pequeas las computadoras personales. Los discos pueden ser duros,


de gran capacidad de almacenamiento (su capacidad actual oscila entre
40 GB y 500 GB), disquetes o discos flexibles (floppy disk), ya casi en
desuso. Aunque todava se suelen comercializar lectoras de disquetes
para compatibilidad con equipos antiguos. El disquete, ya casi en
desuso, es de 3,5 y de 1,44 MB de capacidad.
Los discos compactos (conocidos popularmente como CD) son soportes
digitales pticos utilizados para almacenar cualquier tipo de informacin
(audio, vdeo, documentos...). Se desarroll en 1980 y comenz a
comercializarse en 1982. Existen diferentes modelos CD-ROM (de slo
lectura), CD-R (grabable), CD-RW (reescribible). Su capacidad de
almacenamiento va de 650 MB a 875 MB e incluso 215 MB.
Los DVD constituyen un formato multimedia de almacenamiento ptico
y que se puede usar para guardar datos, incluyendo pelculas de alta
calidad de vdeo y audio. Los formatos ms populares son: DVDROM,
DVDR, DVDRW, DVDRAM, y sus capacidades de almacenamiento
van desde 4,7 GB y 8,5 GB hasta 17,1 GB, segn sean de una cara, de
dos caras y de una capa simple o capa doble.
Los ltimos discos pticos presentados en el mercado durante 2006
son: Blu-ray y HD DVD. Estos discos son de alta definicin y su
capacidad de almacenamiento es muy grande de 15 GB a 50 GB y podr
llegar en el futuro hasta 200 GB.
La informacin almacenada en la memoria central es voltil (desaparece
cuando se apaga la computadora) mientras que la informacin
almacenada en la memoria externa (masiva) es permanente.
Esta informacin se organiza en unidades independientes llamadas
archivos (ficheros, file en ingls). Los resultados de los programas se
pueden guardar como archivos de datos y los programas que se
escriben se guardan como archivos de programas, ambos en la memoria
auxiliar. Cualquier tipo de archivo se puede transferir fcilmente desde
la memoria auxiliar hasta la memoria central para su proceso posterior.
En el campo de las computadoras es frecuente utilizar la palabra
memoria y almacenamiento o memoria externa, indistintamente.
Las computadoras modernas necesitan comunicarse con otras
computadoras. Si la computadora se conecta con una tarjeta de red se
puede conectar a una red de datos locales (red de rea local). De este
modo se puede acceder y compartir a cada una de las memorias de
disco y otros dispositivos de entrada y salida. Si la computadora tiene un
mdem, se puede comunicar con computadoras lejanas. Se pueden
26

conectar a una red de datos o enviar correo electrnico a travs de las


redes corporativas Intranet/Extranet o la propia red Internet. Las redes
inalmbricas permiten conexiones a Internet desde numerosos lugares,
siempre que su PC disponga de tarjetas o conexiones inalmbricas.

26

5.-Lenguajes.Se debe diferenciar entre el acto de crear un programa y la accin de la


computadora cuando ejecuta las instrucciones del programa. La
creacin de un programa se hace inicialmente en papel y a continuacin
se introduce en la computadora y se convierte en lenguaje entendible
por la computadora.
El propsito de un lenguaje informtico (lenguaje de computadora) es
permitir a las personas comunicarse con una computadora. Los
lenguajes de los humanos y los lenguajes de la mquina son muy
diferentes, ya que las caractersticas y posibilidades de las personas y
de las mquinas son muy diferentes. Los lenguajes de computadoras
permiten a las personas escribir en un lenguaje que sea ms apropiado
a las caractersticas humanas y se puedan traducir al lenguaje mquina
de diferentes tipos de mquinas.
Los principales tipos de lenguajes utilizados en la actualidad son tres:
Lenguajes mquina,
Lenguaje de bajo nivel (ensamblador),
Lenguajes de alto nivel.

5.1.-Instrucciones ala computadora.- Los diferentes pasos


(acciones) de un algoritmo se expresan en los programas como
instrucciones, sentencias o proposiciones (normalmente el trmino
instruccin se suele referir a los lenguajes mquina y bajo nivel,
reservando la sentencia o proposicin para los lenguajes de alto
nivel). Por consiguiente, un programa consta de una secuencia de
instrucciones, cada una de las cuales especifica ciertas operaciones que
debe ejecutar la computadora.
La elaboracin de un programa requerir conocer el juego o
repertorio de instrucciones del lenguaje. Aunque en el Captulo 3 se
analizarn con ms detalle las instrucciones, adelantaremos los tipos
fundamentales de instrucciones que una computadora es capaz de
manipular y ejecutar. Las instrucciones bsicas y comunes a casi todos
los lenguajes de programacin se pueden condensar en cuatro grupos:

26

Instrucciones de entrada/salida.- Instrucciones de


transferencia de informacin y datos entre dispositivos perifricos
(teclado, impresora, unidad de disco, etc.) y la memoria central.
Instrucciones aritmticas lgicas.- Instrucciones que ejecutan
operaciones aritmticas (suma, resta, multiplicacin, divisin,
potenciacin), lgicas (operaciones and, or not, etc.).
Instrucciones selectivas.- Instrucciones que permiten la
seleccin de tareas alternativas en funcin de los resultados de
diferentes expresiones condicionales.
Instrucciones repetitivas.- Instrucciones que permiten la
repeticin de secuencias de instrucciones un nmero determinado
de veces.

5.2.-Lenguajes Maquina.- Los lenguajes mquina son aquellos


que estn escritos en lenguajes directamente inteligibles por la
mquina (computadora), ya que sus instrucciones son cadenas
binarias (cadenas o series de caracteres dgitos O y l) que especifican
una operacin, y las posiciones (direccin) de memoria implicadas en
la operacin se denominan instrucciones de mquina o cdigo
mquina). El cdigo mquina es el conocido cdigo binario.
Las instrucciones en lenguaje mquina dependen del hardware de Ja
computadora y, por tanto, diferirn de una computadora a otra. El
lenguaje mquina de un PC (computadora personal) ser diferente de
un sistema HP (Hewlett Packard), Dell, COMPAQ o un sistema de IBM.
Las ventajas de programar en lenguaje mquina se refieren,
fundamentalmente, a la posibilidad de cargar (transferir un programa
a la memoria) sin necesidad de traduccin posterior, lo que supone
una velocidad de ejecucin superior a cualquier otro lenguaje de
programacin.
Los inconvenientes en la actualidad superan a las ventajas, lo que
hace prcticamente no recomendables los lenguajes mquina al
programador de aplicaciones. Estos inconvenientes son:

Dificultad y lentitud en la codificacin,


Poca fiabilidad,
Dificultad grande de verificar y poner a punto los programas.
Los programas slo son ejecutables en el mismo procesador
(UPC).

Para evitar los lenguajes mquina, desde el punto de vista del


26

usuario, se han creado otros lenguajes que permiten escribir


programas con instrucciones similares al lenguaje humano (por
desgracia casi siempre ingls, aunque existen raras excepciones, como
es el caso de las antiguas versiones espaolas del lenguaje LOGO).
Estos lenguajes se denominan de alto y bajo nivel.

5.3.-Lenguajes de Bajo Nivel.- Los lenguajes de bajo rvel son


ms fciles de utilizar que los lenguajes mquina, pero, al igual que
ellos, dependen de la mquina en particular. El lenguaje de bajo nivel
por excelencia es el ensamblador (tassembly lenguaje). Las
instrucciones en lenguaje ensamblador son instrucciones conocidas
como nemotcnicos (mnemonics). Por ejemplo, nemotcnicos tpicos
de operaciones aritmticas son: en ingls. ADD, SUB, DIV, etc.; en
espaol, SUM, RES, DIV, etc.
Una instruccin tpica de suma sera:
ADD, M, N, P
Esta instruccin poda significar sumar el nmero contenido en la
posicin de memoria Mal nmero almacenado en la posicin de
memoria N y situar el resultado en la posicin de memoria P.
Evidentemente, es mucho ms sencillo recordar la instruccin anterior
con un nemotcnico que su equivalente en cdigo mquina:
0110 1001 1010 1011
Un programa escrito en lenguaje ensamblador no puede ser ejecutado
directamente por la computadora esto se diferencia esencialmente del
lenguaje mquina, sino que requiere una fase de traduccin al lenguaje
mquina.

El programa original escrito en lenguaje ensamblador se denomina


programa fuente y el programa traducido en lenguaje mquina se
conoce como programa objeto, ya directamente inteligible por la
computadora.
El traductor de programas fuente a objeto es un programa llamado
ensamblador (assembler), existente en casi todas las computadoras.
No se debe confundir aunque en espaol adoptan el mismo nombre el
programa ensamblador (assembler), encargado de efectuar la
traduccin del programa fuente escrito a lenguaje mquina,

26

con el lenguaje ensamblador (assembly languaje ), lenguaje de


programacin con una estructura y gramtica definidas.
Los lenguajes ensambladores presentan la ventaja frente a los
lenguajes mquina de su mayor facilidad de codificacin y, en general,
su velocidad de clculo.
Los inconvenientes ms notables de los lenguajes ensambladores son:

Dependencia total de ta mquina, lo que impide la


transportabilidad de los programas (posibilidad de ejecutar un
programa en diferentes mquinas). El lenguaje ensamblador del
PC es distinto del lenguaje ensamblador del Apple Macintosh.
La formacin de los programadores es ms compleja que la
correspondiente a los programadores de alto nivel, ya que exige
no slo las tcnicas de programacin, sino tambin el
conocimiento del interior de la mquina.
Hoy da los lenguajes ensambladores tiene sus aplicaciones muy
reducidas en la programacin de aplicaciones y se centran en
aplicaciones de tiempo real, control de procesos y de dispositivos
electrnicos, etc.

5.4.-Lenguajes de Alto Nivel.- Los lenguajes de alto nivel son


los ms utilizados por los programadores. Estn diseados para que
las personas escriban y entiendan los programas de un modo mucho
ms fcil que los lenguajes mquina y ensambladores. Otra razn es
que un programa escrito en lenguaje de alto nivel es independiente
de la mquina: esto es, las instrucciones del programa de la
computadora no dependen del di seo del hardware o de una
computadora en particular. En consecuencia, los programas escritos
en lenguaje de alto nivel son portables o transportables, lo que
significa la posibilidad de poder ser ejecutados con poca o ninguna
modificacin en diferentes tipos de computadoras; al contrario que
los programas en lenguaje mquina o ensamblador, que slo se
pueden ejecutar en un determinado tipo de computadora. Los
lenguajes de alto nivel presentan las siguientes ventajas:

26

El tiempo de formacin de los programadores es relativamente


corto comparado con otros lenguajes.
La escritura de programas se basa en reglas similares a los
lenguajes humanos. Nombres de las instrucciones, pueden ser
READ, WRITE, PRINT, OPEN, etc.
Las modificaciones y puestas a punto de los programas son ms
fciles.
Reduccin del coste de los programas.
Transportabilidad.
Los inconvenientes se concretan en:

Incremento del tiempo de puesta a punto, al necesitarse


diferentes traducciones del programa fuente para conseguir el
programa definitivo.
No se aprovechan los recursos internos de la mquina, que se
explotan mucho mejor en lenguajes mquina y ensambladores.
Aumento de la ocupacin de memoria.
El tiempo de ejecucin de los programas es mucho mayor.
Al igual que sucede con los lenguajes ensambladores, los programas
fuente tienen que ser traducidos por los programas traductores,
llamados en este caso compiladores e intrpretes.
Los lenguajes de programacin de alto nivel existentes hoy son muy
numerosos, aunque la prctica demuestra que su uso mayoritario se
reduce a:
C
C++
Java
C#

COBOL

FORTRAN

Pascal

Visual BASIC

Estn muy extendidos:


Ada-95

Modula-2

Prolog

LISP

Smalltalk

Eiffel

son de gran uso en el mundo profesional:


Borland De/phi

SQL

Power Builder

Aunque hoy da el mundo Internet consume gran cantidad de recursos


en forma de lenguajes de programacin, tales como Java, HTML, XML,
JavaScript, Visual J y ltimamente C# y PHP.

26

5.5.-Traductores de Lenguajes.- Los traductores de lenguaje


son programas que traducen a su vez los programas fuente escritos en
lenguajes de alto nivel a cdigo mquina. Los traductores se dividen en:
Compiladores,
Intrpretes.

5.5.1.-Compiladores
Despus que se ha diseado el algoritmo y escrito el programa en un
papel, se debe comenzar el proceso de introducir el programa en un
archivo (fichero) en el disco duro de la computadora. La introduccin y
modificacin de su programa en un archivo se hace utilizando un editor
de texto o simple mente un editor, un programa que viene con su
computadora, normalmente, y que le permite el almacenamiento y
recuperacin de lo que se ha escrito en el disco. El aprendizaje de cmo
utilizar un editor hace la tarea de introducir un programa una tarea muy
fcil.
El programa que se ha introducido est escrito en C o en Java, pero ni C
ni Java son lenguajes mquina de su computadora, muy al contrario son
lenguajes de alto nivel diseados para hacer ms fcil la programacin
que utilizando el lenguaje mquina. Una computadora no entiende los
lenguajes de alto nivel. En consecuencia, un programa escrito en un
lenguaje de alto nivel debe ser traducido a un lenguaje que Ja mquina
pueda comprender. Los lenguajes que la computadora puede
comprender (ms o menos directamente) se llaman lenguajes de bajo
nivel. La traduccin de un programa escrito en un lenguaje de alto nivel,
como C++ o Java, a un lenguaje que pueda entender la computadora se
hace mediante otro programa conocido como compilador.
Los lenguajes de bajo nivel que la computadora puede entender
directamente se conocen como lenguajes ensamblador o lenguajes
mquina. En realidad, aunque son muy similares y en ocasiks se les
considera sinnimos, tienen algunas pequeas diferencias. El lenguaje
que la computadora puede comprender directamente se denomina
lenguaje mquina. El lenguaje ensamblador es casi la misma pero
necesita un paso adicional para que la traduccin pueda ser entendida
por la mquina. Si un compilador traduce su programa de alto nivel a
algn lenguaje de bajo nivel, no es exactamente lenguaje de mquina,
26

se necesitar, por tanto, una pequea traduccin adicional antes de ser


ejecutado en la computadora, pero normalmente este proceso suele
ser automtico y no es problemtico. Veamos en la prctica cmo se
ejecuta el programa por compilador.
Cuando se ejecuta un
programa en lenguaje de alto nivel, tal como C, C++ o Java, se est
ejecutando realmente una traduccin de ese programa a un lenguaje de
bajo nivel. Por consiguiente, antes de que se ejecute un programa
escrito en un lenguaje de alto nivel, se debe ejecutar en primer lugar el
compilador en el programa. Cuando se ejecuta un compilador sobre sus
programa se dice que se compila el programa.
Una desventaja del proceso de traduccin que se acaba de describir es
que se necesita un compilador diferente para cada tipo de computadora
y cada sistema operativo. Si se desea ejecutar su programa en lenguaje
de alto nivel en tres mquinas diferentes, se necesitarn utilizar tres
diferentes compiladores y se debe compilar su programa tres veces.
Incluso si un fabricante construye una nueva computadora el fabricante
deber contratar a alguien para que le escriba un nuevo compilador
para esa computadora. Esto es un problema, ya que los compiladores
son programas muy grandes y caros, que llevan mucho tiempo
fabricarlos. A pesar de los costes, este es el mtodo en que trabajan la
mayora de los compiladores de lenguajes de alto nivel, C, C++, ... Java,
sin embargo, no utiliza ese mtodo sino que utiliza un enfoque
ligeramente diferente y ms verstil para compilar.
Suele haber confusin en Ja terminologa, debido a que un compilador,
la entrada al programa compilador y la salida del programa compilador
son tambin programas. Para evitar la confusin, el pro grama escrito en
un lenguaje de programacin (C++ o Java, si tuviramos un compilador
de pseudocdigo, el lenguaje algortmico que explicaremos ms
adelante, en nuestro caso UPSAM) se denomina programa fuente o
cdigo fuente. El programa traducido a lenguaje de bajo nivel producido
por el compilador se denomina normalmente el programa objeto o
cdigo objeto. La palabra cdigo significa simplemente eso: un programa
o una parte de programa. El archivo objeto se puede cargar en la
memoria principal de la computadora y ejecutado por UCP.
Un compilador es un programa que traduce un programa en lenguaje
de alto nivel. Tal como un programa C / C++ I J ova, en un programa
de un lenguaje ms sencillo que la computadora puede comprender
ms o menos directamente.

26

En resumen, para crear y ejecutar un programa en un lenguaje tal


como C, C++ o Java, se necesita introducir el programa utilizando un
editor de texto; ejecutar un programa especial denominado compilador,
traducir el lenguaje de alto nivel a lenguaje mquina y a continuacin
cargar el lenguaje mquina en memoria principal y ejecutarlo.

La compilacin y sus fases


La compilacin es el proceso de traduccin de programas fuente a
programas objeto. El programa objeto obtenido de la compilacin ha
sido traducido normalmente a cdigo mquina.
Para conseguir el programa mquina real se debe utilizar un programa
llamado montador o enlazador (linker). El proceso de montaje conduce a
un programa en lenguaje mquina directamente ejecutable.
El proceso de ejecucin de un programa escrito en un lenguaje de
programacin (por ejemplo, C) y mediante un compilador suele tener
los siguientes pasos:
1.-Escritura del programa fuente con un editor (programa que
permite a una computadora actuar de modo similar a una mquina
de escribir electrnica) y guardarlo en un dispositivo de
almacenamiento (por ejemplo, un disco).
2.-Introducir el programa fuente en memoria.
3.-Compilar el programa con el compilador C.
4.- Verificar y corregir errores de compilacin (listado de errores).
5.-Obtencin del programa objeto.
6.-El enlazador (linker) obtiene el programa ejecutable.
7.-Se ejecuta el programa y, si no existen errores, se tendr la salida del
programa.

5.5.2.- Interpretes
Un intrprete es un traductor que toma un programa fuente, lo traduce y
a continuacin lo ejecuta. Los programas intrpretes clsicos, como
BASIC, prcticamente ya no se utilizan, aunque puede encontrar una
vieja computadora que funcione con la versin Basic bajo el Sistema
Operativo DOS que corre en las computadoras personales. Sin embargo,
est muy extendida la versin interpretada del lenguaje Smalltalk, un
lenguaje orientado a objetos puro. Los intrpretes han vuelto a renacer

26

con la aparicin de Java, ya que para entender el cdigo en bytes


(bytecode) al que traduc e un compilador Java se necesita un intrprete.

5.6.-Historia de los Lenguajes de Programacion.La historia de la informtica y de la computacin se ha caracterizado


fundamentalmente en la existencia de centenares de lenguajes de
programacin, de forma tal que siempre se ha hablado de la Ba- bel
de los lenguajes, aunque bien es cierto que son slo unas decenas
escasas los que han tenido un impacto significativo, y unos pocos los
utilizados en la industria. Los negocios y la ciencia.
Muchos de los lenguajes de programacin actuales tienen sus races
en los lenguajes que nacieron a finales de los cincuenta y primeros
aos de los sesenta, tales como COBOL ( 1960), FORTRAN IV (1961),
BASIC (1964), WGO (1967). Estos lenguajes representaron la primera
alternativa a los lenguajes ensambladores. En la dcada de los setenta
y primeros aos de los ochenta emergieron nuevos lenguajes, como
Pascal (1971), C (1972) y Ada (1979), que se convirtieron en
dominantes, desplazando, por ejemplo, a otros como ALGOL y BASIC.
Otros lenguajes, como COBOL y FORTRAN, lograron adaptarse y se
mantuvieron como lenguajes de referencia en el mundo de los negocios
y en el campo cientfico, respectivamente, con versiones actualizadas
y estandarizadas por organizaciones, como ANSI.
Todos estos lenguajes anteriores seguan el estilo de programacin
estructurada y se conocan lenguajes de programacin imperativos o
estructurados. En paralelo con el desarrollo de estos lenguajes
surgieron dos nuevos estilos o paradigmas de programacin;
programacin funcional (de los que Haskell es un ejemplo moderno) y
programacin orientada a objetos. Smalltalk y SIMUI.A, lenguajes
antiguos por otra parte, se apoyaron en el concepto de clase como
elemento fundamental de un programa. Posteriormente, a principios
de los ochenta apareci C++ como lenguaje imperativo con
propiedades de orientacin a objetos y que durante la dcada de los
noventa ha sido el lenguaje de programacin orientada a objetos por
excelencia. En 1995 se present oficialmente por el constructor Sun el
lenguaje Java, un lenguaje orientado a objetos y con una funcionalidad
muy dirigida a la red Internet. En el ao 2000 Microsoft present C#.

26

5.6.1.-El lenguaje C: historia y caractersticas


C es el lenguaje de programacin de propsito general asociado, de
modo universal, al sistema operativo UNIX. Sin embargo, la
popularidad, eficacia y potencia de C se ha producido porque este
lenguaje no est prcticamente asociado a ningn sistema operativo,
ni a ninguna mquina en especial. Esta es la razn fundamental por la
cual C es conocido como el lenguaje de programacin de sistemas por
excelencia.
C es una evolucin de los lenguajes BCPL desarrollado por Martn
Richards y B desarrollado por Ken Thompson en 1970 para el primitivo
UNIX de la computadora DEC PDP7. C naci realmente en 1978, con la
publicacin de The C Programming Languaje, por Brian Kernig han y
Dennis Ritchie (Prentice Hall, 1978). Desde su nacimiento, C fue
creciendo en popularidad y los sucesivos cambios en el lenguaje a lo
largo de los aos junto a la creacin de compiladores por grupos no
involucrados en su diseo hicieron necesario pensar en la
estandarizacin de la definicin del lenguaje C.
As. en 1983, el American National Standard Institute (ANSI), una
organizacin internacional de estandarizacin, cre un comit (el
denominado X3J 11) cuya tarea fundamental consista en hacer una
definicin no ambigua del lenguaje C, e independiente de la mquina.
Haba nacido el estndar ANSI del lenguaje C. Con esta definicin de C
se asegura que cualquier fabricante de software que vende un
compilador ANSI C incorpora todas las caractersticas del lenguaje
especificadas por el estndar. Esto significa tambin que los
programadores que escriban programas en C estndar tendrn la
seguridad de que corrern sus modificaciones en cualquier sistema
que tenga un compilador C.
C es un lenguaje de alto nivel, que permite programar con
instrucciones de lenguaje de propsito general. Tambin C se define
como un lenguaje de programacin estructurado de propsito
general; aunque en su diseo tambin prim el hecho de fuera
especificado como un lenguaje de programacin de Sistemas, lo que
proporciona una enorme cantidad de potencia y flexibilidad.
El estndar ANSI C formaliza construcciones no propuestas en la
primera versin de C, en especial asignacin de estructuras y
enumeraciones. Entre otras aportaciones, se defini esencialmente
una nueva forma de declaracin de funciones (prototipos). Pero es

26

esencialmente la biblioteca estndar de funciones otra de las


grandes aportaciones.
Hoy, en el siglo XXI, C sigue siendo uno de los lenguajes de
programacin ms utilizados en la industria del software, asf como en
insrnnos tecnolgicos, escuelas de ingeniera y universidades.
Prcticamente todos los fabricantes de sistemas operativos, UNIX.
Linux, MacOS, Solaris... , soportan diferentes tipos de compiladores
de lenguaje C.

5.6.2.-Una breve historia de C++


C++ es heredero directo del lenguaje C que a su vez se deriva del
lenguaje B [Richards, 1980]. C se mantiene como un subconjunto de
C++. Otra fuente de inspiracin de C++, como seala su autor Bjarne
Stroustrup fue Simula 67, del que tom el concepto de clase (con
clases derivadas y funciones virtuales).
El lenguaje de programacin C fue desarrollado por Dennis Ritche de
AT&T Bell Laboratories que se utiliz para escribir y mantener el
sistema operativo UNIX (hasta que apareci C, el sistema operativo
UNIX fue desarrollado por Ken Thompson en AT&T Bel! Laboratories
mediante el lenguaje ensamblador o el lenguaje B). Ces un lenguaje de
propsito general que se puede utilizar para escribir cualquier tipo de
programa, pero su xito y popularidad est especialmente relacionado
con el sistema operativo UNIX. Fue desarrollado como lenguaje de
programacin de sistemas; es decir, un lenguaje de programacin
para escribir sistemas operativos y utilidades (programas) del
sistema. Los sistemas operativos son los programas que gestionan
(administran) los recursos de la computadora. Ejemplos bien conocidos
de sistemas operativos adems de UNIX son los ya citados MS/DOS,
OS/2, MVS, Lynux, Windows 95/98, Windows NT, Windows 2000, OS Mac,
etc.
La especificacin formal del lenguaje C es un documento escrito por
Ritchie titulado The C Reference Manual. En 1997 Ritchie y Brian
Kernighan ampliaron ese documento y publicaron un libro referencia
del lenguaje The C Programming Language (tambin conocido por el
K&R).
Aunque C es un lenguaje muy potente, tiene dos caractersticas que lo
hacen inapropiado como una introduccin moderna a la programacin.
Primero, C requiere un nivel de sofisticacin a sus usuarios que les
obliga a un difcil aprendizaje para los programadores principiantes,
26

ya que es de comprensin difcil. Segundo, C fue diseado al principio


de los setenta, y la naturaleza de la programacin ha cambiado de modo
significativo en la dcada de los ochenta y noventa.
Para subsanar estas deficiencias Bjame Stroustrup de AT&T Bell
Laboratories desarroll C++ al principio de la dcada de los ochenta.
Strousrrup dise C++ como un mejor C. En general, C estndar es un
subconjunto de C++ y la mayora de los programas C son tambin
programas C++ (la afirmacin inversa no es verdadera). C++,
adems de aadir propiedades a C, presenta caractersticas y
propiedades de programacin orientada a objetos, que es una tcnica
de programacin muy poten te y que se ver en la ltima parte de este
libro.
Se han presentado varias versiones de C++ y su evolucin contina
en al actualidad. Las caractersticas ms notables que han ido
incorporndose a C++ son: herencia mltiple, genericidad, plantillas,
funciones virtuales, excepciones, etc. C++ ha ido evolucionando
ao a ao y como su autor ha explicado: evolucion siempre para
resolver problemas encontrados por los usuarios y como consecuencia
de conversaciones entre el autor, sus amigos y sus colegass".
C++ comenz su proyecto de estandarizacin ante el comit ANSI y su
primera referencia es The Annotated C++ Reference Manual'". En
diciembre de 1989 se reuni el comit X3Jl6 del ANSI por iniciativa de
Hewleu Packard. En junio de I 991 la estandarizacin de ANSI pas a
formar parte de un esfuerzo de estandarizacin ISO.
En 1995 se public un borrador de estndar para su examen y en 1998
se aprob el estndar C++ internacional. Stroustrup public en 1998
la tercera edicin de su libro The C++ Programming Language y en el
ao 2000 una edicin especial. Este libro sigue el estndar ANSI/ISO C+
+.

5.6.3.-Breve historia de Java


Ocho aos despus de su lanzamiento. Java se ha convertido en un
estndar de la industria, en un lenguaje de programacin para
desarrollo de aplicaciones tanto de propsito general como de Internet
y tambin en un lenguaje para comenzar Ja formacin en
programacin, al tener caractersticas excelentes para el aprendizaje.
Java, desarrollado por Sun Microsystems en 1995, es un magnfico y
completo lenguaje de programacin orientado a objetos diseado para
distribuir contenidos a travs de una red. Una de sus principales
26

caractersticas es que permite operar de forma independiente de la


plataforma y del sistema operativo que se est utilizando. Esto quiere
decir que permite crear una aplicacin que podr descargarse de Ja red
y funcionar posteriormente en cualquier tipo de plataforma de
hardware o software. Generalmente, por el contrario, todo programa o
aplicacin queda atado a dos cosas: al hardware y al sistema operativo.
As, por ejemplo, una aplicacin Windows slo funcionar en plataforma
Wintel (equipada con procesadores lntel y sistema operativo Windows)
igual que una versin creada para Mac slo funciona sobre Power PC,
Imac o Mac OS; o la misma aplicacin desarrollada para Unix, slo lo
hace sobre plataformas Unix y no hay forma de que corra sobre otra
mquina.
La idea de Java, por el contrario, es poner una capa sobre cualquier
plataforma de hardware y sobre cualquier sistema operativo para
permitir que cualquier aplicacin desarrollada en Java quede ligada
nicamente a Java, independizada, por lo tanto, de la plataforma. Esta
concepcin queda recogida en el concepto de mquina virtual JVM (Java
Virtual Machine), un software que interpreta instrucciones para cualquier
mquina sobre la que est corriendo y que permite, una vez instalado.
que una misma aplicacin pueda funcionar en un PC o en un Mac sin
tener que tocarla. Hoy en da, cualquier sistema operativo moderno
(Windows, Macintosh, Linux, Unix, Solaris, etc.) cuenta con una JVM. As,
lo que hace Java en combinacin con esta mquina es funcionar como
hardwarey como sistema operativo virtual, emulando en software una
CPU universal. Al instalar Java sta actuar como una capa de
abstraccin entre un programa y el sistema operativo, otorgando una
total independencia de lo que haya por deba jo, es decir: cualquier
aplicacin funcionar en cualquier mquina e incluso en cualquier
dispositivo.
Otra gran ventaja es que los programadores no tendrn que desarrollar
varias versiones de la misma aplicacin, puesto que el modelo de
desarrollo es el mismo se trate del dispositivo ms pequeo o del ms
grande de los servidores. Otra gran ventaja es que permite que todas
las mquinas, plataformas y aplicaciones se comuniquen entre s
accediendo desde cualquier equipo, donde quiera que est situado, a las
aplicaciones que residan en una red, ya sea Internet o una intranet o
extranet.
En definitiva, se puede decir que Java es lo ms cercano a un lenguaje
de computacin universal que existe hoy da, lo que significa que puede

26

correr en cualquier plataforma siempre y cuando una mquina virtual


haya sido escrita para ella.

Por qu Java es importante para Internet?


Internet ha ayudado considerablemente a catapultar a Java al zenit
del mundo de la programacin de computadoras y Java, a su vez, ha
tenido un profundo impacto en Internet. La razn es muy simple: Java
extiende el universo de los objetos que se mueven libremente en el
ciberespacio que forma la red Internet. En una red existen dos grandes
categoras de objetos que se transmiten entre las computadoras
conectadas (el servidor y la computadora personal): informacin
pasiva y dinmica, programas interactivos. Un ejemplo fcil de datos
pasivos son los correos electrnicos que usted recibe en su computadora
o una pgina Web que se baja de la red. Incluso si descarga un
programa est recibiendo datos pasivos hasta tanto no ejecute dicho
programa. Sin embargo, existen otros tipos de objetos que se transmite
por la red: programas dinmicos autoejecutables que son agentes
activos en la computadora cliente.
Estos programas en red dinmicos presentan serios problemas de
seguridad y portabilidad. Java ha resuelto gran cantidad de problemas
con un nuevo modelo de programa: el applet.
Java se puede utilizar para crear dos tipos de programas: aplicaciones y
applets. Una aplicacin es un programa que se ejecuta en su
computadora bajo el sistema operativo de su computadora; en esencia,
es un programa similar al creado utilizando C, C++ o Pascal. Cuando se
utiliza para crear aplicaciones, Java es un lenguaje de propsito general
similar a cualquier otro y con caractersticas que lo hacen idneo para
programacin orientada a objetos. Java tiene una caracterstica notable
que no tienen otros lenguajes: la posibilidad de crear applets. Un applet
es una aplicacin diseada para ser transmitida por Internet y ejecutada
por un navegador Web compatible con Java. Un applet es realmente un
pequeo programa Java, descargado dinmicamente por la red, tal
como una imagen, un archivo de sonido, un archivo musical o un
videoclip, pero con una notable propiedad: es un programa inteligente
que puede reaccionar dinmicamente a entradas y cambios del
usuario.
Java es un lenguaje idneo para resolver los problemas de seguridad y
portabilidad inherente a los sistemas que trabajan en red. La razn
fundamental de este aserto reside en el hecho de que la salida de un
26

compilador Java no es un cdigo ejecutable sino cdigos de bytes


(bytecode). Un bytecode es un conjunto de instrucciones muy
optimizadas diseadas para ser ejecutadas por un sistema en tiempo de
ejecucin Java, denominado mquina virtual Java (Java Virtual Machine,
JVM) que acta como un intrprete para los bytecodes. La traduccin de
un programa en cdigos de bytes facilita la ejecucin del programa en
una amplia variedad de entornos y plataformas. La razn es simple: slo
es preciso implementar JVM en cada plataforma.

6.-Logros (Aplicaciones).Los ingenieros resuelven problemas del mundo real usando principios
cientficos de disciplinas que incluyen matemticas, fsica, qumica y
ciencias de la computacin. Esta diversidad de temas, y el desafo que
representan los problemas reales, hace a la ingeniera interesante y
gratificante. En esta seccin presentaremos algunos de los logros
sobresalientes en ingeniera en los ltimos aos, para despus
comentar algunos de los retos importantes en la materia que
enfrentaremos al iniciar el nuevo siglo. Por ltimo, consideraremos
algunas de las habilidades y capacidades no tcnicas que van a
necesitar los ingenieros del siglo XXI.
Desde la invencin de la computadora a fines de la dcada de
1950, han ocurrido varios avances muy significativos en ingeniera. En
1989, la National Academy of Engineering seleccion diez logros
sobresalientes en ingeniera de los 25 aos anteriores. Estos logros
ilustran la naturaleza multidisciplinaria de la ingeniera y ponen de
manifiesto las formas en que esta especialidad ha mejorado
nuestra vida y ha expandido las posibilidades para el futuro al
tiempo que provee una amplia variedad de interesantes y
estimulantes carreras. A continuacin comentaremos brevemente
estos diez logros. En las lecturas recomendadas al final del captulo se
da ms informacin sobre estos temas.

6.1-Microprocesador.- La invencin del microprocesador, una


diminuta computadora ms pequea que un sello de correo, es uno de
los logros culminantes en ingeniera. Los microprocesadores se emplean
26

en equipo electrnico, aparatos domsticos, juguetes y juegos, as como


en automviles, aviones y transbordadores espaciales, porque ofrecen
capacidades de cmputo potentes pero econmicas. Adems, los
microprocesadores proporcionan la potencia de cmputo a las
calculadoras y computadoras personales.

6.2.-Alunizaje.- Varios de los diez logros ms grandes tienen que


ver con la exploracin del espacio. El alunizaje fue tal vez el proyecto
de ingeniera ms complejo y ambicioso jams intentado. Se
requirieron avances importantes en el diseo de las naves Apolo, el
alunizador y el cohete Saturno V de tres etapas. Incluso el diseo del
traje espacial fue un proyecto de ingeniera destacado, dando como
resultado un sistema que incluy un traje de tres piezas y una
"mochila" que en conjunto pesaban 190 libras. La computadora
desempe un papel clave, no slo en los diseos de los distintos
sistemas, sino tambin en las comunicaciones requeridas durante
cada vuelo a la Luna. Un solo vuelo requiri la coordinacin de ms de
450 personas en el centro de control de lanzamiento y de por lo menos
otras 7000 en nueve barcos, 54 aviones y numerosas estaciones
situadas alrededor de la Tierra.

6.3.-Satlites de Aplicacin.- El programa espacial tambin


proporcion gran parte del impulso para el desarrollo de los satlites de
aplicacin, que proporcionan informacin meteorolgica, retransmiten
seales de comunicacin, crean mapas de terrenos no cartografiados
y suministran actualizaciones ambientales sobre la composicin de
la atmsfera. El Sistema de Posicionamiento Global (GPS) es una
constelacin de 24 satlites que di funden informacin de posicin,
velocidad y tiempo a nivel mundial. Los receptores del GPS miden el
tiempo que tarda una seal en viajar del satlite GPS al receptor.
Con base en informacin recibida de cuatro satlites, un
microprocesador en el receptor puede determinar mediciones precisas
de la ubicacin del receptor; la exactitud vara entre unos cuantos
metros y centmetros, dependiendo de las tcnicas de cmputo
empleadas.

6.4.-Diseo y Fabricacin Asistidos por Computadoras.Otro de los grandes logros en ingeniera reconoce las contribuciones
del diseo y fabricacin asistidos por computadora (CAD/ CAM). El CAD/
CAM ha generado una nueva revolucin industrial aumentando la
rapidez y la eficiencia de muchos tipos de procesos de fabricacin. El
26

CAD permite realizar el diseo con una computadora, la cual despus


produce los planos finales, listas de componentes y resultados de
simulaciones computarizadas. La CAM usa los resultados del diseo para
controlar maquinaria o robots industriales a fin de fabricar, ensamblar y
mover componentes.

6.5.-Jumbo Jet.- El jumbo jet se origin a partir del avin de carga


C5A de la fuerza area estadounidense que inici vuelos operativos
en 1969.Gran parte del xito de los jumbo jet se puede atribuir al reactor
de abanico de alta desviacin que permite volar ms lejos con menos
combustible y con menos ruido que con los motores a reaccin
anteriores. El ncleo del motor opera como un turborreactor puro:
aspas compresoras succionan aire hacia la cmara de combustin del
motor; el gas caliente en expansin empuja al motor hacia adelante y al
mismo tiempo hace girar una turbina, la que a su vez impulsa el
compresor y el abanico grande en la parte frontal del motor. El abanico,
algirar, proporciona la mayor parte del empuje del motor.

6.6.-Materiales Compuestos Avanzados.- La industria de la


aviacin tambin fue la primera en desarrollar y usar materiales
compuestos avanzados, que son materiales que se pueden pegar de
modo que uno refuerza las fibras del otro. Los materiales compuestos
avanzados se crearon para contar con materiales ms ligeros, fuertes y
resistentes a la temperatura para aviones y naves espaciales. No
obstante, ahora existen nuevos mercados para los materiales
compuestos para uso en equipo deportivo. Por ejemplo, capas de fibras
de Kevlar tejidas aumentan la resistencia y reducen el peso de los
esqus para descenso en nieve, y los palos de golf de grafito/epoxy
son ms fuertes y ligeros que los palos de acero convencionales. Los
materiales compuestos tambin se usan en el diseo de prtesis.

6.7.-Tomografa Axial Computarizada.- Las reas de


medicina, bioingeniera y ciencias de la computacin hicieron equipo
para el desarrollo de la mquina exploradora de CAT (tomografa axial
computarizada). Este instrumento puede generar imgenes
tridimensionales o cortes bidimensionales de un objeto usando rayos X
que se generan desde diferentes ngulos alrededor del objeto. Cada
rayo X mide una densidad desde su ngulo, y algoritmos
computarizados muy complejos combinan la informacin de todos los
rayos X para reconstruir una imagen clara del interior del objeto. Las
exploraciones CAT se usan rutinariamente para identificar tumores,
26

cogulos sanguneos y anomalas en el cerebro. El ejrcito de Estados


Unidos est desarrollando un explorador CAT ligero y robusto que se
puede transportar a estaciones mdicas en zonas de combate.

6.8.-Ingeniera Genetica.- La ingeniera gentica, el trabajo de


genetistas e ingenieros, ha dado origen a muchos productos nuevos que
van desde la insulina hasta hormonas para el crecimiento y vegetales
resistentes a infecciones. Un producto de ingeniera gentica se crea
insertando un gen que produce una sustancia valiosa de un organismo
en otro organismo que se multiplica, multiplicando al mismo tiempo el
gen ajeno. El primer producto comercial de ingeniera gentica fue la
insulina humana, que apareci con el nombre comercial de Humulin. Los
trabajos actuales incluyen investigaciones de microbios alterados
genticamente para limpiar desechos txicos y degradar pesticidas.

6.9.-Laseres.- Los lseres son ondas de luz que tienen la misma


frecuencia y viajan en un haz angosto que puede dirigirse y enfocarse.
Se usan lseres de C02 para taladrar agujeros en materiales que van
desde cermicas hasta materiales compuestos. Los lseres tambin se
usan en procedimientos mdicos para soldar el desprendimiento de la
retina ocular, sellar lesiones en vasos sanguneos, vaporizar tumores
cerebrales y realizar ciruga del cada del odo interno. Las imgenes
tridimensionales llamadas hologramas tambin se generan con lser.

6.10.-Fibras pticas.- Las comunicaciones de fibra ptica,


utilizan esta fibra compuesta de hilos de vi drio transparente ms
delgados que un cabello humano. Una fibra ptica puede transportar
ms informacin que las ondas de radio o las ondas elctricas en los
alambres telefnicos de cobre, y no produce ondas electromagnticas
que pueden causar interferencia en las lneas de comunicacin. Los
cables transocenicos de fibra ptica proveen canales de comunicacin
entre los continentes. La fibra ptica tambin se usa en instrumentos
mdicos que permiten a los cirujanos introducir luz en el cuerpo huma
no para realizar exmenes y ciruga con lser.

26

7.-Bibliografia.o Soluciones de Problemas de Ingeniera con


MatLAB, Delores Etter, PRESTICE HALL
o Fundamentos de Programacion,Luis Joyanes
Aguilar, McGrawHill
o Introduccion a las Ciencias
Computacionales,Behrouz A. Forouzan, THOMSON
o Programacin en C++. Algoritmos, Estructuras y
Objetos; Luis Joyanes Aguilar; McGrawHill

26

Anda mungkin juga menyukai