You are on page 1of 12

HISTORIA DE LA COMPUTADORA

La mquina analtica lady lovelace considerada como la madre de todas las


computadoras, fue concebida por Charles Babbage era un excntrico genio, que
entre sus inventos destaca el cuentakilmetros y la computadora.
La visin de la computadora de Babbage debido a la frustracin que senta
durante el tedioso, y con frecuencia errneo, proceso de creacin de tablas
matemticas. En 1823 recibi una subvencin del gobierno britnico para
desarrollar una maquina distinta, un dispositivo mecnico para llevar acabo sumas
numricas continua. Dos dcadas antes, Joseph-Marie charles Jacquard, un
fabricante textil francs haba desarrollado un telar textil capaz capaz de
reproducir automticamente patrones de hilado mediante la lectura de informacin
codificada en tarjetas de papel rgido punteado. Una vez estudiado el telar
programado de Jacquard, Babbage abandono esa idea y ataco un plan mucho
ms ambicioso; una maquina analtica que pudiera ser programada por el mismo
tipo de tarjetas y que fuera capaz de llevar acabo clculos de 20 dgitos de
precisin. El diseo de Babbage inclua los cuatro componentes bsicos que se
pueden encontrar en las computadoras actuales: entrada, salida, procesamiento y
almacenamiento.
Augusta Ada King, condesa de lovelace e hija del poeta lord Byron, visito a
Babbage y su mquina analtica. Ada se carteaba frecuentemente con l, y con
frecuencia se puede decir que fue la primera programadora de computadoras
porque escribi un plan para usar la maquina analtica de forma que pudiera
calcular los nmeros de la frecuencia de Bernoulli.
Babbage estaba obsesionado con completar la maquina analtica. Eventualmente
el gobierno retiro el soporte econmico, ya que no exista una demanda publica lo
suficientemente importante para justificar este importante coste. La tecnologa del
momento no era suficiente como para poder llevar acabo sus ideas. El mundo no
estaba preparado para las computadoras, y no lo estara en otros 100 aos.
Las primeras computadoras reales.
Aunque lady lovelace predijo que la maquina analtica podra llegar a componer
msica algn da, los cientficos y matemticos que disearon las computadoras
hace un siglo tena un objetivo ms modesto; crear maquinas capaces de efectuar
clculos repetitivos. Aun as, historias no estn exentas de drama e irona. He aqu
alguna de ellas.
En 1939, un joven ingeniero alemn llamado Konrad Zuse completo la
primera computadora programable de propsito general era tan vago a la
hora de realizar clculos, dijo Zuse. En 1941 Zuse y un amigo solicitaron
al gobierno alemn fondos para construir una computadora electrnica ms
rpida que ayudara a descifrar los cdigos enemigos durante la segunda
guerra mundial. El ejrcito nazi desecho el proyecto confiando en que su
aviacin sera capaz de ganar la guerra rpidamente sin la ayuda de
sofisticados dispositivos de clculo.
Casi al mismo tiempo, y en el ms alto de los secretos, el gobierno britnico
formo un equipo de matemticos e ingenieros para que desarrollaran un
modo de descifrar los cdigos secretos del ejrcito nazi. En 1943, el equipo,
dirigido por el matemtico Alan Turing, completo colossus, considerada por
muchos como la primera computadora digital electrnica. este dispositivo
de propsito especfico logro descifrar fcilmente esos cdigos militares,
hasta el ms insignificante mensaje alemn.
En 1939, el profesor John Atanasoff de la lowa State University, buscando
una herramienta para ayudar a sus alumnos a resolver ecuaciones
diferenciales, desarrollo lo que puede considerarse como la primera
computadora electrnica, la ABC (computadora atanasoff-berry). Su
universidad se olvid de patentar la mquina, y atanasoff nunca intento
convertir su idea en un producto operativo. La empresa IBM (international
business machines) respondi a su consulta dicindole IBM nunca estar
interesado en una mquina de computacin electrnica
El profesor Howard Aiken, de la Universidad de Harvard, tuvo ms xito en
la financiacin de la calculadora automtica de propsito general que
estaba desarrollando. Gracias a un milln de dlares donado por IBM.
Completo la Mark I en 1944. Este monstro de unos 15 metros de largo por
2.5 de alto utilizaba ruidosos rels electromecnicos para calcular 5 o 6
veces ms rpido que una persona, aunque era ms lento que cualquiera
calculadora de bolsillo que pueden encontrarse hoy.
Tras consultar con atanasoff y estudiar la ABC, John Mauchly se ali con J.
presper Eckert para ayudar al ejrcito americano de la II guerra mundial
construyendo una maquina capaz de calcular trayectorias para las nuevas
armas, la maquina fue la ENIAC un artilugio de 30 toneladas y 18000
vlvulas de vaco que se estropeaba, de media, una vez cada 7 minutos.
Cuando estaba en funcionamiento poda calcular 500 veces ms rpido que
las calculadoras existentes. No estuvo terminada hasta dos meses despus
de haber terminado la guerra, aunque s que convenci a sus creadores de
que las computadoras a gran escala podran tener inters comercial.

