Inf-166 Último

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 27

Universidad Mayor de San Andrés

Facultad de Ciencias Puras y Naturales


Carrera de Informática

Realizado por:

Brayan Janco Cahuana.


Brayan Rene Gonzales Quispe .
Alvaro Richard Guarachi Ticona.
Jhonny Angel Laura Zarco.
Cristhian Flores Mamani.
Cesar I. Gustavo Ibañez Guarachi.
Omar Freddy Mamani Nina.
Juan Carlos Vargas Apaza.
Alfredo Adolfo Álvarez Acuña.
Rosario Martina Roque Ticona.
Ni;.
Marzo 2019

La Paz-Bolivia
ÍNDICE

LA EVOLUCIÓN DEL SOFTWARE.

Índice………………………………………………………………………………….…………
……………………..1
Introducción……………………………………………………………………….……………
……………………2
La evolución del
software​…​…………………………………………….….………………………………. 3
1.- Generación Cero
1940……………………………………………………………………….…..1
2.- Primera generación 1950 -
1960………………………………….………………………..1
3.- Segunda generación (primera mitad de la década de
1960)….……………….1
4.- Tercera generación (mitad de la década de 1960 a la mitad de la década
de
1970)….………………………………………..…………………….…………
……………1
5.- Cuarta generación (de la mitad de la década de 1970 a nuestros
días)…….1
Conclusiones……………………………………………………………………………………
……………………20
Bibliografía………………………………………………………………….…………………
……………………..21
1. INTRODUCCIÓN

El siguiente informe se enfoca en estudiar el software que puede definirse como todos aquellos
conceptos, actividades y procedimientos que dan como resultado la generación de programas
para un sistema de computación; concretamente se estudia la evolución del software a lo largo de
la historia de la informática hasta la actualidad con el objeto de dar a entender cuán importante es
el crecimiento que ha tenido en las últimas décadas.

Tomando como punto central al software, se desarrolla un estudio de su evolución dividido en


varias generaciones, teniendo en cuenta también los lenguajes de programación, sistemas
operativos y software destacado que han surgido a través de la historia, mencionando a su vez a
los personajes destacados o pioneros en el software que realizaron grandes aportes.

2. Precursores del software

Ada Lovelace​, británica (1815-1852): es considerada la primera programadora de la historia al


crear en 1843 el primer programa de ordenador de la historia. A través de un sistema de tarjetas
perforadas se podía recibir y emitir información sin necesidad de intervención humana. Este
sistema se utilizó desde los años 50 hasta los 80 del siglo XX. Hija del poeta Lord Byron, tuvo que
firmar sus trabajos con sus iniciales A. A. L., para que no la censuraran por ser mujer. En 1979 el
Departamento de Defensa de EE. UU. desarrolló un lenguaje de programación que llamó “ADA” en
su honor.

Alan Turing​, británico (1912-1954): el padre de la computación científica y la IA. En 1936 creó la
máquina Turing, capaz de resolver cualquier problema matemático que pueda representarse
mediante un algoritmo. En 1952 fue condenado por su homosexualidad y dos años después
apareció muerto, envenenado por cianuro, junto a una manzana (la cual no se analizó). Su suicidio
ha dado mucho que hablar: “Recientemente el Gobierno Británico se disculpó oficialmente por el
trato que le dieron. De hecho, se pensó que se suicidó con una manzana envenenada, y durante
muchos años se especuló que el logo de Apple era en honor a este suceso... hasta que Steve Jobs
reconoció que no, pero que les hubiera gustado ser tan inteligentes como para que realmente
fuera éste el motivo del logo”. Durante la Segunda Guerra Mundial trabajó en descifrar los códigos
nazis –en especial los de la máquina Enigma–, lo que permitió acortar la duración de la guerra
entre dos y cuatro años. En el campo de la inteligencia artificial es conocido por la concepción del
test de Turing (1950), una prueba para identificar si se está hablando con una persona o una
máquina.

Donald Knuth​, estadounidense (1938-act.): reconocido como el 'padre' del análisis de algoritmos y
llamado el “Yoda” de la programación por muchos, ha sentado las bases de los modernos
compiladores, es decir, los programas que convierten el lenguaje de los programadores al lenguaje
binario de los ordenadores. Se le conoce principalmente por ser el autor de la obra The Art of
Computer Programming (El arte de programar computadoras), una de las más respetadas
referencias en el campo de las ciencias de la computación. Creador de TeX y METAFONT, los
programas tipográficos más usados para preparar documentos científicos, son lenguajes que
permiten a los investigadores publicar sus textos con diseño de imprenta.

Dennis Ritchie​, estadounidense (1941-2011): creador del lenguaje C en 1972, colaboró en el


diseño y desarrollo del sistema operativo Unix junto con Ken Thompson y Douglas McIlroy. El
lenguaje C se usa ampliamente hoy día en el desarrollo de aplicaciones y sistemas operativos, y ha
sido una gran influencia en otros lenguajes más modernos como el lenguaje de programación Java.
Unix ha sentado las bases de sistemas operativos modernos, como GNU/Linux y Mac OS X. Recibió
el Premio Turing de 1983 por su desarrollo de la teoría de sistemas operativos genéricos y su
implementación en la forma del sistema Unix. Ritchie y Thompson recibieron conjuntamente del
presidente Bill Clinton la Medalla Nacional de Tecnología de 1998 por la invención del sistema
operativo UNIX y el lenguaje de programación C.

Richard Stallman​, estadounidense (1953-act.): Es considerado fundador del movimiento de


software libre. Inventor del concepto de copyleft (aunque no del término), un método para
licenciar software de tal forma que su uso y modificación permanezcan siempre libres y queden en
la comunidad de usuarios y desarrolladores. El 27 de septiembre de 1983 Stallman anunció el
inicio del proyecto GNU, que perseguía crear un sistema operativo completamente libre. Entre sus
logros destacados como programador se incluye la realización del editor de texto GNU Emacs, el
compilador GCC, y el depurador GDB, bajo la rúbrica del Proyecto GNU.

Bjarne Stroustrup​, danés (1950-act.): en 1983 evolucionó el C a C++, el lenguaje de programación


más influyente de la historia de la informática. Su objetivo era extender al lenguaje de
programación C mecanismos que permitiesen la manipulación de objetos. Está presente en la
práctica totalidad de los ordenadores y gadgets que manejamos a diario: los vehículos de
exploración de Marte, el proyecto genoma, Google, Amazon, sistema reservas online Amadeus,
Coverity (análisis de código), Maya (animación), coches, aviones, sistemas de telecomunicaciones,
videojuegos (Doom, Warcraft, Age of Empires, Halo…), turbinas eólicas, prospecciones
petrolíferas… en la mayoría del software de Microsoft, Apple, las máquinas virtuales de Java,
Thunderbird y FireFox, MySQL, Open Office… Como dice el propio Stroustrup: “Si hubiera tenido
mentalidad de marketing, en cada ordenador y en cada gadget hubiera puesto una pegatina ‘C++
inside’.

Tim Berners-Lee​, británico (1955-act.): es el padre de la World Wide Web. Estableció la primera
comunicación entre un cliente y un servidor usando el protocolo HTTP en noviembre de 1989. La
preocupación por encontrar un sustituto de la memoria llevó a Berners-Lee a crear un sistema de
información al que bautizó con el nombre de World Wide Web (gran telaraña mundial). En octubre
de 1994 fundó el Consorcio de la World Wide Web (W3C) con sede en el MIT, para supervisar y
estandarizar el desarrollo de las tecnologías sobre las que se fundamenta la Web y que permiten el
funcionamiento de Internet. Premio Príncipe de Asturias (compartido con Lawrence Roberts,
Robert Kahn y Vinton Cerf) en la categoría de investigación científica y técnica en 2002, Premio
Millenium de Tecnología 2004, caballero de la Orden del Imperio Británico desde 2004 y Premio
Turing 2016.

Alan Cooper​, estadounidense (1952-act.): Padre del lenguaje de programación Visual BASIC 1991.
Pionero en el campo de la experiencia de usuario (Diseño UX).

En 1988 Alan Cooper creó un lenguaje de programación visual, llamado “Ruby” (que no tiene nada
que ver con el actual lenguaje Ruby), que permitía a los usuarios de Windows crear una serie de
programas de forma sencilla y usando la interfaz genérica de Windows. Después de demostrarlo
frente a Bill Gates, Microsoft compró Ruby e incluso Gates indicó que “esta innovación tendría un
profundo efecto”

