Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
499
La historia de la computadora
Mientras tanto Charles Jacquard, fabricante de tejidos, había creado un telar que
podía reproducir automáticamente patrones de tejidos leyendo la información
codificada en patrones de agujeros perforados en tarjetas de papel rígido. Al enterarse
de este método Babbage abandonó la máquina de diferencias y se dedicó al proyecto
de la máquina analítica que se pudiera programar con tarjetas perforadas para
efectuar cualquier cálculo con una precisión de 20 dígitos. La tecnología de la época
no bastaba para hacer realidad sus ideas.
La idea fundamental de von Neumann fue: permitir que en la memoria coexistan datos
con instrucciones, para que entonces la computadora pueda ser programada en un
lenguaje, y no por medio de alambres que eléctricamente interconectaban varias
secciones de control, la (Electronic Numerical Integrator And Calculator).
Primera Generación
En esta generación las máquinas son grandes y costosas (de un costo aproximado de
ciento de miles de dólares).
Después se desarrolló por IBM la IBM 701 de la cual se entregaron 18 unidades entre
1953 y 1957.
Segunda Generación
El usuario final de la información no tenía contacto directo con las computadoras. Esta
situación en un principio se produjo en las primeras computadoras personales, pues se
requería saberlas "programar" (alimentarle instrucciones) para obtener resultados; por
lo tanto su uso estaba limitado a aquellos audaces pioneros que gustaran de pasar un
buen número de horas escribiendo instrucciones, "corriendo" el programa resultante y
verificando y corrigiendo los errores o bugs que aparecieran. Además, para no perder
el "programa" resultante había que "guardarlo" (almacenarlo) en una grabadora de
astte, pues en esa época no había discos flexibles y mucho menos discos duros para
las PC.
Tercera generación
En la década de 1970, la IBM produce la serie 370 (modelos 115, 125, 135, 145, 158,
168). UNIVAC compite son los modelos 1108 y 1110, máquinas en gran escala;
mientras que CDC produce su serie 7000 con el modelo 7600. Estas computadoras se
caracterizan por ser muy potentes y veloces.
Cuarta Generación
Quinta Generación
Cuarta generación: La cuarta era que abarco de 1985 hacia 1995 aparecen desde
redes de información, tecnologías orientadas hacia objetos, redes neuronales,
sistemas expertos y el SW de la inteligencia artificial. Comienza a operar JAVA
Este describe una arquitectura de diseño para un computador digital electrónico con
partes que constan de una unidad de procesamiento que contiene una unidad
aritmético lógica y registros del procesador, una unidad de control que contiene un
registro de instrucciones y un contador de programa, una memoria para almacenar
tanto datos como instrucciones, almacenamiento masivo externo, y mecanismos de
entrada y salida.
Las computadoras son máquinas de arquitectura Von Neumann cuando: Tanto los
programas como los datos se almacenan en una memoria en común. Esto hace
posible la ejecución de comandos de la misma forma que los datos. Cada celda de
memoria de la máquina se identifica con un número único, llamado dirección. Las
diferentes partes de la información (los comandos y los datos) tienen diferente modos
de uso, pero la estructura no se representa en memoria de manera codificada. Cada
programa se ejecuta de forma secuencial que, en el caso de que no haya
instrucciones especiales, comienza con la primera instrucción. Para cambiar esta
secuencia se utiliza el comando de control de transferencia.
Software
Lenguajes de la programación
Compilado
Interpretado
Orientado a objetos
Parte del éxito de los lenguajes orientado a objetos se debe a conceptos como la
herencia que es una forma de reutilizar el código de la clase de la que se hereda, el
polimorfismo con la que un mismo método puede estar implementado de diferente
forma en función de la clase que lo implementa en la jerarquía de clases construida
con la herencia, la sobrecarga usar un mismo método con diferentes parámetros y
también igual o más importante la encapsulación con la que se ocultan los detalles
internos del funcionamiento de la clase siendo únicamente posible manejar la clase a
través de la interfaz (métodos) que ofrece.
Con estos dos únicos dígitos, también conocidos como bits, se forman lo que se
conoce como cadenas binarias (combinaciones de ceros y unos) son con las que se
escriben las instrucciones, y a través de estas instrucciones el microprocesador de la
computadora entiende nuestras peticiones. El lenguaje máquina fue el primer lenguaje
de programación. Este lenguaje de programación dejo de utilizarse por su gran
dificultad y por la facilidad para cometer errores al escribir las cadenas binarias.
Lenguajes de programación de bajo nivel: Son mucho más fáciles de utilizar que el
lenguaje máquina, pero dependen mucho de la máquina o computadora como sucedía
con el lenguaje máquina. El lenguaje ensamblador fue el primer lenguaje de
programación que trato de sustituir el lenguaje máquina por otro lenguaje que fuese
más parecido al de los seres humanos.
Lenguaje C++
Análisis Personal
Es interesante ver como llego la moda de echarle la culpa del mal desarrollo de
software a la Programación Orientada a Objetos. Mi opinión personal, es que la
P.O.O., tiene sus ventajas y desventajas. No le había dado mucha importancia, en lo
personal, a las desventajas, porque los lenguajes de programación con los que
aprendí la P.O.O., son lenguajes "multiparadigma", que permiten combinar otras
formas de programar. C++, permiten utilizar Programación Estructurada,
Programación Modular y las variables puntero a funciones, que permiten emular
algunas de las cosas que regularmente se hacen con Programación Funcional. Así
que cuando algo no ajustaba con la P.O.O., simplemente, lo complementaba, con otro
paradigma, y listo. Solo fue hasta que aparecieron lenguajes de moda más restrictivos
a usar solo características O.O., como Java y C#, cuando muchos programadores
empezaron a mostrar desencanto. Adicionalmente, la reaparición de los lenguajes
funcionales, y los lenguajes tipeados dinámicamente, provoca que muchos
programadores prefieran estas herramientas. Y para finalizar con este análisis busco
aprender y mejorar en clases para lograr ser un buen programador.