El hardware de las computadoras ha evolucionado rpidamente desde sus


primeros das con nuevas tecnologas que sean ido remplazando cada pocos
aos. Las primeras computadoras eran grandes, caras y muy complicadas. Solo
una gran institucin como un banco importante o el gobierno de los estados unidos
podra permitirse una computadora, por no mencionar el centro de computacin
climatizado y la plantilla de tcnicos que eran necesarios para programarla y
mantenerla en funcionamiento. Pero con todos sus fallos, las computadoras se
convirtieron rpidamente en herramientas indispensables para los cientficos,
ingenieros y otros profesionales
El transistor, inventado en 1948, podra realizar las mismas tareas que las vlvulas
de vaco que se empleaban en las primeras computadoras transfiriendo
electricidad a travs de una fina resistencia. Los transistores fueron usados por
primera vez en computadoras en 1956. Dichas computadoras eran radicalmente
ms pequeas, fiables y baratas que las basadas en vlvulas. Gracias a las
mejoras que se produjeron en el software que se produjeron casi al mismo tiempo,
estas mquinas eran mucho ms sencillas y rpidas de programar y usar. Como
resultado, las computadoras se empezaron a utilizar ampliamente en empresas y
para estudio cientficos y de ingeniera.
Pero el programa espacial americano precisaba de mquinas que fueran an ms
potentes y pequeas que basadas en los transistores, lo que obligo a los
investigadores a desarrollar una tecnologa que les permitiera empaquetar cientos
de estos transistores en un nico circuito integrado dentro de un delgado chip de
cilicio. Hacia mediados de los 60, las computadoras basadas en transistores
fueron sustituidas por otras ms potentes y pequeas construidas alrededor de
nuevos circuitos integrados.
Estos componentes remplazaron rpidamente a los transistores por las mismas
razones que estos, anteriormente, haban sustituido a las vlvulas de vaco:
Fiabilidad. Las maquinas construidas con circuitos integrados eran menos
propensas a los fallos que los predecesores, ya que los chips podran ser
verificados rigurosamente antes de su instalacin.
Tamao. Un solo chip poda sustituir a cientos o miles de transistores, lo
que permita una reduccin considerable de tamao de las maquinas.
Velocidad. Como la electricidad tena que recorrer menores distancias,
estas mquinas eran considerablemente ms veloces que sus
predecesores.
Eficiencia. Ya que los chips eran tan pequeos, necesitaban menos energa
elctrica. Como resultado de ello generaban menos calor.
Coste. Las tcnicas de produccin en masa hicieron posible la fabricacin
de chips baratos.
Desde su inicio, todos los avances en la tecnologa de las computadoras han
presentado ventajas similares sobre aquella a la que sustitua.
El implacable proceso de esta industria esta mostrado en ley do Moore. En 1965,
Gordon Moore, el presidente del fabricante de chips Intel, predijo que la potencia
de un chip de cilicio con el mismo precio podra doblarse cada 18 mese durante al
menos dos dcadas. En la actualidad, tres dcadas ms tarde, su prediccin se ha
mostrado totalmente acertada.
En resumen, los tres dispositivos que definen las tres primeras generaciones de
computadoras son las vlvulas de vaco, que albergaban unos pocos
conmutadores en un espacio similar al de una bombilla, el transistor, que permita
lo ingenieros incluir la misma circuitera en un paquete que era semiconductor que
era pequeo, ms frio y mucho ms fiable, y los chips de cilicio, cuyos primeros
ejemplares incluan varios transistores en una manchita mucho ms pequea que
en un solo transistor.
La invencin de las vlvulas de vaco, los transistores y los chips de cilicio han
tenido un gran impacto en nuestra sociedad. Pero el impacto de cualquiera de
ellos no puede compararse con el que tuvo la invencin del primer
microprocesador en 1971. El desarrollo del microprocesador por parte de los
ingenieros de Intel provoc cambios radicales e inmediatos en el aspecto potencia
y disponibilidad de las computadoras. Actualmente un solo chip del tamao de una
ua puede contener el equivalente de un millo de transistores.
Los costes de investigacin del primer microprocesador fueron astronmicos. Pero
una vez que las lneas de ensamble estuvieron en funcionamiento, las
computadoras con chip de silicio pudieron ser fabricadas en masa a unos costes
muy inferiores. Las materias primas eran realmente baratas; el silicio ingrediente
principal de la arena de playa, es el segundo elemento ms comn.
La revolucin de las microcomputadoras comenz a finales delos 70 cuando
compaas como APPLE, Commodore y Tandy presentaron computadoras de bajo
coste y del tamao de una mquina de escribir y tan potentes como los antiguos
armarios. Los PC (computadoras personales), nombre como se le conoce a las
microcomputadoras, son en la actualidad elementos comunes, en oficinas,
domicilios particulares, escuelas, etc. Debido al comportamiento a la ley de Moore
los fabricantes de chips, las microempresas han ido ganando velocidad y potencia
durante las dos ltimas dcadas. Al mismo tiempo, los PC han ido empezando a
desempear tareas que, hasta el momento, estaban restringidas a grandes
computadoras, y cada ao la gente encuentra nuevas e innovadoras formas de
aprovechar estos pequeos y verstiles caballos de labor.
Con la era de los PC, la era de la computacin institucional llego a su fin.
COMPUTADORAS EN LA ACTUALIDAD.
En la actualidad, la gente trabaja con mainframes, supercomputadoras, estaciones
de trabajo, porttiles, computadoras de bolsillo, computadoras incrustadas y, por
supuesto, con PC. Aunque todas ellas estn basadas en la misma tecnologa,
todas estas tienen sustanciales diferencias.
Antes de la revolucin de las microcomputadoras, la mayora de la informacin
que se procesaba era en mainframes, maquinas del tamao de una gran sala. En
la actualidad empresas importantes como bancos o lneas areas, siguen
utilizando este tipo de computadoras para trabajos que impliquen grandes tareas
de computacin. Pero los mainframes actuales son ms pequeos y baratos que
sus predecesores