Cabe señalar que Microsoft rediseñó la herramienta de Cooper y la comercializó como lo que se
llamó finalmente Visual BASIC, el cual tuvo un gran éxito porque de alguna manera se tenía un
lenguaje conocido como BASIC, pero ahora sin número de línea, estructurado y con una interfaz
gráfica que lo hacía más versátil.

Linus Torvalds​, finlandés y estadounidense (1969-act): Desarrolló en 1991 del Núcleo Linux (Linux
kernel). Adalid del Open source. También creó Git, el software para gestionar versiones de
software que hoy construye comunidades de código abierto como las de Github. En 1996 un
asteroide recibió el nombre de 9793 Torvalds en su honor. Obtuvo el Premio Millenium de
Tecnología en 2012 (casi tan importante como el Nobel).

John Carmack​, estadounidense (1970-act.): Es conocido como uno de los líderes técnicos en el
mundo de los juegos para computadora. Carmack es autor de varias técnicas algorítmicas para
gráficos de computadora, en particular el cacheo de superficies. Como programador desarrolló los
primeros videojuegos de acción en primera persona, como Wolfenstein 3D, Doom y Quake.
Cofundador de ID Software, es, además, pionero en trucos gráficos en 3D y técnicas que todavía
están en funcionamiento hoy. Los motores de juegos de Carmack han sido licenciados y utilizados
en algunos de los juegos de acción en primera persona más influyentes en la historia del género,
como Half-Life y Medal of Honor.
3. La evolución del software
El contexto en el que se ha desarrollado el software está fuertemente ligado a las casi cinco
décadas de evolución de los sistemas informáticos. Un mejor rendimiento del hardware, una
reducción del tamaño y un costo más bajo, han dado lugar a sistemas informáticos más complejos.
Hemos pasado de los procesadores con válvulas de vacío a los dispositivos micros electrónicos que
son capaces de procesar 200 millones de instrucciones por segundo y más.

3.1. Primera Generación


En esta primera generación no existía un planteamiento de ningún tipo, los métodos eran pocos y
su desarrollo fue a base de prueba y erros, en los primeros años de desarrollo de las
computadoras, el hardware sufrió continuos cambios, mientras que el software se contemplaba
simplemente como un agregado. Los software en estos años era de propósito general, La mayoría
del software se desarrollaba y era utilizado por la misma persona u organización: la misma persona
lo escribía, lo ejecutaba y, si fallaba, lo depuraba, en este entorno personalizado del software, el
diseño era un proceso implícito, realizado en la mente de alguien, y la documentación
normalmente no existía., Aunque apenas era un paso aprendimos mucho sobre la informática
pero poco sobre las computadora.

3.2. Segunda Generación


Es esta generación se da la crisis del software porque no obtenían lo resultados deseados y
fuera de eso costaban mucho. Pero no todo era malo, a pesar de la crisis aparece la
multiprogramación, nace la ingeniería del software y por ende aparece el software como
producto.La multiprogramación, multiprocesamiento y multiusuario, los sistemas multiusuario
introdujeron nuevos conceptos de interacción hombre-máquina. Las técnicas interactivas abrieron
un nuevo mundo de aplicaciones y nuevos niveles de complejidad del hardware y del software, e​n
los sistemas de multiprogramación, varios programas de usuarios se encuentran el mismo tiempo
en el almacenamiento principal, y el procesador se cambia rápidamente de un trabajo a otro. En
los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema
computacional, con la finalidad de incrementar el poder de procesamiento de la maquina. La
independencia de dispositivos aparece después. Un usuario que deseara escribir datos en una
cinta en sistemas de la primera generación tenia que hacer referencia especifica a una unidad en
particular.
3.3. Tercera Generación
Los lenguajes de programación era lo último para las computadoras donde son mejores en
rendimiento que las de lenguajes de generaciones anteriores. Con la salida de la computadora IBM
salen los programas fortran (lenguaje de cálculo numérico) y cobol (lenguaje orientado para
negocios) para un mejor funcionamiento de ellas, el sistema distribuido, múltiples computadoras,
cada una ejecutando funciones concurrentes y comunicándose con alguna otra, incrementó
notablemente la complejidad de los sistemas informáticos. Las redes de área local y de área
global, las comunicaciones digitales de alto ancho de banda y la creciente demanda de acceso
"instantáneo" a los datos, supusieron una fuerte presión sobre los desarrolladores del software. La
conclusión de la tercera era se caracterizó por la llegada y amplio uso de los microprocesadores. El
microprocesador ha producido un extenso grupo de productos inteligentes, desde automóviles
hasta hornos microondas, desde robots industriales a equipos de diagnósticos de suero
sanguíneo.
3.4. ​Cuarta Generación (1971-1981)
Generación de potentes máquinas personales controladas por sistemas operativos sofisticado,
acompañadas por aplicaciones de software avanzadas, los sistemas operativos fueron
desarrollados para servir a múltiples usuarios interactivos a la vez.

Los sistemas operativos han alcanzado un notable desarrollo, sobre todo por la posibilidad de
generar gráficos a gran velocidad, lo cual permite utilizar las interfaces graficas de usuario que son
pantallas con ventanas iconos y menús desplegables que facilitan las tareas de comunicación entre
el usuario y la computadora, tales como la selección de comandos del sistema operativo para
realizar operaciones de copiado o formato con una simple pulsación de cualquier botón sobre uno
de los iconos o menús.

La industria de software ya es la cuna de la economía del mundo. Las técnicas de la cuarta


generación para el desarrollo del software están cambiando en la forma en la que la comunidad
del software construye programas informáticos. Las tecnologías orientadas a objetos están
desplazando rápidamente los enfoques de desarrollo de software más convencionales en muchas
áreas de aplicación.

Sin embargo, un conjunto de problemas relacionados con el software ha persistido a través de la


evolución de los sistemas basados en computadora y estos problemas continúan aumentando:

1. Los avances del software continúan dejando atrás nuestra habilidad de construir, para
alcanzar el potencial del hardware.

2. Nuestra habilidad de construir nuevos programas no pueden ir al mismo ritmo de la


demanda de nuevos programas, ni podemos construir programas lo suficientemente
rápido como para cumplir las necesidades del mercado y de los negocios.

3. El uso extenso de computadoras ha hecho de la sociedad cada vez más dependiente de la


operación fiable del software. Cuando el software falla, puede ocurrir daños económicos
enormes.
3.5.​Quinta Generación (1982-1989)
Cada vez se hace más difícil la identificación de las generaciones de computadoras, porque los
grandes avances y nuevos descubrimientos ya no nos sorprenden como sucedió a mediados del
siglo XX. Hay quienes consideran que la cuarta y quinta generación han terminado, y las ubican
entre los años 1971-1984 la cuarta, y entre 1984-1990 la quinta. Ellos consideran que la sexta
generación está en desarrollo desde 1990 hasta la fecha.

Con base en los grandes acontecimientos tecnológicos en materia de microelectrónica y


computación (software) como CADÍ CAM, CAE, CASE, inteligencia artificial, sistemas expertos,
redes neuronales, teoría del caos, algoritmos genéticos, fibras ópticas, telecomunicaciones, etc., a
de la década de los años ochenta se establecieron las bases de lo que se puede conocer como
quinta generación de computadoras.

Hay que mencionar dos grandes avances tecnológicos, que sirvan como parámetro para el inicio
de dicha generación: la creación en 1982 de la primera supercomputadora con capacidad de
proceso paralelo.

El proceso paralelo es aquél que se lleva a cabo en computadoras que tienen la capacidad de
trabajar simultáneamente con varios microprocesadores. Aunque en teoría el trabajo con varios
microprocesadores debería ser mucho más rápido, es necesario llevar a cabo una programación
especial que permita asignar diferentes tareas de un mismo proceso a los diversos
microprocesadores que intervienen.

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 e irán adquiriendo la habilidad para tomar decisiones con
base en procesos de aprendizaje fundamentados en sistemas expertos e inteligencia artificial.

Sin embargo, independientemente de estos "milagros" de la tecnología moderna, no se distingue


