Sei sulla pagina 1di 11

Gustavo Capielo C.I 25.544.

499

La historia de la computadora

La primera computadora fue la máquina analítica creada por Charles Babbage,


profesor matemático de la Universidad de Cambridge en el siglo XIX. La idea que tuvo
Charles Babbage sobre un computador nació debido a que la elaboración de las tablas
matemáticas era un proceso tedioso y propenso a errores. En 1823 el gobierno
Británico lo apoyo para crear el proyecto de una máquina de diferencias, un dispositivo
mecánico para efectuar sumas repetidas.

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.

El mundo no estaba listo, y no lo estaría por cien años más.

En 1944 se construyó en la Universidad de Harvard, la Mark I, diseñada por un equipo


encabezado por Howard H. Aiken. Esta máquina no está considerada como
computadora electrónica debido a que no era de propósito general y su
funcionamiento estaba basado en dispositivos electromecánicos llamados relevadores.

En 1947 se construyó en la Universidad de Pennsylvania la (Electronic Numerical


Integrator And Calculator) que fue la primera computadora electrónica, el equipo de
diseño lo encabezaron los ingenieros John Mauchly y John Eckert. Esta máquina
ocupaba todo un sótano de la Universidad, tenía más de 18 000 tubos de vacío,
consumía 200 KW de energía eléctrica y requería todo un sistema de aire
acondicionado, pero tenía la capacidad de realizar cinco mil operaciones aritméticas
en un segundo.

El proyecto, auspiciado por el departamento de Defensa de los Estados Unidos,


culminó dos años después, cuando se integró a ese equipo el ingeniero y matemático
húngaro John von Neumann (1903 - 1957). Las ideas de von Neumann resultaron tan
fundamentales para su desarrollo posterior, que es considerado el padre de las
computadoras..

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 había una gran desconocimiento de las capacidades de las


computadoras, puesto que se realizó un estudio en esta época que determinó que con
veinte computadoras se saturaría el mercado de los Estados Unidos en el campo de
procesamiento de datos.
Esta generación abarco la década de los cincuenta. Y se conoce como la primera
generación. Estas máquinas tenían las siguientes características:

• Estas máquinas estaban construidas por medio de tubos de vacío.

• Eran programadas en lenguaje de máquina.

En esta generación las máquinas son grandes y costosas (de un costo aproximado de
ciento de miles de dólares).

En 1951 aparece la UNIVAC (Universal Computer), fue la primera computadora


comercial, que disponía de mil palabras de memoria central y podían leer cintas
magnéticas, se utilizó para procesar el censo de 1950 en los Estados Unidos.

En las dos primeras generaciones, las unidades de entrada utilizaban tarjetas


perforadas, retomadas por Herman Hollerith (1860 - 1929), quien además fundó una
compañía que con el paso del tiempo se conocería como IBM (International Bussines
Machines).

Después se desarrolló por IBM la IBM 701 de la cual se entregaron 18 unidades entre
1953 y 1957.

Posteriormente, la compañía Remington Rand fabricó el modelo 1103, que competía


con la 701 en el campo científico, por lo que la IBM desarrollo la 702, la cual presentó
problemas en memoria, debido a esto no duró en el mercado.

La computadora más exitosa de la primera generación fue la IBM 650, de la cual se


produjeron varios cientos. Esta computadora que usaba un esquema de memoria
secundaria llamado tambor magnético, que es el antecesor de los discos actuales.

Otros modelos de computadora que se pueden situar en los inicios de la segunda


generación son: la UNIVAC 80 y 90, las IBM 704 y 709, Burroughs 220 y UNIVAC
1105.

Segunda Generación

Cerca de la década de 1960, las computadoras seguían evolucionando, se reducía su


tamaño y crecía su capacidad de procesamiento. También en esta época se empezó a
definir la forma de comunicarse con las computadoras, que recibía el nombre de
programación de sistemas.

Las características de la segunda generación son las siguientes:

• Están construidas con circuitos de transistores.

• Se programan en nuevos lenguajes llamados lenguajes de alto nivel.

En esta generación las computadoras se reducen de tamaño y son de menor costo.


Aparecen muchas compañías y las computadoras eran bastante avanzadas para su
época como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester.

Algunas de estas computadoras se programaban con cintas perforadas y otras más