QUE ES UN PROGRAMA?
Un programa no posee un color definido, un peso especfico, un olor determinado
o alguna caracterstica fsica perfectamente mediable a travs de la actualidad
nuestros sentidos lo puedan percibir. Es ms, un programa es una entidad
dinmica que solo existe como tal en el momento de ejecutarse. Antes y despus
de eso un programa es un conjunto de instrucciones estticas que no sirven para
nada, como no sea para ocupar espacio en memoria
Un programa resulta, por tanto, una entidad sumamente abstracta. Esta naturaleza
hace difcil el establecimiento de algn tipo de norma para la definicin de las
caractersticas deseables de un programa o sistema. Por abstracto entendemos
que no se puede tocar. Y que sus caractersticas no estn totalmente definidas.
Con esto no se est menospreciando el programa, despus de todo, constituye la
mitad de cualquier computadora til. Precisamente esta importancia hace
necesario mirar ms detenidamente a este elemento al cual no se le puede medir
ningn parmetro fsico para establecer su correcto funcionamiento dentro de la
computadora.
DIAGRAMA DE FLUJO
Se basan en la utilizacin de diversos smbolos geomtricos para representar
operaciones especficas. Se les llama diagramas de flujo porque los smbolos
utilizados se conectan por medio de flechas para indicar la secuencia que sigue la
ejecucin de las operaciones.
En la seccin de Programacin Estructurada se explica la forma de construir
diagramas de flujo utilizando esta tcnica.