la brecha donde finaliza la quinta y comienza la sexta generación.
4. Tipos de Software
4.1 Lenguajes de Programación
4.1.1. Tipos de Lenguaje
Hay, al menos, dos formas fundamentales desde las que pueden verse o clasificarse los lenguajes
de programación: por su nivel y por sus principales aplicaciones. Además, estas visiones están
condicionadas por la evolución histórica por la que ha transcurrido el lenguaje.
· Lenguajes declarativos
· Lenguajes de Alto Nivel
· Lenguajes Ensambladores
· Lenguajes Maquina
Los lenguajes declarativos son los más parecidos al castellano o inglés en su potencia expresiva y
funcionalidad y están en el nivel más alto respecto a los otros. Son fundamentalmente lenguajes
de órdenes, dominados por sentencias que expresan “lo que hay que hacer” en vez de “cómo
hacerlo”. Ejemplos de estos lenguajes son los lenguajes estadísticos como SAS y SPSS y los
lenguajes de búsqueda en bases de datos, como NATURAL e IMS. Estos lenguajes se desarrollaron
con la idea de que los profesionales pudieran asimilar más rápidamente el lenguaje y usarlo en su
trabajo, sin necesidad de programadores o prácticas de programación.

Los lenguajes de alto nivel son los más utilizados como lenguajes de programación. Aunque no
son fundamentalmente declarativos, estos lenguajes permiten que los algoritmos se expresen en
un nivel y estilo de escritura fácilmente legible y comprensible por otros programadores. Además,
los lenguajes de alto nivel suelen tener la característica de “transportabilidad”. Es decir, están
implementados sobre varias máquinas, de forma que un programa puede ser fácilmente
“transportado” (transferido) de una máquina a otra sin una revisión sustancial. En este sentido, se
llaman “independientes de la máquina”. Ejemplos de estos lenguajes de alto nivel son PASCAL,
APL y FORTRAN (lenguajes de programación utilizados para aplicaciones científicas), COBOL (para
aplicaciones de procesamiento de datos), SNOBOL (para aplicaciones de procesamiento de
textos), LISP y PROLOG (para aplicaciones de inteligencia artificial), C y ADA (para aplicaciones de
programación de sistemas) y PL/I (para aplicaciones de propósito general). Todos estos lenguajes
de alto nivel los desarrollaremos más detenidamente en otro apartado de la presentación.

Los lenguajes ensambladores y los lenguajes máquina son dependientes de la máquina. Cada
tipo de máquina tiene su propio lenguaje máquina distinto y su lenguaje ensamblador asociado. El
lenguaje ensamblador es simplemente una representación simbólica del lenguaje máquina
asociado, lo cual permite una programación menos tediosa que con el anterior. Sin embargo, es
necesario un conocimiento de la arquitectura mecánica subyacente para realizar una
programación efectiva en cualquiera de estos niveles de lenguajes.
4.1.2. Diferentes lenguajes de programación a través de la historia
Con el paso del tiempo y la continua evolución de las computadoras, los lenguajes de
programación han ido cambiando y mejorando de acuerdo a las necesidades tanto de
programadores como de las máquinas en general, dejando consigo una gran variedad de lenguajes
y códigos que seguramente nadie conoce en su totalidad.

Si nos ponemos en la tarea de investigar un poco sobre la historia de los lenguajes de


programación seguro encontraremos datos sorprendentes, como por ejemplo el hecho de que el
primer lenguaje de computadora apareció hace mas de 100 años y fue escrito por una mujer, Ada
Lovelace quien ​es considerada como la primera programadora tras haber escrito la manipulación
de los símbolos para una máquina de Charles Babbage que aún no había sido construida.
Los lenguajes de programación al principio eran muy difíciles de entender pues estaban
desarrollados para ser entendidos directamente por las maquinas (lenguajes de bajo nivel) y eran
muy pocas las personas que se dedicaban a programar en ese entonces, pero con el paso del
tiempo se han hecho cada vez mas amigables y gracias al uso de compiladores e interpretes se ha
podido llevar la programación a un nivel mas humano (lenguajes de alto nivel) facilitando el
proceso de desarrollo de software.

En la historia de los lenguajes de programación podemos destacar también el hecho de que se han
derivado varios tipos de lenguajes a partir de los primeros, así como otros detalles que podemos
apreciar en la siguiente linea de tiempo:

● 1843: Ada Lovelace desarrolla el primer lenguaje de programación cuando escribió un


algoritmo para la máquina analítica de Charles Babbage.
● 1957 – Fortran: (“The IBM Mathematical Formula Translating System”): Un lenguaje de
programación de alto nivel de propósito general. Para cálculo numérico y científico (como
alternativa al lenguaje ensamblador). Es el lenguaje de programación más antiguo que se
utiliza hoy en día.
● 1958 – Lisp: (“List Processor”) Utilizado para la notación matemática y temas de ciencias
de la computación.
● 1959 – Cobol: (“Common Business-Oriented Language) Usado principalmente para la
informática empresarial. Es el primer lenguaje de programación que se demandan por el
Departamento de Defensa de EE.UU..
● 1964 – BASIC: (“Beginner’s All-purpose Symbolic Instruction Code”) Diseñado para la
simplicidad. Su popularidad explotó a mediados de los años 70 con los computadores
personales.
● 1970 – Pascal: (En honor al matemático/físico francés Blaise Pascal) Utilizado para la
enseñanza de la programación estructurada y estructuración de datos.
● 1972 – Lenguaje C: (Basado en un lenguaje anterior llamado “B”) Creado para sistemas
Unix. Muchos de lenguajes de programación más populares del mundo son derivados de
el, entre ellos tenemos C#, Java, JavaScript, Perl, PHP y Python.
● 1980 – Ada: (En honor a Ada Lovelace): Es derivado del Pascal. Contratado por el
Departamento de Defensa de los EE.UU. en 1977 para el desarrollo de sistemas de
software grandes.
● 1983 – C++: (“C con clases”; ++ es el operador de incremento en “C”) Es una extensión de
lenguaje C, con mejoras tales como clases, funciones virtuales y plantillas.
● 1983 – Objective-C: (Extensión de “C” orientada a objetos) Ampliación de C, se adiciona la
funcionalidad de paso de mensajes basado en el lenguaje Smalltalk.
● 1987 – Perl: Creado para el procesamiento de informes en sistemas Unix. Hoy en día es
conocido por su gran potencia y versatilidad.
● 1991 – Python: Creado para apoyar una variedad de estilos de programación y hacerlo
divertido de usar.
● 1993 – Ruby: Una lenguaje influenciado por Perl, Ada, Lisp, Smalltalk, etc. Diseñado para la
programación productiva y agradable.
● 1995 – Java: Hecho para un proyecto de televisión interactiva. Funciona multiplataforma.
Es el segundo lenguaje más popular (detrás de lenguaje C).
● 1995 – PHP: (“Personal Home Page”) Usado para la creación de páginas web dinámicas.
● 1995 – JavaScript: Creado para ampliar la funcionalidad de las páginas web, permite
utilizar formularios de presentación/validación, interactividad, animaciones, seguimiento
de la actividad del usuario, etc..
● 1996 – NetREXX: es un lenguaje de programación para la máquina virtual Java
desarrollado en IBM por Michael Cowlishaw con fuertes influencias de los lenguajes de
programación REXX y Java. El compilador NetREXX es una aplicación Java que puede
traducir el código fuente NetREXX a código fuente Java, compilarlo a bytecodes Java o
interpretarlo directamente.

● 1997 – ECMAScript: Es una especificación de lenguaje de programación publicada por


ECMA International. El desarrollo empezó en 1996 y estuvo basado en el popular lenguaje
JavaScript propuesto como estándar por Netscape Communications Corporation.
Actualmente está aceptado como el estándar ISO 16262.

● 1997 – ActionScript: Es el lenguaje de programación de la plataforma Adobe Flash.


Originalmente desarrollado como una forma para que los desarrolladores programen de
forma más interactiva.

● 1997 – Rebol: Es un lenguaje de intercambio de datos multiplataforma y un lenguaje de


programación dinámico de paradigma múltiple diseñado por Carl Sassenrath para
comunicaciones de red y computación distribuida.

● 1998 – Erlang: Es un lenguaje funcional y de programación concurrente, fue diseñado por


la compañía Ericsson con el propósito de hacer aplicaciones que puedan soportar fallos,
funcionamiento ininterrumpido, aplicaciones distribuidas, entre otras.

● 2002 – Scratch: Es un lenguaje de programación visual desarrollado por el Grupo Lifelong


Kindergarten del MIT Media Lab. Su principal característica consiste en permitir el
desarrollo de habilidades mentales mediante el aprendizaje de la programación sin tener
conocimientos profundos sobre el código.
● 2002 – F#: Es un lenguaje de programación multiparadigma de código abierto, para la
plataforma .NET, que conjunta la programación funcional con las disciplinas imperativa y
orientada a objetos. Es una variante del lenguaje de programación ML y es compatible con
la implementación Objective Caml.