por medio de cableado en un tablero. Los programas eran hechos a la medida por un
equipo de expertos: analistas, diseñadores, programadores y operadores que se
manejaban como una orquesta para resolver los problemas y cálculos solicitados por
la administració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.

Este procedimiento podía tomar de 10 a 45 minutos, según el programa. El panorama


se modificó totalmente con la aparición de las computadoras personales con mejore
circuitos, más memoria, unidades de disco flexible y sobre todo con la aparición de
programas de aplicación general en donde el usuario compra el programa y se pone a
trabajar. Aparecen los programas procesadores de palabras como el célebre Word
Star, la impresionante hoja de cálculo (spreadsheet) Visicalc y otros más que de la
noche a la mañana cambian la imagen de la PC. El software empieza a tratar de
alcanzar el paso del hardware. Pero aquí aparece un nuevo elemento: el usuario.

El usuario de las computadoras va cambiando y evolucionando con el tiempo. De estar


totalmente desconectado a ellas en las máquinas grandes pasa la PC a ser pieza
clave en el diseño tanto del hardware como del software. Aparece el concepto de
human interface que es la relación entre el usuario y su computadora. Se habla
entonces de hardware ergonómico (adaptado a las dimensiones humanas para reducir
el cansancio), diseños de pantallas antirreflejos y teclados que descansen la muñeca.
Con respecto al software se inicia una verdadera carrera para encontrar la manera en
que el usuario pase menos tiempo capacitándose y entrenándose y más tiempo
produciendo. Se ponen al alcance programas con menús (listas de opciones) que
orientan en todo momento al usuario (con el consiguiente aburrimiento de los usuarios
expertos); otros programas ofrecen toda una artillería de teclas de control y teclas de
funciones (atajos) para efectuar toda suerte de efectos en el trabajo (con la
consiguiente desorientación de los usuarios novatos). Se ofrecen un sinnúmero de
cursos prometiendo que en pocas semanas hacen de cualquier persona un experto en
los programas comerciales.

Tercera generación

Con los progresos de la electrónica y los avances de comunicación con las


computadoras en la década de los 1960, surge la tercera generación de las
computadoras. Se inaugura con la IBM 360 en abril de 1964.3

Las características de esta generación fueron las siguientes:

• Su fabricación electrónica está basada en circuitos integrados.

• Su manejo es por medio de los lenguajes de control de los sistemas operativos.


La IBM produce la serie 360 con los modelos 20, 22, 30, 40, 50, 65, 67, 75, 85, 90, 195
que utilizaban técnicas especiales del procesador, unidades de cinta de nueve
canales, paquetes de discos magnéticos y otras características que ahora son
estándares (no todos los modelos usaban estas técnicas, sino que estaba dividido por
aplicaciones).

El sistema operativo de la serie 360, se llamó OS que contaba con varias


configuraciones, incluía un conjunto de técnicas de manejo de memoria y del
procesador que pronto se convirtieron en estándares. En 1964 CDC introdujo la serie
6000 con la computadora 6600 que se consideró durante algunos años como la más
rápida.

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

Aquí aparecen los microprocesadores que es un gran adelanto de la microelectrónica,


son circuitos integrados de alta densidad y con una velocidad impresionante. Las
microcomputadoras con base en estos circuitos son extremadamente pequeñas y
baratas, por lo que su uso se extiende al mercado industrial. Aquí nacen las
computadoras personales que han adquirido proporciones enormes y que han influido
en la sociedad en general sobre la llamada "revolución informática".

En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso


masivo y más tarde forman la compañía conocida como la Apple que fue la segunda
compañía más grande del mundo, antecedida tan solo por IBM; y está por su parte es
aún de las cinco compañías más grandes del mundo.

En 1981 se vendieron 80000 computadoras personales, al siguiente subió a 1400000.


Entre 1984 y 1987 se vendieron alrededor de 60 millones de computadoras
personales, por lo que no queda duda que su impacto y penetración han sido
enormes.

Con el surgimiento de las computadoras personales, el software y los sistemas que


con ellas de manejan han tenido un considerable avance, porque han hecho más
interactiva la comunicación con el usuario. Surgen otras aplicaciones como los
procesadores de palabra, las hojas electrónicas de cálculo, paquetes gráficos, etc.
También las industrias del Software de las computadoras personales crece con gran
rapidez, Gary Kildall y William Gates se dedicaron durante años a la creación de
sistemas operativos y métodos para lograr una utilización sencilla de las