Un diagrama de flujo de datos es una descripcin grfica de un procedimiento


para la resolucin de un problema. Son frecuentemente usados para describir
algoritmos y programas de computador. Los diagramas de flujo de datos estn
conformados por figuras conectadas con flechas. Para ejecutar un proceso
descrito por un diagrama de flujo de datos se comienza por el INICIO y se siguen
las flechas de figura a figura, ejecutndose las acciones indicadas por cada figura;
el tipo de figura indica el tipo de paso que representa. Los diagramas de flujo son
frecuentemente usados debido a que pueden suprimir detalles innecesarios y
tener un significado preciso, si son usados correctamente.
Los diagramas de flujo son una herramienta que permite representar visualmente
qu operaciones se requieren y en qu secuencia se deben efectuar para
solucionar un problema dado. Por consiguiente, un diagrama de flujo es la
representacin grfica mediante smbolos especiales, de los pasos o
procedimientos de manera secuencial y lgica que se deben realizar para
solucionar un problema dado.
En los inicio de la computacin la herramienta mas utilizada por los
programadores fue el diagrama de flujo. Esto es una representacin grafica de lo
que la maquina realiza paso a paso y lo que ofrece, de un vistazo, una panormica
completa del flujo de instrucciones que ejecuten en ella.
A la fecha es la herramienta ms utilizada para la enseanza en los lenguajes de
programacin. Un diagrama de flujo muestra las instrucciones de un programa y
como estas son ejecutadas por la computadora. Un diagrama de flujo muestra de
forma grfica lo que de otra forma grfica lo que de otra forma es una abstraccin
difcil de visualizar para el estudiante de programacin.
No existe un estndar globalmente aceptado sobre los smbolos que se utilizan
para los diagramas de flujo.
Es importante recalcar que esta representacin solo es til para fines didcticos.
Los sistemas de programacin en empresas son demasiados grandes como para
esta sea una herramienta til o prctica.
El diagrama de flujo utiliza unos smbolos normalizados, con los pasos del
algoritmo escrito en el smbolo adecuado y los smbolos unidos por flechas,
denominadas lneas de flujo, que indican el orden en que los pasos deben ser
ejecutados.
Las estructuras de control de programacin en los lenguajes de programacin,
suelen ser construcciones abstractas sin paralelo en el mundo fsico y un
estudiante de programacin puede tener problemas para visualizar estas
construcciones. Por esta razn los diagramas de flujo son una herramienta
excelente para mostrar los principios de funcionamiento.
El diagrama de flujo tiene una seria de desventajas que ha puesto en movimiento
a los especialista en la bsqueda de opciones alternas. En primer lugar, un
diagrama de flujo ocupa mucho espacio en la hoja la cual se quiere dibujar, porque
hasta el proceso ms sencillo requiere de una flecha de entada, una caja de
proceso y una flecha de salida,
Por otra parte, la simbologa no siempre es uniforme y podemos encontrar
distintos smbolos para un solo significante.
Los diagramas de flujo son muy dependientes del lenguaje y esto pude volverlos
tan obscuros como el cdigo mismo.

LENGUAJES DE COMPUTACIN.
Es el nico lenguaje que entiende el hardware (mquina) y usa exclusivamente el
sistema binario (ceros y unos). Este lenguaje es especfico para cada hardware
(procesador, dispositivos, etc.).
El programa (tanto cdigos de instruccin como datos) es almacenado en
memoria. La estructura de una instruccin en lenguaje mquina es la siguiente:

El idioma que habla una computadora es el lenguaje nativo o lenguaje mquina;