● 2003 – Scala: Es un lenguaje de programación multi-paradigma diseñado para expresar


patrones comunes de programación en forma concisa, elegante y con tipos seguros.
Integra sutilmente características de lenguajes funcionales y orientados a objetos.

● 2003 – Factor: Lenguaje de programación orientado a pila creado por Slava Pestov. Factor
es de tipado dinámico y administración de memoria automática, como poderosas
características de meta programación. El lenguaje tiene presentando una sola
implementación de un self-hosted optimizando al compilador y un entorno de desarrollo
interactivo. La distribución Factor incluye una larga librería estándar.

● 2003 – Groovy: Lenguaje de programación orientado a objetos implementado sobre la


plataforma Java. Tiene características similares a Python, Ruby, Perl y Smalltalk. La
especificación JSR 241 se encarga de su estandarización para una futura inclusión como
componente oficial de la plataforma Java.

● 2005 – Ruby On Rails: Fue extraído por David Heinemeier Hansson de su trabajo en
Basecamp, un proyecto dirigido por 37 señales. Hasson lanzó Ruby On Rails, en principio,
como código abierto, en 2004, pero no compartió los derechos hasta febrero de 2005.
Ahora está en su versión 3.0.7 y tiene más de 1.800 contribuyentes.

● 2007 – Clojure: Es un lenguaje de programación de propósito general dialecto de Lisp.


Hace un énfasis especial en el paradigma funcional, con el objetivo de eliminar la
complejidad asociada a la programación concurrente. Clojure puede ser ejecutado sobre la
Máquina Virtual de Java y la máquina virtual de la plataforma.

● 2009 – Go: También conocido como Golang, fue creado por tres empleados de Google,
que lo lanzaron en 2009. Go deriva de otros lenguaje de programación como C y Java. Sus
diseñadores, Robert Griesemer, Rob Pike y Ken Thompson lo crearon porque C++ era
demasiado complejo y querían una alternativa más simple y legible.

● 2010 – Grace: Grace es un nuevo lenguaje de programación en desarrollo, creado


principalmente con fines educativos.

● 2011 – Dart: Es un lenguaje de programación de código abierto, desarrollado por Google.


Fue revelado en la conferencia goto; en Aarhus, Dinamarca el 10 octubre de 2011.

● 2014 – Swift: Apple lanzó Swift en el WWDC de 2014 para sustituir al lenguaje Objective-C.
Se caracteriza por su rapidez, seguridad y sencillez. A finales de 2015, Apple lo programó
en código abierto bajo licencia Apache. Desde entonces, su crecimiento ha sido
exponencial.

● 2014 – Rust: Este lenguaje fue creado por Mozilla en 2014 como alternativa a C++. Ellos
mismos lo definieron como un lenguaje centrado en el rendimiento y la programación
paralela.
● 2014 – Hack: Creado en 2014, obra de un gigante de internet como es Facebook. en estos
momentos la compañía de Zuckerberg está implementándolo y migrando todo su código
PHP a este lenguaje.

● 2016 – TypeScript: Es un lenguaje escrito de forma estática que compila JavaScript. Añade
características de gran alcance como el modelo POO clásico y muchas más. Es el lenguaje
perfecto para desarrollar aplicaciones de Angular 2.

El índice de Programación Tiobe es uno de los datos más confiables que existen en cuanto a las
estadísticas de uso y su evolución de los diferentes lenguajes de programación. iobe actualiza su
índice mensualmente.
​4.2. Sistemas Operativos

Un sistema operativo (SO) es un conjunto de programas o software destinado a permitir la