Quinta Generación

En vista de la acelerada marcha de la microelectrónica, la sociedad industrial se ha


dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas
con que se manejan las computadoras. Surge la competencia internacional por el
dominio del mercado de la computación, en la que se perfilan dos líderes que, sin
embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse
con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes
de control especializados. Japón lanzó en 1983 el llamado "programa de la quinta
generación de computadoras", con los objetivos explícitos de producir máquinas con
innovaciones reales en los criterios mencionados. Y en los Estados Unidos ya está en
actividad un programa en desarrollo que persigue objetivos semejantes, que pueden
resumirse de la siguiente manera:

• Procesamiento en paralelo mediante arquitecturas y diseños especiales y


circuitos de gran velocidad.

• Manejo de lenguaje natural y sistemas de inteligencia artificial. El futuro


previsible de la computación es muy interesante, y se puede esperar que esta ciencia
siga siendo objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.

La evolución del software

En 1990 La crisis del software se fundamentó en el tiempo de creación de software,


ya que en la creación del mismo no se obtenían los resultados deseados, además de
un gran costo y poca flexibilidad.

Básicamente, la crisis del software se refiere a la dificultad en escribir programas libres


de defectos, fácilmente comprensibles, y que sean verifica bles. Las causas son, entre
otras, la complejidad que supón la tarea de programar, y los cambios a los que se
tiene que ver sometido un programa para ser continuamente adaptado a las
necesidades de los usuarios. Su evolución estuvo marcada en etapas y sucesos que
fueron conformando con el paso de los años lo que hoy conocemos como software.

Primera generación: En la primera era que abarco de 1946-1965 no existió una


planificación o alguna documentación sobre el proyecto ya que se desarrollaba a base
de prueba y error.

Segunda generación: La segunda era se buscó la simplificación del código, también


aparece la multiprogramación junto con la venta del software como producto. Inicia la
crisis del software.

Tercera generación: La tercera era marco el inicio de la interconectividad en áreas


locales y globales así como incluir el concepto de distribució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

Quinta generación: La quinta era se establece desde el 2000 y nuestro presente.


Utiliza algunos requisitos de las eras antes mencionadas, solo que aumenta la
omnipresencia de la web, la reutilización de la información y componentes del
software. Como producto tenemos nuevos sistemas operativos tales como Windows,
que como des arrolladora también durante la última década ha mejorado diferentes
aspectos de lo que es el sistema operativo.
La Evolución del hardware

El hardware nace en 1950 como una necesidad de implementación en el desarrollo de


los computadores. Computadores. Así como se tuvo una evolución del software se
tuvo que encontrar la medida de implementar nuevos sistemas computacionales que
sean reducidos, cumplan con los requisitos especificados. Por estos motivos se tuvo
que evolucionar el hardware. Su evolución consto en 6 eras.

Primera generación: de computadoras (1941-1948): construidas con válvulas de


vacío. Se caracterizaban por su gran tamaño y el gran consumo de energía. Ejemplo
de ellas es la ENIAC: su arquitectura física se componía de 18.000 válvulas, un
volumen de alrededor de 111 metros cúbicos (aproximadamente el tamaño de un
autobús), unas 30 toneladas de peso y un consumo de 150.000 vatios.

Segunda generación: (1948-1962): construidas con transistores el cambio


fundamental que originó la aparición del transistor fue que redujo en gran medida el
tamaño de las computadoras. Por otra parte se multiplicó la velocidad de cálculo
(próxima a la mili segunda), y se comenzaron a utilizar los procesos por lotes.

La tercera generación: (1962-1971): construidas con circuitos integrados. Con ellos


no sólo se aumentó la miniaturización de los componentes, sino también su fiabilidad y
velocidad de proceso, de modo que el tiempo de conmutación pasó a medirse en
nanosegundos, esto es, millonésimas de segundo.

La cuarta generación: de computadoras (1971 a 1981): computadoras con


microprocesadores, chips de memoria, y micro miniaturización. Esta generación de
computadoras se caracterizó por grandes avances tecnológicos realizados en un
tiempo muy corto. En 1977 aparecen las primeras micro computadoras, entre las
cuales, las más famosas fueron las fabricadas por Apple Computer, Radio Shack,
Commodore Busíness Machines, e IBM que incluye un sistema operativo
estandarizado, el MS- DOS.