ste es un conjunto de instrucciones primitivas construidas en cada computadora y
difiere entre. Los diversos tipos de computadoras existentes; dichas instrucciones
estn en formato de cdigo binario o digital.
Los lenguajes de programacin se utilizan para escribir programas que, en las
computadoras modernas, constan de secuencias de instrucciones que se codifican
como series de dgitos que dichas computadoras podrn entender. El sistema de
codificacin se conoce como lenguaje mquina y es el lenguaje nativo de una
computadora; desgraciadamente la escritura de programas en lenguaje mquina
es una tarea tediosa y difcil porque sus instrucciones son secuencias o patrones
de bits, tales como 11110000, 01110011, los cuales son difciles de recordar y
manipular por personas. En consecuencia, se necesitan lenguajes de
programacin amigables con el programador que permitan escribir programas
para charlar con facilidad y de modo comprensible con la mquina.
En realidad, la computadora no entiende directamente los lenguajes de
programacin, en vez de eso, requiere un programa que traduzca el cdigo fuente
a un lenguaje entendible directamente por la mquina, aunque complejo para las
personas; este lenguaje se conoce como lenguaje mquina y a su cdigo
correspondiente se le conoce como cdigo mquina. Los programas que traducen
el cdigo fuente escrito en un lenguaje de programacin, a cdigo mquina se
denominan traductores; y son de dos tipos: compiladores e intrpretes.
Hoy da, la mayora de los programadores emplean lenguajes de programacin
como C++, C, C#, Java, Visual Basic, XML, HTML, Perl, PHP o JavaScript entre
otros, aunque todava se utilizan, sobre todo en el mbito profesional, los clsicos
COBOL, FORTRAN, Pascal o el mtico BASIC. stos se denominan lenguajes de
alto nivel y al convertir sus algoritmos en programas escritos permiten a los
profesionales resolver diversos problemas.
Sin embargo, las computadoras slo entienden instrucciones en lenguaje
mquina, por lo que es preciso traducir los programas resultantes a dicho lenguaje
antes de poderlo ejecutar.
Cada lenguaje de programacin tiene un conjunto de instrucciones (acciones u
operaciones a realizar) que la computadora entender directamente en su cdigo
mquina o, en caso necesario, se traducirn a su cdigo. Las instrucciones
bsicas y comunes en casi todos los lenguajes de programacin son:
De entrada/salida. Transfieren informacin entre dispositivos perifricos y la
memoria central; por ejemplo: leer de unidad F o bien escribir en unidad DVD
ROM.
De clculo. Indican a la computadora la realizacin de operaciones aritmticas.
De control. Modifican la secuencia en la ejecucin del programa.
Adems de estas instrucciones existen otras que conforman el conjunto completo,
ste depende del procesador y del lenguaje de programacin, y junto con las
reglas de sintaxis permitirn escribir los programas. Los principales tipos de
lenguajes de programacin son:
Lenguaje mquina.
Lenguaje de bajo nivel (ensambladores).
Lenguaje de alto nivel.

Cada uno de los lenguajes fue diseado con un objetivo especfico: Cobol fue
creado para desarrollar aplicaciones de negocios y gestin empresarial; Fortran se
concibi para realizar clculos matemticos y desarrollar aplicaciones cientficas;
BASIC, se dise para que su uso y aprendizaje fuera sencillo; Pascal fue
desarrollado por Niklaus Wirth como un lenguaje de propsito general y de
mltiples aplicaciones; Visual Basic se concibi para facilitar el desarrollo rpido
de aplicaciones e interfaces grficas de usuarios; Delphi es similar a Visual Basic,
pero con estructura y caractersticas similares a Pascal; C fue creado como
lenguaje de programacin de propsito general; para facilitar el uso y portabilidad
de los programas y para desarrollar programas de sistemas como compiladores y
sistemas operativos; C++ aadi propiedades de programacin orientada a
objetos a las caractersticas de C; Java fue diseado por Sun Microsystems
pensando fundamentalmente en desarrollos de aplicaciones de internet; por
ltimo, C#, que fue concebido por Microsoft y que rene propiedades de C++ y
Java, es adecuado para el desarrollo de aplicaciones basadas en la plataforma
.NET de Microsoft, tanto para aplicaciones de propsito general como de internet.
Un programa escrito en lenguaje de alto nivel se denomina programa fuente.
Como una computadora no puede entender tal programa, se necesita un
compilador para traducirlo a lenguaje mquina. Normalmente, los programas
traducidos a lenguaje mquina por los compiladores se enlazan con otros cdigos
o programas de bibliotecas del lenguaje de programacin especfico y se
convierten en un archivo ejecutable para la mquina. En los programas diseados
para el sistema operativo Windows, a los nombres de los archivos que los
contienen se les asigna la extensin .exe, de ejecutable. Un compilador es un
programa que traduce lenguajes de alto nivel como C, C++, Java, C#, etctera, al
lenguaje mquina equivalente; en el caso de Java, como veremos en el apartado
siguiente, el lenguaje mquina es el bytecode.
Existen otros programas traductores denominados intrpretes como opciones a los
compiladores; un intrprete es un traductor de un lenguaje de alto nivel que no
produce una copia completa y nica del programa en lenguaje mquina, como en
el caso de C, C++, Pascal, FORTRAN, etctera que se puede ejecutar ms tarde,
sino que traduce y ejecuta realmente el programa escrito en lenguaje de alto nivel,
instruccin a instruccin.
BASIC fue el lenguaje intrprete por excelencia y Java tiene propiedades de
intrprete.