comunicación del usuario con un ordenador y gestionar sus recursos de manera cómoda y
eficiente. Comienza a trabajar cuando se enciende el ordenador, y gestiona el hardware de la
máquina desde los niveles más básicos.
AÑOS 40
A finales de los años 1940, con lo que podríamos llamar la aparición de la primera generación de
computadoras, se accedía directamente a la consola de la computadora desde la cual se actuaba
sobre una serie de micro interruptores que permitían introducir directamente el programa en la
memoria de la computadora (en realidad al existir tan pocas computadoras todos podrían
considerarse prototipos y cada constructor lo hacía sin seguir ningún criterio predeterminado). Por
aquel entonces no existían los sistemas operativos, y los programadores debían interactuar con el
hardware del computador sin ayuda externa. Esto hacía que el tiempo de preparación para realizar
una tarea fuera considerable. Además para poder utilizar la computadora debía hacerse por
turnos. Para ello, en muchas instalaciones, se rellenaba un formulario de reserva en el que se
indicaba el tiempo que el programador necesitaba para realizar su trabajo. En aquel entonces las
computadoras eran máquinas muy costosas lo que hacía que estuvieran muy solicitadas y que sólo
pudieran utilizarse en periodos breves de tiempo. Todo se hacía en lenguaje de máquina.
AÑOS 50
A principios de los años 50 con el objeto de facilitar la interacción entre persona y computador, los
sistemas operativos hacen una aparición discreta y bastante simple, con conceptos tales como el
monitor residente, el proceso por lotes y el almacenamiento temporal.
Monitor residente
Su funcionamiento era bastante simple, se limitaba a cargar los programas a memoria, leyéndolos
de una cinta o de tarjetas perforadas, y ejecutarlos.
Procesamiento por lotes
Como solución para optimizar el tiempo de montaje surgió la idea de agrupar los trabajos en lotes,
en una misma cinta o conjunto de tarjetas, de forma que se ejecutan uno a continuación de otro
sin perder apenas tiempo en la transición.
Almacenamiento temporal
Su objetivo era disminuir el tiempo de carga de los programas, haciendo simultánea la carga del
programa o la salida de datos con la ejecución de la siguiente tarea. Para ello se utilizaban dos
técnicas, el buffering y el spooling.
AÑOS 60
En los años 1960 se produjeron cambios notorios en varios campos de la informática, con la
aparición del circuito cerrado la mayoría orientados a seguir incrementando el potencial de los
computadores. Para ello se utilizaban técnicas de lo más diversas:
Multiprogramación
En un sistema multiprogramado la memoria principal alberga a más de un programa de usuario. La
CPU ejecuta instrucciones de un programa, cuando el que se encuentra en ejecución realiza una
operación de E/S; en lugar de esperar a que termine la operación de E/S, se pasa a ejecutar otro
programa. Si éste realiza, a su vez, otra operación de E/S, se mandan las órdenes oportunas al
controlador, y pasa a ejecutarse otro.
Tiempo compartido
En este punto tenemos un sistema que hace buen uso de la electrónica disponible, pero adolece
de falta de interactividad; para conseguirla debe convertirse en un sistema multiusuario, en el cual
existen varios usuarios con un terminal en línea, utilizando el modo de operación de tiempo
compartido. En estos sistemas los programas de los distintos usuarios residen en memoria. Al
realizar una operación de E/S los programas ceden la CPU a otro programa, al igual que en la
multiprogramación. Pero, a diferencia de ésta, cuando un programa lleva cierto tiempo
ejecutándose el sistema operativo lo detiene para que se ejecute otro aplicación.
Tiempo real
Estos sistemas se usan en entornos donde se deben aceptar y procesar en tiempos muy breves un
gran número de sucesos, en su mayoría externos al ordenador. Si el sistema no respeta las
restricciones de tiempo en las que las operaciones deben entregar su resultado se dice que ha
fallado. El tiempo de respuesta a su vez debe servir para resolver el problema o hecho planteado.
El procesamiento de archivos se hace de una forma continua, pues se procesa el archivo antes de
que entre el siguiente, sus primeros usos fueron y siguen siendo en telecomunicaciones.
Multiprocesador
Permite trabajar con máquinas que poseen más de un microprocesador. En un multiprocesador los
procesadores comparten memoria y reloj.
Sistemas operativos desarrollados
Además del Atlas Supervisor y el OS/360, los sesenta marcaron el inicio de UNIX, a mediados de los
60 aparece Multics, sistema operativo multiusuario – multitarea desarrollado por los laboratorios
Bell de AT&T y programado en PL/1 uno de los pocos SO desarrollados en un lenguaje de alto nivel
en aquel tiempo, luego del fracaso del proyecto UNIX comienza a desarrollarse a partir de este a
finales de la década.
AÑOS 70
Debido al avance de la electrónica, pudieron empezar a crearse circuitos con miles de transistores
en un centímetro cuadrado de silicio, lo que llevaría, pocos años después, a producirse los
primeros sistemas integrados. Ésta década se podría definir como la de los sistemas de propósito
general y en ella se desarrollan tecnologías que se siguen utilizando en la actualidad. Es en los años
1970 cuando se produce el boom de los miniordenadores y la informática se acerca al nivel de
usuario.
Sistemas operativos desarrollados
MULTICS ​(Multiplexed Information and Computing Service): Originalmente era un proyecto
cooperativo liderado por Fernando Corbató del MIT, con General Electric y los laboratorios Bell,
que comenzó en los 60, pero los laboratorios Bell abandonaron en 1969 para comenzar a crear el
sistema UNIX. Se desarrolló inicialmente para el mainframe GE-645, un sistema de 36 bits; después
fue soportado por la serie de máquinas Honeywell 6180.
Fue uno de los primeros sistemas operativos de tiempo compartido, que implementó un solo nivel
de almacenamiento para el acceso a los datos, desechando la clara distinción entre los ficheros y
los procesos en memoria, y uno de los primeros sistemas multiprocesador.
MVS ​(Multiple Virtual Storage): Fue el sistema operativo más usado en los modelos de mainframes
-ordenadores grandes, potentes y caros usados principalmente por grandes compañías para el
procesamiento de grandes cantidades de datos- System/370 y System/390 de IBM, desarrollado
también por IBM y lanzado al mercado por primera vez en 1974. Como características destacables,
permitía la ejecución de múltiples tareas, además de que introdujo el concepto de memoria virtual
y finalmente añadió la capacidad de que cada programa tuviera su propio espacio de
direccionamiento de memoria, de ahí su nombre.
CP/M​ (Control Program/Monitor): Desarrollado por Gary Kildall para el microprocesador 8080/85
de Intel y el Zilog Z80, salió al mercado en 1976, distribuyéndose en disquetes de ocho pulgadas.
Fue el SO más usado en las computadoras personales de esta década. Su éxito se debió a que era
portátil, permitiendo que diferentes programas interactuasen con el hardware de una manera
estandarizada. Estaba compuesto de dos subsistemas:
CCP​ (Comand Control Processor): Intérprete de comandos que permitía introducir los mandatos
con sus parámetros separados por espacios. Además, los traducía a instrucciones de alto nivel
destinadas a BDOS.
BDOS​ (Basic Disk Operating System): Traductor de las instrucciones en llamadas a la BIOS.
El hecho de que, años después, IBM eligiera para sus PCs a MS-DOS supuso su mayor fracaso, por
lo que acabó desapareciendo.
DE LOS 80’S AL 2000
La década de los 80’s se caracteriza por el uso de los microprocesadores, los computadores dejan
de ser un lujo que solo poseían empresas y universidades importantes para pasar al servicio de
personas del común, ya que los avances en la integración a gran escala, permitió reducir el tamaño
de los equipos apareciendo los computadores personales que como iban dirigidos a un público
poco conocedor de la informática, debían poseer sistemas operativos intuitivos, simples y
amigables para el usuario lo que ocasiona el surgimiento de menús e interfaces gráficas, utilizando
principalmente​ ​utilizaron leguajes de programación como: C, C++,Haskell, Miranda, Eiffel y
Smaltalk.
A mediados de los 80`s se desarrollan redes de computadoras personales con sistemas operativos
en red y distribuidos, siendo MS-DOS y Unix los más usados.
· S​ istemas operativos en red: ​Básicamente para que una red de equipos funcione debe
tener un sistema operativo de red que trabajara sobre o con el sistema operativo ya
existente en los equipos, de no tenerlo los usuarios no podrán compartir y utilizar
recursos.

· ​Sistemas operativos distribuidos​: Los sistemas operativos distribuidos desempeñan


las mismas funciones que un sistema operativo normal, pero con la diferencia de
trabajar en un entorno distribuido. Su Misión principal consiste en facilitar el acceso y
la gestión de los recursos distribuidos en la red.
Los sistemas operativos más usados durante esta década fueron:

· ​ ac OS: ​Desarrollado por Apple para su Macintosh en 1984, siendo su interfaz


M
gráfica de usuario (“GNU”) su principal atractivo, además de efectuar multitareas y la
novedad del mouse, que permitía una mayor interacción entre el usuario y la interfaz
de este sistema operativo.

· ​MS-DOS: ​Sistema operativo creado por Microsoft tras modificar el sistema operativo
QDOS, que compro en 1981.

· ​Microsoft Windows: ​No se le considera un sistema operativo como tal y más bien
una interfaz gráfica para el MS-DOS con el uso de diskettes para correr los programas.

En la década de los 90’s con la aparición del Internet y el gran uso de redes, hacen que los sistemas
operativos por obligación permitan el manejo en estos dos servicios sin perder la amabilidad con
que tiene acostumbrado a los usuarios.

También las aplicaciones multimedia empiezan a ser parte esencial de los sistemas operativos (e.g:
“Reproductores de video y audio, manejo de imágenes”) demandando potencia, flexibilidad y
compatibilidad, siendo esto último algo muy importante debido a la gran variedad de productos
de hardware con los que el computador puede interactuar (e.g: “Cámaras fotográficas y de video,
micrófonos, parlantes y una de las más importantes la USB”).

Siendo otro reto para los sistemas operativos la buena administración de memoria, sabiendo que
ahora los programas irán aumentando el consumo de recursos.

Una de las mayores “estrellas” de los 90’s fue Linux presentando su primer núcleo en septiembre
de 1991 siendo un sistema operativo completamente libre basado en la plataforma UNIX
desarrollado por un sinfín de colaboradores dirigidos por Linus Torvalds, también es conocido por
iniciar el desarrollo de Kernel.
Microsoft durante esta década mejora su sistema operativo Windows a través de varias versiones
(“Windows 3.0, Windows 3.1, Windows 95 y Windows 98”) en las que se mejora notablemente el
aspecto gráfico, que atrae a muchos usuarios llegando a tener hasta el 90% del mercado de los
sistemas operativos.
Aparece también el ReactOS (“React Operating System”), que al igual que Linux es de código
abierto, pero cambiaron el núcleo que era compatible con MS-DOS para obtener compatibilidad
con las diferentes herramientas diseñadas para Windows NT.

Con la aparición de diferentes dispositivos móviles (e.g: “Celulares, PDA’s, GPS”) también los hacen
sistemas operativos para estos, ya que antes de 1992 solo poseían sistemas para controlar las
diferentes operaciones, pero a partir de 1993 surge una gran variedad de sistemas operativos,
estos fueron siempre diseñados para ofrecerle al usuario final las características de simple,
práctico y fácil de usar, sin olvidar por supuesto la portabilidad y el uso de las interfaces gráficas
que en varios dispositivos se usaban pantallas táctiles.

Otro gran factor en el uso de los sistemas operativos móviles es la comunicación, por lo que
muchos de ellos permitían la conexión a la red, a través de servicios como el email. Algunos de
estos sistemas operativos móviles durante los 90’s fueron:

· ​ alm OS o Garnet OS: ​Desarrollado por Palm,Inc en 1996 para PDA’S


P
(“Computadoras de mano”), basando su diseño en la simplicidad y el uso de
touchscreen (“Pantalla táctil”) .
· ​ esarrollado por Nokia en 1999 para su celular Nokia 7110.
​Nokia S40: D
· ​ esarrollado por Microsoft en 1996.
​Windows CE: D
· ​Symbian: ​Es el resultado de una alianza entre empresas como: Nokia, Sony Ericsson,
Siemenes, Motorola, etc. Que en 1997 se unieron para combatir a otras empresas.
Este sistema operativo se basó en otro de principios de los 90’s llamado EPOC 32 y
utilizado en PDA’S.

AÑOS DEL 2000 A LA ACTUALIDAD


Un gran cambio se da en los microprocesadores, no solo por el paso de 32 bits a 64 bits, también
por el uso de más de un núcleo tanto virtual como físico; lo que conlleva a que los nuevos sistemas
operativos puedan dividir tareas en busca de una mayor velocidad y mejor manejo de datos, todo
esto con la disminución de los precios en hardware ayuda a crear sistemas operativos impensables
antes del 2000, pero claro mucho más robustos.
Uno de los sistemas operativos que ha venido cogiendo más fuerza es Linux, por razones como:
· Ya no está dirigido solo a programadores de alto nivel, ahora está también siendo usado por
usuarios comunes debido a los grandes avances en su interfaz gráfica y la mayor cantidad de
ayudas que ofrece al momento del algún error, problema o durante la instalación.
· Posee gran estabilidad, adaptabilidad y seguridad al momento de trabajar con servidores.
· Tiene una mayor adaptabilidad para Notebooks y computadores portátiles.
· Las tareas del sistema se ejecutan con mayor rapidez y menor inestabilidad.
· También le ha ayudado el aumento del pensamiento de software libren entre la población.
· La gran variedad de sistemas que lo derivan como: Ubuntu, Debian, openSUSE, Fedora, etc.
Microsoft sigue a la delantera, aunque ha sufrido varios tropiezos que acercan a sus competidores.
Durante estos años ha sacado al público los siguientes sistemas operativos: Windows 2000,
Windows ME, Windows XP, Windows Vista, Windows 7 y el más reciente Windows 8. Cada uno
con diferentes versiones dirigidas a algún público en particular ya sea para oficina, empresas
medianas y grandes, servidores de varias índoles y para el hogar y el estudio.
Además, también poseen actualizaciones a través de Windows Update ya sea para corregir fallos,
mejorar diferentes procesos y mantener la seguridad. Una de las ramas en que Windows más
avanzo es la interfaz.
Microsoft también posee un sistema operativo móvil llamado Windows Phone para teléfonos
inteligentes que busca competir con iOS de Apple y Android de Google. Al primero de estos solo se
le permite ser usado en dispositivos Apple (“iPhone, Apple Tv, iPod Touch”) y el segundo fue
desarrollado por la empresa Android, Inc, comprada por Google y basada en Linux para ser usado
principalmente en dispositivos de pantalla táctil como: Smartphone y tabletas.
El futuro apunta a sistemas operativos en la nube, llamados Web OS que actualmente están en
desarrollo y donde no se requiere instalar software, solo tenemos que escoger el programa (“o
aplicación web”) adecuado para realizar lo que queramos hacer, mediante conexión a internet y
un navegador recibiendo la información o las solicitudes que nosotros queramos ya que el
procesamiento estaría del otro lado, es decir del lado del servidor. Ejemplos de estos sistemas son
EyeOs, Icloud y Woos. Otra de las innovaciones que se espera es la forma como el usuario
interactúa con el sistema operativo dejando atrás periféricos como el teclado y el mouse, para dar
paso a lo táctil, reconocimiento de voz y movimiento (“Cuerpo, manos, ojos”).

SISTEMAS OPERATIVOS MÁS USADOS

· ​ migaOS:​ es el nombre que recibe el conjunto de la familia de gestores de ventanas


A
y ROMs que incluían por defecto los ordenadores personales Commodore Amiga
como Sistema Operativo.

· ​Apple dos: s​ e estrenó en abril de 1977, casi exactamente un año después de la


introducción de la primera computadora de Apple. Se incluye la misma tecnología de
procesador (MOS 6502) funcionando a la misma velocidad de reloj (1,023 MHz) como
el Apple I.

· ​iOS:​ IOS es el sistema operativo que se ejecuta en el iPhone, iPod touch y dispositivos
iPad. El sistema operativo gestiona el hardware del dispositivo y proporciona las
tecnologías necesarias para implementar aplicaciones nativas. El sistema operativo
también se distribuye con varias aplicaciones del sistema, tales como teléfono, Mail,
Safari, y que proporcionan servicios estándar del sistema para el usuario.
· ​ SX:​ El corazón del Mac OS X es el núcleo XNU. El núcleo se refiere a la parte de un
O
sistema operativo que se carga primero. Controla y supervisa los recursos de hardware
como la memoria, la asignación de procesador CPU y unidades de disco. El núcleo XNU
incluye el código de un sistema informático de arquitectura antigua que se llama
Mach. El código también proporciona al sistema operativo Mac la autoridad para
reducir la velocidad de procesamiento de la CPU si empieza a sobrecalentarse.

· ​ tari dos​: Atari DOS es el sistema operativo de disco se utiliza con la familia de
A
ordenadores Atari de 8-bit.

· ​ NIX es un sistema operativo. El trabajo de un sistema operativo consiste en


​Unix: U
orquestar las diversas partes de la computadora - el procesador, la memoria de a
bordo, las unidades de disco, teclados, monitores de vídeo, etc - para realizar tareas
útiles. El sistema operativo es el regulador principal de la computadora, el pegamento
que mantiene unidos a todos los componentes del sistema, incluyendo los
administradores, programadores y usuarios.

· ​Android: ​es un sistema operativo móvil basado en Linux desarrollado por Google.
Android es único ya que Google lo comparte de forma gratuita a los fabricantes de
hardware y las compañías de teléfono que desea utilizar Android en sus dispositivos

· ​ S/2: ​OS/2 son las siglas de "Sistema operativo de segunda generación". La idea de
O
OS/2 surgió entre IBM y Microsoft a mediados de los 80, en un intento de hacer un
sucesor de MS-DOS, el cual ya empezaba a acusar el paso del tiempo y resultaba
claramente desaprovechador de los recursos de las máquinas de la época.

· ​ indows 8: ​Windows 8 es una versión del sistema operativo Microsoft Windows,


W
producido por Microsoft para su uso en pc, portátiles, tabletas, etc. El desarrollo de
Windows 8 comenzó antes del lanzamiento de su predecesor Windows 7 en 2009.
· ​ indows XP: ​Microsoft Windows XP es una versión muy exitosa de Windows. El
W
sistema operativo Windows XP, con su interfaz muy mejorada y capacidades, ayudó a
impulsar el crecimiento fenomenal en la industria del PC durante la década de 2000.

· ​Bada: ​Samsung Bada es una plataforma de teléfonos inteligentes, que se crea para
una amplia gama de dispositivos, dio a conocer en 2010. "bada" es una palabra
coreana que significa "océano" y "orilla del mar".

· B ​ SD es sinónimo de "Berkeley Software Distribution". Es el nombre de la


​ SD: B
distribución del código fuente de la Universidad de California, Berkeley, que
originalmente eran ampliaciones de sistema de AT & T Research operativo UNIX.
· L​ inux: ​Linux es, en pocas palabras, un sistema operativo. Es el software en un
ordenador que permite a las aplicaciones y el operador del ordenador para acceder a
los dispositivos de la computadora para realizar las funciones deseadas.

· Se explica en estos términos, Linux es muy similar a otros sistemas operativos, como
Windows y OS X.
· Como un sistema operativo de código abierto, Linux es desarrollado en colaboración,
es decir, ninguna empresa es el único responsable de su desarrollo o apoyo continuo.
Las empresas que participan en la economía Linux comparten los costos de
investigación y desarrollo con sus socios y competidores. Esta difusión de la carga de
desarrollo entre los individuos y las empresas ha dado lugar a un ecosistema grande y
eficiente y la innovación de software.

· ​ penSolaris: ​OpenSolaris es un sistema operativo de código abierto, similar en


O
alcance a GNU / Linux y BSD, pero descendió del propietario operativo Solaris sistema
de Sun Microsystems. OpenSolaris está dividida en tres aspectos distintos pero
relacionados entre sí: el código, las distribuciones y la comunidad.

4.3. Programas de Aplicación


Un programa de aplicación es una clase de software que se diseña con el fin de facilitar al usuario
de la computadora, el móvil, el robot o cualquier dispositivo que funcione con un procesador
electrónico, la ejecución de un determinado proceso de información. Esta particularidad lo
distingue de otros programas entre los que podemos mencionar los sistemas operativos (los que
permiten el funcionamiento de la computadora), los lenguajes de programación (permiten
desarrollar los programas informáticos en general) y las utilerías (diseñadas para realizar
acciones de mantenimiento y tareas generales).
Los primeros programas de aplicación producidos en serie
La idea de un programa de aplicación que se pudiera producir en serie para su venta en el
mercado tardó mucho tiempo en llegar después de que las grandes computadoras ya estaban en
el mercado. Incluso cuando aparecieron las primeras computadoras personales el software se
consideraba como algo libre y gratuito. Los aficionados a las computadoras escribían programas y
los compartían con sus amigos como un gesto de camaradería. Su retribución era el
reconocimiento de haber escrito algo que funcionaba bien en una computadora. Sin embargo,
poco a poco se fue generando la idea de que producir software y venderlo podría llegar a ser un
buen negocio. Así empezaron a surgir los primeros programas de aplicación que también
recibieron el nombre de paquetes porque se entregaban en un pequeño paquete que incluía un
disco de 5 ¼ de pulgada, un manual de instrucciones y una etiqueta impresa con los datos del
productor. Un fenómeno muy interesante se generó cuando los programas de aplicación para las
computadoras personales empezaron a facilitar el uso de las máquinas no solamente por los
aficionados a la computación sino por cualquier persona que deseaba aprovechar el poder de
computación para hacer cálculos, escribir textos o procesar información. Fue entonces cuando el
software empezó a valer por sí mismo y a convertirse en la fuerza que impulsó a la computación.
Programas de juegos
El software para jugar empezó como una forma de distracción para hacer menos tediosas las horas
de espera de resultados frente a una computadora o bien para descansar la mente después de
realizar un intenso ejercicio mental para producir un algoritmo. Con el transcurso de los años los
programas de juegos se habrían de convertir en una de las líneas de producción de software más
importantes para las computadoras personales.

En el Instituto Tecnológico de Massachusetts (MIT) se instaló una computadora PDP-1 que tenía
un gran monitor con una pantalla redonda. Corría el año de 1961 y este adelanto tecnológico
atraía la atención de los programadores y estudiantes pues por vez primera podían hacer gráficas y
desplegarlas en la pantalla. Stephen Russell, uno de los más conocidos hackers del MIT era asiduo
lector de novelas de ficción científica y se le ocurrió la idea de simular naves espaciales en la
pantalla y aprovechar los recursos técnicos de la computadora para recrear una batalla espacial.
Peter Samson tomó la idea de Russell y mejorándola produjo el primer programa de juegos:
Spacewar.
El MIT era considerado en ese tiempo como la catedral de la computación en los Estados Unidos y
el desarrollo tecnológico combinado de las comunicaciones y la computación dio pie a que se
extendiera a otras universidades el conocimiento del MIT en ciencias de la computación. Cuando
se instaló la red ARPA para unir a las computadoras del MIT con la de la Universidad de Stanford
en California se fortaleció la comunicación entre estudiantes y empezaron a intercambiar
conocimientos académicos pero también software de juegos. Don Woods, un estudiante de la
Universidad de California, tuvo acceso a través de la red ARPA a un juego más sofisticado que
presentaba toda una aventura en el mundo de las cavernas con dragones, tesoros escondidos,
doncellas y caballos voladores. Le gustó el programa y localizó a su autor para que le diera más
detalles de la idea y el algoritmo que había usado para escribir un programa de juegos tan
atractivo. Will Crowther, el autor de la aventura en las cavernas, era un científico que trabajaba en
Palo Alto, California, para una empresa que tenía una computadora conectada a la red de la
universidad. Escribió el programa para que sus hijos se divirtieran cuando le acompañaban a la
oficina y decidió agregarlo al acervo de la red ARPA por si alguien se animaba a jugar con él. Don
Woods le hizo algunos refinamientos dando como resultado Adventure, un juego que no usaba
gráficas sino únicamente texto para simular un viaje a través de una serie de cavernas. Como en
los viejos cuentos, en cada cueva se presentaba una nueva aventura que daba lugar a un problema
a resolver. El programa de juegos Adventure se difundió a todas las computadoras conectadas a la
red y se convirtió en el pasatiempo favorito de estudiantes y científicos, quienes usaban
clandestinamente una buena parte de su tiempo para jugar.
En esa época (1970) todavía no se producían computadoras personales y el acceso al software era
gratuito a través de ARPA net. Los programadores y estudiantes escribían software y lo colocaban
en la red para quien quisiera usarlo. Eran programas que podían disponer de una amplia capacidad
de memoria en las grandes computadoras y de todos los recursos técnicos del equipo. Cuando
entraron al mercado las microcomputadoras no era posible aprovechar esos juegos por la falta de
capacidad de las máquinas y la ausencia de algunos recursos técnicos. Pero en el mundo de la
computación la palabra imposible se convierte en un reto que estimula la imaginación y genera un
esfuerzo que no se detiene sino hasta alcanzar su objetivo. Scott Adams aceptó el desafío de
escribir un programa al estilo de Adventure para ejecutarlo en la microcomputadora TRS-80 y
produjo Adventure Land. Este juego ya no fue transmitido a través de una red de
computadoras ni se distribuyó gratuitamente entre los aficionados a la computación. Los tiempos
habían cambiado y ahora el software se producía para comercializarlo. Adams formó la empresa
Adventure International en 1978 para venderlo y el éxito que tuvo fue inmediato. Así fue como
nació una línea de programas de aplicación que algunos años después habría de ser el fundamento
de una vigorosa industria.

La pantalla de la computadora personal representó la oportunidad de hacer los juegos más


interesantes. Una máquina que puede desplegar en su pantalla un caleidoscopio de gráficas es
más atractiva que otra que sólo puede comunicarse mediante una impresora. Las primeras
computadoras personales no tenían la capacidad de desplegar información en la pantalla, pero
cuando surgió la idea de conectar un aparato de televisión a la computadora todo el panorama
cambió. Después las computadoras fueron producidas con su propia pantalla monocromática y
finalmente llegaría la pantalla a todo color. Los programas de
juegos alcanzaron otra dimensión y muchas personas adquirieron una computadora personal sólo
para tener la oportunidad de jugar.

La capacidad de hacer interactiva a una máquina, aunada a la posibilidad de desplegar gráficas e


imágenes en una pantalla, permitió producir uno de los aparatos de mayor éxito en la industria
electrónica: los juegos de video. A principios de la década de los setenta fue posible construir chips
no programables con programas de aplicación permanentemente grabados en su memoria para
integrarlos en aparatos capaces de desplegar imágenes en una pantalla. En los sitios de reunión de
los jóvenes se podían encontrar docenas de máquinas para jugar carreras de autos, guerras
espaciales, pinball y otros juegos en máquinas que recibían monedas y que fueron la base de
negocios muy rentables. Es cierto que una máquina de este tipo no es una computadora, pero es
un hecho que para fabricar los chips con juegos permanentemente grabados se necesitan
programas de aplicación.
A Nolan Bushnell se le ocurrió la idea de construir una máquina para instalarla en las pizzerías,
sitios favoritos para la reunión de jóvenes que disfrutan de la pizza y tienen la oportunidad de
sociabilizar. En las pizzerías se habían instalado máquinas para jugar pinball y a Bushnell se le dio la
idea de sustituirlas con el juego de Spacewar. No tuvo gran éxito su idea y abandonó el proyecto.
Sin embargo, no cedió en su intento de fabricar una máquina con un juego atractivo para los
jóvenes y diseñó hacia el año de 1971 un aparato para jugar Pong. La máquina consistía en un
control manual y una pantalla en la que se podía desplazar una pelota de un lado a otro. Esta vez sí
tuvo éxito, y mucho, lo que motivó a Bushnell para seguir adelante. Formó una empresa con el
extraño nombre de Suzygy. Después de alcanzar un nuevo éxito con el programa Tank Command
decidió cambiar el nombre a su empresa y fue así como nació Atari en 1972, una de las empresas
de más rápido crecimiento en la historia. Bushnell escribió algunas palabras del juego Go, y eligió
la palabra Atari que en japonés significa “que una ficha o un grupo de fichas está en peligro de ser
capturadas por tu oponente”. El nombre “Atari” fue elegido por el atractivo de su origen japonés,
además de ser fácil de memorizar, en términos de pronunciación y escritura, en la mayoría de los
mercados. Dos años después de haberla fundado sus ingresos ascendieron a 40 millones de
dólares. Sin embargo, en 1976
Bushnell la vendió a la firma Warner Communications por 26 millones de dólares. Los años que
siguieron fueron de un éxito creciente y sostenido para Atari. Para el año de 1982 las ventas de
Atari fueron de dos mil millones de dólares. Atari ha sido considerada la fundadora de la industria
del videojuego gracias al PONG y posteriormente a las consolas caseras de videojuegos.

Los programas de juegos han llegado a ser obras de arte en su tipo, verdaderos retos para la
imaginación no sólo para los niños, sino para personas de toda edad que encuentran en los juegos
una forma natural y espontánea de comunicarse con la máquina. Para mucha gente, los programas
de juegos han sido la causa de su primera relación con la computadora. Por su facilidad de
operación, los juegos logran que se pierda el temor de enfrentarse a la máquina. En pocos minutos
se aprende el movimiento de unas cuantas teclas y, sin mayores trámites, se encuentran en medio
de la acción. Algunos juegos han llegado a ser clásicos en la historia del software: Raster Blaster,
Flight Simulator, Sargón, Odyssey, Adventure, Spacewar, Temple of Apshai, PacMan, Space
Invaders, Micro Chess, Time Zone, Pinball Construction Set, Ultima II, Mistery House y Choplifter.
Una de las empresas de mayor y más rápido crecimiento en la industria de los videojuegos es
Activision. Fue establecida el 1 de octubre de 1979. Sus primeros productos fueron cartuchos para
la videoconsola Atari 2600 y en la actualidad es la tercera mayor distribuidora de videojuegos. La
empresa fue fundada por el ejecutivo de la industria discográfica Jim Levy y los ex programadores
de Atari David Crane, Larry Kaplan, Alan Miller y Bob Whitehead. Levy adoptó la estrategia de
promocionar a los creadores de juegos junto con los propios juegos. Entonces, al principio de
1980, Activision publicó sus primeros cuatros juegos: Checkers, Skiing, Dragster y Boxing. En 1982,
Activision lanzó Pitfall!, que es considerado por muchos el primer videojuego de plataformas así
como el título más vendido para la Atari 2600. Aunque la destreza técnica del equipo ya había sido
demostrada, fue Pitfall! el videojuego que los convirtió en un éxito enorme. Este éxito inició todo
el género de plataformas que se convirtió en una parte principal de los videojuegos durante los
años 1980. Activision ha producido algunos de los más famosos videojuegos como Call of Duty,
Destiny, Skylanders, World of Warcraft, StarCraft, Diablo y la saga de King’s Candy Crush. La
empresa tiene un valor de mercado aproximado a
25,000 millones de dólares. Esa es la magnitud que han alcanzado las empresas de la industria de
los videojuegos.

Un caso de éxito notable se registró con el lanzamiento al mercado del juego Pokemon GO de la
empresa Nintendo a principios del mes de julio del 2016. Este juego de realidad aumentada
permite capturar, combatir, entrenar e intercambiar a los Pokémon virtuales que ‘aparecen’ en
cualquier lugar del mundo real a través de las pantallas de los dispositivos móviles. Para buscar a
esas criaturas virtuales, Pokémon GO emplea el sistema de navegación por satélite y avisa con
vibraciones y una luz intermitente sobre la presencia de unas esferas ‘habitadas’, conocidas como
pokebolas. A los dos días de su lanzamiento se produjeron millones de descargas y generó un
incremento en el valor de capitalización de mercado de Nintendo de 7,500 millones de dólares.
Todo un éxito.

Programas educativos
La producción de programas de aplicación empezó a especializarse y hacia 1982 surgieron algunas
empresas que realizaron un cuidadoso estudio del mercado de computadoras personales y de
programas de aplicación a fin de producir líneas para satisfacer la demanda de software de un
sector de usuarios con características homogéneas. La producción de estos programas ya no fue
realizada por estudiantes o fanáticos de la computación como una expresión libre y a la vez
gratuita de sus ideas. Se trata de un software con características especiales orientado a un
mercado determinado con el objeto de comercializarlo y obtener una generosa utilidad. El
concepto de mercadotecnia aquí es fundamental porque las compañías productoras de software
surgen con amplios recursos de capital, una moderna organización y una avanzada tecnología de
comercialización que conducen a crear una imagen de empresas que permiten vender los
productos atendiendo al nombre de la empresa y no por lo que hace el programa o por el nombre
del programador.

Spinnaker es uno de los mejores ejemplos de estas nuevas empresas de software. Realizó un
cuidadoso estudio del mercado y llegó a la conclusión de que en el campo de los juegos, aun con
ser uno de los que registran ventas más altas, ya había demasiadas compañías que llevaban varios
años establecidas y sería difícil sobresalir con semejante competencia. El estudio de mercado
indicó que sería más ventajoso enfocarse en la producción de software educativo y hacia ese
campo enfocaron sus baterías. Este campo no había sido abordado por empresas de programas de
aplicación y ofrecía mejores posibilidades de éxito comercial.
William Bowman y David Seuss, los socios fundadores de Spinnaker pusieron manos a la obra y
pudieron comprobar el éxito del estudio de mercado. Pusieron atención en la marca, el logo y la
imagen corporativa de una empresa dedicada a la producción de programas de aplicación
orientados a la educación de los niños. Sus anuncios publicitarios se presentaron en las mejores
revistas a un costo anual de dos millones de dólares. El empaque, los instructivos y la portada
tuvieron diseños atractivos no sólo para los padres y maestros sino también para los niños. Se
realizaron importantes campañas de difusión en las escuelas y se contrataron especialistas en
pedagogía para producir programas que dieran excelentes resultados.
En un país en donde la competencia entre los negocios es el quehacer de todos los días, surgieron
otras empresas con deseos de llevarse una tajada del pastel de programas de aplicación para la
educación que parecía ser solamente para Spinnaker. La competencia generó una constante
superación y los programas educativos mejoraron en cantidad y calidad. En la actualidad
constituyen una de las líneas de producción de programas de aplicación más importantes.

Debido a la posibilidad de interactuar con la computadora en un ambiente de intimidad que


elimina las barreras de la comunicación, el alumno encuentra en el software educativo una de las
mejores alternativas para estudiar y aprender al ritmo de su capacidad o de su particular interés
en ciertos temas. En este aspecto, las ideas de Bowman y de Seuss se han comprobado en la
práctica: los programas educativos constituyen una de las ramas de software más importantes y
de mayor trascendencia en su aplicación. Spinnaker resultó un éxito y se hizo pública en 1991
cotizando sus acciones en Nasdaq. En 1994 fue adquirida por The Learning Company, empresa que
a su vez fue adquirida por Mattel.
Los programas educativos se presentan en una amplia gama de aplicaciones y prácticamente los
hay disponibles para todas las edades. Se puede aprender una gran diversidad de temas:
matemáticas, física, química, idiomas, historia, geografía, etc. También se puede aprender a
programar computadoras, a invertir en el mercado de valores y a comprender mejor el mundo en
que vivimos.
El software educativo recibió un fuerte impulso con Internet al abrir la puerta para la educación a
distancia. Ahora no se producen solamente programas de aplicación que se venden en bonitas
cajas de plástico al estilo de Spinnaker, sino robustos sistemas de educación que forman la base de
algunas excelentes universidades. El software educativo tiene un gran futuro y su participación en
la educación de comunidades marginadas lo convierte en un arma estratégica para el desarrollo
nacional.

CONCLUSIONES
El funcionamiento de los computadores y tecnologías innovadoras relacionadas con la informática,
el éxito de las mismas de acuerdo con lo estudiado anteriormente con el tiempo y durante el
tiempo dependerá de lo que hoy en día llamamos software, con la diferencia de que con el pasar
del tiempo se innovaran nuevas técnicas y software mas eficiente, mejorando características
anteriores pero igual seguirá siendo software, sin importar el tipo el funcionamiento de un equipo
computacional depende del mismo.

La satisfacción de las necesidades de los usuarios seguirá dependiendo del software, ya sea que le
permita mejorar el rendimiento de su equipo, software que permita diseñar sistemas, utilizar
herramientas que faciliten el trabajo o tareas darías, software que permita editar música, fotos y
todo aquello que se pueda incluir e la tecnología informática.

REFERENCIAS BIBLIOGRÁFICAS
Alejandro Lubio. (2016).iqcelaya. New York EU: Evolución de los lenguajes de programación.
Recuperado de
htt://parceladigital.com/2016/04/20/la-evolucion-de-los-lenguajes-de-programacion

Roel Irivil. (2012). Bastidas de Apurímac. Perú: Pioneros de la informática. Recuperado de


htt://roelvelarde.blogspot.com/2012/09/algorítmica-i-universidad-nacional.html

Elías Payal. (2015). Cibernética. NN: Precursores y fundadores de la cibernética. Recuperado de


https://sites.google.com/site/eliaspayal2196/home/recursores-y-fundadores-de-la-cibernetica

NN. (2013). Instituto tecnológico de Celaya. Paradigmas de Programación. Recuperado de


http://www.iqcelaya.itc.mx/vicente/Programacion/Paradigmas.pdf

José Antonio. (2016). SlideShare. NN: Evolución del Software. Recuperado de


http://www.consumer.es/web/es/tegnologia/2006/12/15/158181.php​.

También podría gustarte