La quinta generación: (1982-1989): introducción a la inteligencia artificial las


computadoras de esta generación contienen una gran cantidad de microprocesadores
trabajando en paralelo y pueden reconocer voz e imágenes. También tienen la
capacidad de comunicarse con un lenguaje natural y pueden ir tomando decisiones
con base en procesos de aprendizaje fundamentados en sistemas expertos e
inteligencia artificial.

La sexta generación: (1990 - 2010): estas computadoras cuentan con arquitecturas


combinadas paralelo / vectorial, con cientos de microprocesadores vectoriales
trabajando al mismo tiempo; se han creado computadoras capaces de realizar más de
un millón de millones de operaciones aritméticas de punto flotante por segundo
(teraflops); las redes de área mundial siguen creciendo utilizando medios de
comunicación a través de fibras ópticas y satélites, con importantes anchos de banda.

Modelo de Von Neumann

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.

Características del modelo Von Neumann

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

Se conoce como software al soporte lógico de un sistema informático, que comprende


el conjunto de los componentes lógicos necesarios que hacen posible la realización de
tareas específicas, en contraposición a los componentes físicos que son llamados
hardware. La interacción entre el software y el hardware hace operativo un ordenador
es decir, el Software envía instrucciones que el Hardware ejecuta, haciendo posible su
funcionamiento.

Clasificación del software

Software de sistema: Su objetivo es desvincular adecuadamente al usuario y al


programador de los detalles del sistema informático en particular que se use,
aislándolo especialmente del procesamiento referido a las características internas de:
memoria, discos, puertos y dispositivos de comunicaciones, impresoras, pantallas,
teclados, etc. El software de sistema les procura al usuario y programadores
adecuadas interfaces de alto nivel, controladores, herramientas y utilidades de apoyo
que permiten el mantenimiento del sistema global. Incluye entre otros:

Sistemas operativos, Controladores de dispositivos, Herramientas de diagnóstico,


Herramientas de corrección y optimización, Servidores.

Software de programación: Es el conjunto de herramientas que permiten al


programador desarrollar programas de informática, usando diferentes alternativas y
lenguajes de programación, de una manera práctica. Incluyen en forma básica:
Editores de texto, Compiladores, Intérpretes, Enlazadores, Depuradores, Aplicaciones
para Control de sistemas y automatización industrial.

Lenguajes de la programación

Un lenguaje de programación es un lenguaje formal que especifica una serie de


instrucciones para que una computadora produzca diversas clases de datos. Los
lenguajes de programación se usan para crear programas de computadora. Un
lenguaje de programación permite poner algoritmos en práctica, los cuales controlan el
comportamiento físico y lógico de una computadora.
Características del lenguaje de programación

Compilado

En un lenguaje compilado el código fuente antes de ser ejecutado es convertido a