LENGUAJE DE ALTO Y BAJO NIVEL.

Lenguaje de programacin de bajo nivel(ensamblador)


Es un lenguaje que usa mnemnicos (palabras cortas escritas con caracteres
alfanumricos), para codificar las operaciones. Los datos y/o direcciones son
codificados generalmente como nmeros en un sistema hexadecimal.
Generalmente es especfico (aunque no nico) para cada lenguaje de mquina. La
estructura de una instruccin en este lenguaje es la siguiente:
Los lenguajes ensamblador o de programacin de bajo nivel se desarrollaron para
facilitar el trabajo del programador; stos utilizan un nemnico o nemotcnico
como abreviatura para representar la instruccin y que sea ms fcil de recordar
en comparacin con una secuencia de dgitos binarios. La tabla 1.4 contiene
algunos ejemplos de instrucciones en lenguaje ensamblador y su cdigo
correspondiente en lenguaje mquina.
Como se puede observar, es mucho ms fcil escribir instrucciones en lenguaje
ensamblador que en lenguaje mquina; sin embargo, una computadora no puede
ejecutar directamente instrucciones en este lenguaje, sino que las debe traducir
primero a lenguaje mquina, para esto se utiliza un programa tambin llamado
ensamblador que traduce las instrucciones en lenguaje ensamblador al lenguaje o
cdigo de la mquina. As, un programa ensamblador traducira una instruccin en
cdigo ensamblador ADD R1, R2, 123 en una instruccin mquina tal como
1101101010011011.
Como el lenguaje ensamblador depende de la mquina, entonces un programa
ensamblador nicamente se puede ejecutar en una mquina especfica y los
cdigos o palabras nemotcnicas slo sirven para la programacin de dichos
aparatos. Por esta dificultad, y con la intencin de superar el inconveniente de la
dependencia en cuanto a plataforma, computadora y procesador especficos, se
desarrollaron lenguajes de alto nivel que permiten la programacin independiente
de la mquina sobre la que se ejecutan los programas.

Lenguaje de programacin de alto nivel

Es un lenguaje basado en una estructura gramatical para codificar estructuras de


control y/o instrucciones. Cuenta con un conjunto de palabras reservadas (escritas
en lenguaje natural).
Estos lenguajes permiten el uso de smbolos aritmticos y relacionales para
describir clculos matemticos, y generalmente representan las cantidades
numricas mediante sistema decimal.
Gracias a su estructura gramatical, estos lenguajes permiten al programador
olvidar el direccionamiento de memoria (donde cargar datos y/o instrucciones en la
memoria), ya que este se realiza mediante el uso de conceptos como el de
variable.
Los COMPILADORES e INTERPRETES son software capaz de traducir de un
lenguaje de alto nivel al lenguaje ensamblador especfico de una mquina. Los
primeros toman todo el programa en lenguaje de alto nivel, lo pasan a lenguaje
ensamblador y luego lo ejecutan. Los ltimos toman instruccin por instruccin, la
traducen y la van ejecutando.
Los lenguajes de programacin de alto nivel utilizan palabras similares al ingls,
as como smbolos, signos de puntuacin y aritmticos, de modo que facilitan el
desarrollo de programas.
As, por ejemplo: una instruccin o sentencia que calcula la superficie de un
crculo de radio 15 en un lenguaje de alto nivel sera: (S = x r2).
Superficie = 3.141592 * 15 * 15

You might also like