lenguaje máquina (C, C++) aunque también puede ser convertido a representación
intermedia que posteriormente es interpretada y convertida a lenguaje máquina JIT
(Java, C#). El compilador puede detectar una gran cantidad de errores que en un
lenguaje interpretado o de tipo dinámico se descubrirían en tiempo de ejecución.

Interpretado

En un lenguaje interpretado el código fuente es compilado a código máquina en el


momento de su ejecución (Python, Ruby, PHP, JavaScript).

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.

Clases o tipos de lenguajes de programación:

Lenguaje Máquina: es el lenguaje de programación que entiende directamente la


máquina (computadora). Este lenguaje de programación utiliza el alfabeto binario, es
decir, el 0 y el 1.

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.

Lenguajes de programación de alto nivel: Este tipo de lenguajes de programación


son independientes de la máquina, los podemos usar en cualquier computador con
muy pocas modificaciones o sin ellas, son muy similares al lenguaje humano, pero
precisan de un programa interprete o compilador que traduzca este lenguaje de
programación de alto nivel a uno de bajo nivel como el lenguaje de máquina que la
computadora pueda entender..
Existen muchos lenguajes de programación de alto nivel con sus diferentes versiones.
Por esta razón es difícil su tipificación, pero una clasificación muy extendida desde el
punto de vista de trabajar de los programas y la filosofía de su creación es la siguiente:

•Lenguajes de programación imperativos: entre ellos tenemos el Cobol, Pascal, C y


Ada.

•Lenguajes de programación declarativos: el Lisp y el Prolog.

•Lenguajes de programación orientados a objetos: el Smalltalk y el C++.

•Lenguajes de programación orientados al problema: son aquellos lenguajes


específicos para gestión.

•Lenguajes de programación naturales: son los nuevos lenguajes que pretender


aproximar el diseño y la construcción de programas al lenguaje de las personas.

Traductor, compilado e interpretes

• Un traductor es un metaprograma que toma como entrada un programa (o parte de


un programa) escrito en lenguaje simbólico, alejado de la máquina, denominado
programa fuente y proporciona como salida otro programa, semánticamente
equivalente, escrito en un lenguaje comprensible por el hardware del ordenador,
denominado programa objeto. Veremos dos tipos de traductores, los compiladores e
intérpretes, que representan dos aproximaciones muy distintas a la tarea de permitir el
funcionamiento de los programas escritos en un determinado lenguaje de
programación de alto nivel.

• Un compilador traduce completamente un programa fuente, escrito en un lenguaje de


alto nivel, a un programa objeto, escrito en lenguaje ensamblador o máquina. El
programa fuente suele estar contenido en un archivo, y el programa objeto puede
almacenarse como archivo en memoria masiva para ser procesado posteriormente, sin
necesidad de volver a realizar la traducción. Una vez traducido el programa, su
ejecución es independiente del compilador, así, por ejemplo, cualquier interacción con
el usuario sólo estará controlada por el sistema operativo. Como parte importante de
este proceso de traducción, el compilador informa al usuario de la presencia de errores
en el programa fuente, pasándose a crear el programa objeto sólo en el caso de que
no hayan sido detectados errores (por lo general, suele cancelarse la compilación al
detectar un error).

• La traducción por un compilador (la compilación) consta de dos etapas


fundamentales, que a veces no están claramente diferenciadas a lo largo del proceso:
la etapa de análisis del programa fuente y la etapa de síntesis del programa objeto.
Cada una de estas etapas conlleva la realización de varias fases. El análisis del texto
fuente implica la realización de un análisis del léxico, de la sintaxis y de la semántica.
La síntesis del programa objeto conduce a la generación de código y su optimización.

• Un intérprete permite que un programa fuente escrito en un determinado lenguaje


vaya traduciéndose y ejecutándose directamente, sentencia a sentencia, por el
ordenador. El intérprete capta una sentencia fuente, la analiza e interpreta, dando
lugar a su ejecución inmediata, no creándose, por tanto, un archivo o programa objeto
almacenaje en memoria masiva para posteriores ejecuciones. La ejecución del
programa estará supervisada por el intérprete.

• En la práctica, el usuario crea un archivo con el programa fuente. Esto suele


realizarse con un editor específico del propio intérprete del lenguaje. Según se van
almacenado las instrucciones simbólicas, se analizan y se producen los mensajes de
error correspondientes; así, el usuario puede proceder inmediatamente a su
corrección. Una vez creado el archivo fuente, el usuario puede dar la orden de
ejecución y el intérprete lo ejecuta línea a línea. Siempre el análisis antecede
inmediatamente a la ejecución.

• Si utilizamos un intérprete para traducir un programa, cada vez que necesitemos


ejecutar el programa se volverá a analizar, ya que, no se genera un fichero objeto. En
cambio, con un compilador, aunque sea más lenta, la traducción sólo debe realizarse
una vez. Además los traductores no permiten realizar optimizaciones del código (que
eliminan órdenes innecesarias compactando el código) más allá del contexto de cada
sentencia del programa.

Lenguaje C++

C++ es un lenguaje de programación diseñado en 1979 por Bjarne Stroustrup. La


intención de su creación fue extender al lenguaje de programación C mecanismos que
permiten la manipulación de objetos. En ese sentido, desde el punto de vista de los
lenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se
añadieron facilidades de programación genérica, que se sumaron a los paradigmas de
programación estructurada y programación orientada a objetos. Por esto se suele decir
que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un
estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes
de compiladores más modernos. Existen también algunos intérpretes, tales como
ROOT.

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.

Potrebbero piacerti anche