Vous êtes sur la page 1sur 22

El transistor es un dispositivo electrónico semiconductor utilizado para entregar una señal de

salida en respuesta a una señal de entrada. Cumple funciones


de amplificador, oscilador, conmutador o rectificador. El término «transistor» es la contracción
eninglés de transfer resistor («resistor de transferencia»). Actualmente se encuentra
prácticamente en todos los aparatos electrónicos de uso diario tales
como radios, televisores, reproductores de audio y video, relojes de
cuarzo, computadoras,lámparas fluorescentes, tomógrafos, teléfonos celulares, aunque casi
siempre dentro de los llamados circuitos integrados.

Historia del Microchip

El Microchip, o también llamado circuito integrado (CI), es una pastilla o chip muy delgado en el
que se encuentran una cantidad enorme de dispositivos microelectrónicos interactuados,
principalmente diodos y transistores, además de componentes pasivos como resistencias o
condensadores.

El primer Circuito Integrado fue desarrollado en 1958 por el Ingeniero Jack St. Clair Kilby, justo
meses después de haber sido contratado por la firma Texas Instruments.
Los elementos más comunes de los equipos electrónicos de la época eran los llamados "tubos al
vacío". Las lámparas aquellas de la radio y televisión. Aquellas que calentaban como una estufa y
se quemaban como una bombita.
En el verano de 1958 Jack Kilby se propuso cambiar las cosas. Entonces concibió el primer
circuito electrónico cuyos componentes, tanto los activos como los pasivos, estuviesen dispuestos
en un solo pedazo de material, semiconductor, que ocupaba la mitad de espacio de un clip para
sujetar papeles.

El 12 de Septiembre de 1958, el invento de Jack Kilby se probó con éxito. El circuito estaba
fabricado sobre una pastilla cuadrada de germanio, un elemento químico metálico y cristalino, que
medía seis milímetros por lado y contenía apenas un transistor, tres resistencias y un
condensador.

El éxito de Kilby supuso la entrada del mundo en la microelectrónica, además de millones de


doláres en regalías para la empresa que daba trabajo a Kilby. El aspecto del circuito integrado era
tan nimio, que se ganó el apodo inglés que se le da a las astillas, las briznas, los pedacitos de
algo: chip.

En el año 2000 Jack Kilby fue galardonado con el Premio Nobel de Física por la contribución de
su invento al desarrollo de la tecnología de la información.

Los circuitos integrados fueron posibles gracias a descubrimientos experimentales que


demostraron que lossemiconductores puede realizar las funciones de los tubos vacíos. La
integración de grandes cantidades de diminutos transistores en pequeños chips fue un enorme
avance sobre la ensamblaje manual de los tubos de vacío (válvulas) y circuitos utilizando
componentes discretos.
La capacidad de producción masiva de circuitos integrados, confiabilidad y facilidad de agregarles
complejidad, impuso la estandarización de los circuitos integrados en lugar de diseños utilizando
transistores que pronto dejaron obsoletas a las válvulas o tubos de vacío.
Existen dos ventajas principales de los circuitos integrados sobre los circuitos
convencionales: coste y rendimiento. El bajo coste es debido a que los chips, con todos sus
componentes, son impresos como una sola pieza por fotolitografía y no construidos por
transistores de a uno por vez.

Algunos de los circuitos integrados más avanzados son los microprocesadores, que son usados
en múltiples artefactos, desde computadoras hasta electrodomésticos, pasando por los teléfonos
móviles.
Los chips de memorias digitales son otra familia de circuitos integrados que son de importancia
crucial para la moderna sociedad de la información.

Mientras el costo del diseño y desarrollo de un cirtuido integrado complejo es bastante alto,
cuando se reparte entre millones de unidades de producción el costo individual por lo general se
reduce al mínimo.
La eficiencia de los circuitos integrados es alto debido a que el pequeño tamaño de los chips
permite cortas conexiones que posibilitan la utilización de lógica de bajo consumo (como es el
caso de CMOS) en altas velocidades de conmutación.

Las estructuras de los microchips se volvieron más y más pequeñas.


Los fabricantes tuvieron éxito al duplicar el número de transistores en un chip cada 18 meses, tal
como lo predijo la ley de Moore. Sin embargo, a medida que los tamaños se han reducido
a escalas de átomos, los fabricantes se están acercando cada vez más a los límites de la
miniaturización.
Ha llegado el tiempo de probar acercamientos completamente nuevos. Para ésto, los
investigadores están actualmente buscando soluciones tales como el uso de pequeños "mini
tubos de carbón", los cuales esperan utilizar en los microchips del futuro.

Tan sólo ha pasado medio siglo desde el inicio de su desarrollo y ya se han vuelto ubicuos. De
hecho, muchos académicos creen que la revolución digital impulsada por los circuitos
integrados es una de los sucesos más destacados de la historia de la humanidad.

Existen tres tipos de circuitos integrados:

 Circuito monolítico: La palabra monolítico viene del griego y significa "una piedra". La palabra
es apropiada porque los componentes son parte de un chip. El Circuito monolítico es el tipo más
común de circuito integrado. Ya que desde su intervención los fabricantes han estado
produciendo los circuitos integrados monolíticos para llevar a cabo todo tipo de funciones. Los
tipos comercialmente disponibles se pueden utilizar como amplificadores, reguladores de voltaje,
conmutadores, receptores de AM, circuito de televisión y circuitos de computadoras. Pero
tienen limitantes de potencia. Ya que la mayoría de ellos son del tamaño de un transistor discreto
de señal pequeña, generalmente tiene un índice de máxima potencia menor que 1 W. Están
fabricados en un solo monocristal, habitualmente de silicio, pero también existen en germanio,
arseniuro de galio, silicio-germanio, etc.
 Circuito híbrido de capa fina: Son muy similares a los circuitos monolíticos, pero, además,
contienen componentes difíciles de fabricar con tecnología monolítica. Muchos conversores A/D y
conversores D/A se fabricaron en tecnología híbrida hasta que progresos en la tecnología
permitieron fabricar resistencias precisas.
 Circuito híbrido de capa gruesa: Se apartan bastante de los circuitos monolíticos. De hecho
suelen contener circuitos monolíticos sin cápsula (dices), transistores, diodos, etc, sobre un
sustrato dieléctrico, interconectados con pistas conductoras. Las resistencias se depositan
por serigrafía y se ajustan haciéndoles cortes con láser. Todo ello se encapsula, tanto en cápsulas
plásticas como metálicas, dependiendo de la disipación de potencia que necesiten. En muchos
casos, la cápsula no está "moldeada", sino que simplemente consiste en una resina epoxi que
protege el circuito. En el mercado se encuentrancircuitos híbridos para módulos de RF, fuentes de
alimentación, circuitos de encendido para automóvil, etc.

Clasificación de los Circuitos Integrados:


Atendiendo al nivel de integración - número de componentes - los circuitos integrados se
clasifican en:

 SSI (Small Scale Integration) pequeño nivel: inferior a 12


 MSI (Medium Scale Integration) medio: 12 a 99
 LSI (Large Scale Integration) grande: 100 a 9999
 VLSI (Very Large Scale Integration) muy grande: 10 000 a 99 999
 ULSI (Ultra Large Scale Integration) ultra grande: igual o superior a 100 000

En cuanto a las funciones integradas, existen dos clasificaciones fundamentales de circuitos


integrados(CI): los análogos y los digitales.

 Circuitos integrados analógicos: Pueden constar desde simples transistores encapsulados


juntos, sin unión entre ellos, hasta dispositivos completos como amplificadores, osciladores o
incluso receptores de radio completos.
 Circuitos integrados digitales: Pueden ser desde básicas puertas lógicas (Y, O, NO) hasta los
más complicados microprocesadores.
Éstos son diseñados y fabricados para cumplir una función específica dentro de un sistema. En
general, la fabricación de los circuitos integrales es compleja ya que tienen una alta integración
de componentes en un espacio muy reducido de forma que llegan a ser microscópicos. Sin
embargo, permiten grandes simplificaciones con respecto los antiguos circuitos, además de un
montaje más rápido.

Limitaciones de los circuitos integrados:


Existen ciertos límites físicos y económicos al desarrollo de los circuitos integrados. Son barreras
que se van alejando al mejorar la tecnología, pero no desaparecen. Las principales son:

Disipación de potencia-Evacuación del calor


Los circuitos eléctricos disipan potencia. Cuando el número de componentes integrados en un
volumen dado crece, las exigencias en cuanto a disipación de esta potencia, también crecen,
calentando el sustrato y degradando el comportamiento del dispositivo. Además, en muchos
casos es un comportamiento regenerativo, de modo que cuanto mayor sea la temperatura, más
calor producen, fenómeno que se suele llamar "embalamiento térmico" y, que si no se evita,
llega a destruir el dispositivo. Los amplificadores de audio y los reguladores de tensión son
proclives a este fenómeno, por lo que suelen incorporar "protecciones térmicas".

Los circuitos de potencia, evidentemente, son los que más energía deben disipar. Para ello su
cápsula contiene partes metálicas, en contacto con la parte inferior del chip, que sirven de
conducto térmico para transferir el calor del chip al disipador o al ambiente. La reducción de
resistividad térmica de este conducto, así como de las nuevas cápsulas de compuestos de
silicona, permiten mayores disipaciones con cápsulas más pequeñas.

Los circuitos digitales resuelven el problema reduciendo la tensión de alimentación y utilizando


tecnologías de bajo consumo, como cmos. Aun así en los circuitos con más densidad de
integración y elevadas velocidades, la disipación es uno de los mayores problemas, llegándose a
utilizar experimentalmente ciertos tipos de criostatos. Precisamente la alta resistividad térmica
del arseniuro de galio es su talón de Aquiles para realizar circuitos digitales con él.

Capacidades y autoinducciones parásitas


Este efecto se refiere principalmente a las conexiones eléctricas entre el chip, la cápsula y el
circuito donde va montada, limitando su frecuencia de funcionamiento. Con pastillas más
pequeñas se reduce la capacidad y la autoinducción de ellas. En los circuitos digitales excitadores
de buses, generadores de reloj, etc, es importante mantener la impedancia de las líneas y,
todavía más, en los circuitos de radio y de microondas.

Límites en los componentes


Los componentes disponibles para integrar tienen ciertas limitaciones, que difieren de las de sus
contrapartidas discretas.

 Resistencias. Son indeseables por necesitar una gran cantidad de superficie. Por ello sólo se
usan valores reducidos y, en tecnologías mos, se eliminan casi totalmente.
 Condensadores. Sólo son posibles valores muy reducidos y a costa de mucha superficie.
Como ejemplo, en el amplificador operacional uA741, el condensador de estabilización viene a
ocupar un cuarto del chip.
 Bobinas. Sólo se usan en circuitos de radiofrecuencia, siendo híbridos muchas veces. En
general no se integran.

Densidad de integración
Durante el proceso de fabricación de los circuitos integrados se van acumulando los defectos, de
modo que cierto número de componentes del circuito final no funcionan correctamente. Cuando el
chip integra un número mayor de componentes, estos componentes defectuosos disminuyen la
proporción de chips funcionales. Es por ello que en circuitos de memorias, por ejemplo, donde
existen millones de transistores, se fabrican más de los necesarios, de manera que se puede
variar la interconexión final para obtener la organización especificada.

La organización ARPA es creada.

1958
La organización ARPA es creada como consecuencia tecnológica de la llamada Guerra Fría.

DARPA acrónimo de la expresión en inglés Defense Advanced Research Projects Agency (Agencia de
Investigación de Proyectos Avanzados de Defensa) es una agencia del Departamento de Defensa de
los Estados Unidos responsable del desarrollo de nuevas tecnologías para uso militar. Fue creada
en 1958 como consecuencia tecnológica de la llamada Guerra Fría, y del que surgieron, década después, los
fundamentos de ARPANET, red que dio origen a Internet.
La agencia, denominada en su origen simplemente como ARPA, cambió su denominación en 1972,
conociéndose en lo sucesivo como DARPA por sus siglas en inglés DARPA fue responsable de dar fondos
para desarrollar muchas tecnologías que han tenido un gran impacto en el mundo, incluyendo redes de
ordenadores (empezando con ARPANET, que después se desarrolló como Internet), así como NLS, el cual
fue tanto un sistema de hipertexto como un precursor de la interfaz gráfica de usuario contemporánea.
Su nombre original fue simplemente Agencia de Investigación de Proyectos Avanzados pero se renombró a
DARPA (por Defensa) el 23 de marzo de 1972, volvió a cambiarse a ARPA el 22 de febrero de 1993 y otra vez
a DARPA el 11 de marzo de 1996.
DARPA fue creado en 1958 en respuesta al lanzamiento soviético del Sputnik, con la misión de mantener a la
tecnología de Estados Unidos en la carrera militar por delante de la de sus enemigos. Es independiente de
otras agencias más convencionales de I+D y reporta directamente al consejo del Departamento de Defensa.
DARPA tiene alrededor de 240 empleados (140 de ellos son técnicos), los cuales manejan un presupuesto de
2 mil millones de dólares. Estos datos son sólo promedios, puesto que DARPA está enfocado en proyectos de
corto plazo (de dos a cuatro años) llevados a cabo por equipos pequeños y constituidos expresamente para
dichos proyectos.

1960

COBOL
El lenguaje COBOL (acrónimo de COmmon Business-Oriented Language, Lenguaje Común
Orientado a Negocios) fue creado en el año 1959 con el objetivo de crear unlenguaje de
programación universal que pudiera ser usado en cualquier ordenador (ya que en los años
1960 existían numerosos modelos de ordenadores incompatibles entre sí), y que estuviera
orientado principalmente a los negocios, es decir, a la llamada informática de gestión.

Índice
[ocultar]

 1Historia

 2Características

o 2.1Programa Hola mundo

 3Empleo

 4Curiosidades

 5Referencias

 6Véase también

 7Enlaces externos

Historia[editar]
En la creación de este lenguaje participó la comisión CODASYL, compuesta por fabricantes de
ordenadores, usuarios y el Departamento de Defensa de Estados Unidos en mayo de 1959.
La definición del lenguaje se completó en poco más de seis meses, siendo aprobada por la
comisión en enero de 1960. El lenguaje COBOL fue diseñado inspirándose en el
lenguaje Flow-Matic de Grace Hopper y el IBM COMTRAN de Bob Bemer, ya que ambos
formaron parte de la comisión.
Gracias a la ayuda de los usuarios COBOL evolucionó rápidamente y fue revisado
de 1961 a 1965 para añadirle nuevas funcionalidades. En 1968 salió la primera
versión ANSIdel lenguaje, siendo revisada posteriormente en 1974 (COBOL ANS-
74), 1985 (COBOL ANS-85, ampliado en 1989 con funciones matemáticas, finalizando el
estándar actual más usado, conocido como COBOL-ANSI), y en 2002 (COBOL ANS-2002).
Desde el año 2007 se viene preparando una nueva revisión del lenguaje.
Además, existe una versión conocida como COBOL ENTERPRISE, actualizada regularmente
y lanzada en 1991, usada generalmente en sistemas Host.
En el 2011 se actualizó con Visual COBOL.1 Existen otras versiones de COBOL como
NetCobol de Fujitsu (distribuido por GT Software), al igual que isCOBOL de la casa matriz
Veryant.

Características[editar]
 COBOL fue dotado de unas excelentes capacidades de autodocumentación.

 Una buena gestión de archivos y una excelente gestión de los tipos de datos para la
época, a través de la conocida sentencia PICTURE para la definición de campos
estructurados. Para evitar errores de redondeo en los cálculos que se producen al
convertir los números a binario y que son inaceptables en temas comerciales, COBOL
puede emplear y emplea por defecto números en base diez. Para facilitar la creación de
programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al
idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de
programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los
nuevos paradigmas de programación y a los lenguajes que los implementaban. En la revisión
de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de
memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se
podía crear un entorno de trabajo similar a la orientación a objetos, y un método de
generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes
de compiladores las añadían de forma no estándar. En la actualidad este proceso se está
viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten
emplear COBOL como lenguaje de scripting y de servicio web. También existen compiladores
que permiten generar código COBOL para la plataforma .NET y EJB.
Programa Hola mundo[editar]

IDENTIFICATION DIVISION.
PROGRAM-ID. HOLAMUNDO.

ENVIRONMENT DIVISION.

DATA DIVISION.
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.

DISPLAY 'Hola mundo'.


STOP RUN.

Empleo[editar]
Pese a que muchas personas creen que el lenguaje COBOL está en desuso, la realidad es
que casi todos los sistemas que requieren gran capacidad de procesamiento por lotes (Batch),
tanto las entidades bancarias como otras grandes empresas con sistemas mainframes utilizan
COBOL. Esto permite garantizar la compatibilidad de los sistemas antiguos con los más
modernos, así como tener la seguridad de que el lenguaje es perfectamente estable y
probado. Según un informe de Gartner Group de 2005, el 75% de los datos generados por
negocios son procesados por programas creados en COBOL, y en otro informe de 1997
estima que el 80% de los 300.000 millones de líneas de código existentes están creados en
COBOL, escribiéndose 5.000 millones de líneas nuevas de COBOL cada año. Con todo eso,
hoy por hoy, la programación en COBOL es uno de los negocios más rentables del mundo de
la informática. En el resto de aplicaciones el COBOL ha caído en desuso, reemplazado por
lenguajes más modernos o versátiles.
Pero no todo es así. A día de hoy, siguen existiendo decenas de miles de usuarios Cobol e
instituciones que siguen instruyendo este lenguaje dados los números informados. Cobol
sigue estando soportado y sigue evolucionando permanentemente; esto principalmente por la
cantidad de aplicaciones que hoy sigue funcionando y que superan en número a los demás
lenguajes gracias a tanta difusión en el pasado. Esto sigue propiciando su continua evolución
y, palabras del propio Bill Gates: "No sé qué lenguajes habrá en el futuro, pero seguro que
Cobol estará todavía allí".2

Curiosidades[editar]
En el código que se ve de la programación del cyborg de la película Terminator (1984),
algunas de las sentencias están escritas en Cobol.3
Historia de la construcción de los
compiladores

Esquema de compilación

En informática, un compilador es un programa informático que transforma código


fuente escrito en un lenguaje de programación o lenguaje informático (el lenguaje fuente), en
otro lenguaje informático (el lenguaje objetivo, estando a menudo en formato binario conocido
como código objeto). La razón más común para querer transformar código fuente es crear un
programa ejecutable.
Cualquier programa escrito en un lenguaje de programación de alto nivel debe ser traducido a
código objeto antes de que pueda ser ejecutado, para que todos los programadores que usen
tal lenguaje usen un compilador o un intérprete. Por esto, los compiladores son muy
importantes para los programadores. Cualquier mejora hecha a un compilador lleva a un gran
número de programas mejorados.
Los compiladores son programas grandes y complejos, pero el análisis sistemático y la
investigación de los científicos informáticos ha llevado a un entendimiento más claro de la
construcción de los compiladores y una gran cantidad de teoría ha sido desarrollada sobre
ellos. La investigación en la construcción de compiladores ha conducido a herramientas que
hacen mucho más fácil crear compiladores, de modo que los estudiantes de informática de
hoy en día pueden crear sus propios lenguajes pequeños y desarrollar un compilador simple
en pocas semanas.

Índice
[ocultar]

 1Primeros compiladores

 2Compiladores auto-alojados

o 2.1ELIAC
o 2.2Lisp

 3Gramáticas libres de contexto y analizadores sintácticos

o 3.1Análisis sintáctico LR

o 3.2Análisis sintáctico LL

o 3.3Algoritmo de Earley

 4Lenguajes de descripción de gramáticas

 5Compilador de computador

o 5.1XPL

o 5.2Yacc

 6Compilación cruzada

 7Compiladores de optimización

o 7.1Optimización Peephole

o 7.2Optimizador Capex COBOL

 8Diagnósticos

o 8.1PL/C

 9Véase también

 10Referencias

 11Lecturas adicionales

 12Notas

Primeros compiladores[editar]

Lenguaje de programación COBOL


El software para los primeros computadores estaba primariamente escrito en lenguaje
ensamblador. Normalmente para un programador es más productivo usar un lenguaje de alto
nivel, y los programas escritos en lenguajes de alto nivel pueden ser reutilizados en distintos
tipos de computadores. Aún teniendo en cuenta esto, pasó un tiempo hasta que los
compiladores se establecieran, porque generaban código que no tenía tan buen rendimiento
como los ensambladores escritos a mano, eran enormes proyectos de desarrollo por sí
mismos, y la limitadísima capacidad dememoria de los primeros computadores creó muchos
problemas técnicos para las implementaciones prácticas de los compiladores.
El primer compilador fue escrito por Grace Hopper, en 1952, para el lenguaje Sistema A-0. El
término compilador fue acuñado por Hopper.1 El equipoFORTRAN dirigido por John W.
Backus de IBM está generalmente acreditado por haber presentado el primer compilador
completo, en 1957. El primer compilador FORTRAN necesitó de 18 años-persona para su
creación.2
En 1960, un compilador FORTRAN extendido, ALTAC, estaba también disponible en
el Philco 2000, por lo que es probable que un programa FORTRAN fuera compilado para
ambas arquitecturas de computadores a mediados de los años 60.3 El primer lenguaje de alto
nivel multiplataforma demostrado fue COBOL. En una demostración en diciembre de 1960, un
programa COBOL fue compilado y ejecutado en el UNIVAC II y el RCA 501.1
El compilador COBOL para el UNIVAC II fue probablemente el primero en ser escrito en un
lenguaje de alto nivel, llamado FLOW-MATIC, por un equipo dirigido por Grace Hopper.

Compiladores auto-alojados[editar]

Máquina LISP

Como cualquier otro software, hay beneficios obtenidos de la implementación de un


compilador en un lenguaje de alto nivel. En particular, un compilador puede ser auto-alojado,
es decir, escrito en el lenguaje de programación que lo compila. Construir un compilador auto-
alojado es un problema de bootstrapping —el primer compilador para un lenguaje debe ser
compilado o en un compilador escrito en un lenguaje distinto, o compilado ejecutando el
compilador en un intérprete.
ELIAC[editar]
El Navy Electronics Laboratory International ALGOL Compiler o NELIAC fue un dialecto e
implementación del compilador del lenguaje de programación ALGOL 58 desarrollado por el
Naval Electronics Laboratory en 1958.
ELIAC fue el invento de Harry Huskey — por aquel entonces presidente de la ACM y un
reconocido científico informático, y apoyado por Maury Halstead, el jefe del centro
computacional en el NEL. La primera versión fue implementada en el ordenador prototipo
USQ-17 (llamado la Condesa) en el laboratorio. Fue el primer compilador auto-compilado del
mundo. Esto significa que el compilador fue primero codificado en forma simplicada en un
lenguaje ensamblador (el bootstrap), y luego reescrito en su propio lenguaje, compilado por el
compilador bootstrap, y recompilado por sí mismo, haciendo obsoleto el bootstrap.
Lisp[editar]
El primer compilador auto-alojado (excluyendo ensambladores) fue escrito para Lisp por Tim
Hart y Mike Levin en el MIT en 1962.4 Ellos escribieron un compilador de Lisp en Lisp,
probándolo en un intérprete de Lisp existente. Una vez que ellos hubieron mejorado el
compilador hasta el punto de que se pudiera compilar en su propio código fuente, fue auto-
alojado.5
El compilador tal como existe en la cinta de compilador estándar es un programa en
lenguaje de máquina que fue obtenido al tener la definición de la Expresión S del
trabajo de compilador en sí mismo a través del intérprete. (AI Memo 39)5
Esta técnica sólo es posible cuando un intérprete ya existe para el propio lenguaje que va
a ser compilado. Lo toma prestado directamente de la noción de ejecutar un programa en
sí mismo como salida, lo cual también es usado en varias pruebas de la ciencia
computacional teórica, por ejemplo en la prueba de que el problema de la parada es
indeterminable.

Gramáticas libres de contexto y analizadores


sintácticos[editar]

Analizador sintáctico

Un analizador sintáctico es un componente importante de un compilador. Analiza el código


fuente de un lenguaje de programación para crear algún tipo de representación interna.
Los lenguajes de programación tienden a ser especificados en términos de una gramática
libre de contexto a causa de los analizadores sintácticos rápidos y eficientes que pueden
ser escritos para ellos. Los analizadores sintácticos pueden ser escritos a mano o
generado por un compilador de computador. Una gramática libre de contexto ofrece un
mecanismo sencillo y preciso para describir la estructura de bloque de un programa - es
decir, cómo el lenguaje de programación se construye a partir de bloques más pequeños.
El formalismo de las gramáticas libres de contexto fue desarrollado por Noam Chomsky a
mediados de los años 50.6
La estructura de bloque fue introducida en los lenguajes de programación por el proyecto
ALGOL (1957-1960), lo que, en consecuencia, también ofreció una gramática libre de
contexto para describir la sintaxis resultante de ALGOL.
Las gramáticas libres de contexto son lo suficientemente simples como para permitir la
construcción de algoritmos de análisis sintáctico eficientes los cuales, para una cadena
dada, determinan cuándo y cómo pueden ser generados a partir de la gramática. Si un
diseñador de lenguajes de programación está dispuesto a trabajar dentro de algunos
subconjuntos limitados de las gramáticas libres de contexto, es posible crear analizadores
sintácticos más eficientes.
Análisis sintáctico LR[editar]

Analizador sintáctico LR

El analizador sintáctico LR (left to right: izquierda a derecha) fue inventado por Donald
Knuth en 1965 en un artículo, "On the Translation of Languages from Left to Right".
Un analizador sintáctico LR es un analizador sintáctico que lee la entrada de izquierda a
derecha (como aparecería si se mostrara visualmente) y produce una derivación por la
derecha. El término analizador sintáctico LR(k) es también usado, donde k se refiere al
número de símbolos de entrada predichos ("look-ahead") sin consumir que son usados en
las decisiones que toma el analizador.
Knuth demostró que las gramáticas LR(k) pueden ser analizadas en un tiempo de
ejecución esencialmente proporcional a la longitud del programa, y cada gramática LR(k)
con k > 1 puede ser mecánicamente transformada en una gramática LR(1) para el mismo
lenguaje. En otras palabras, sólo es necesario tener un símbolo de predicción para
analizar cualquier grámatica libre de contexto determinista (DCFG: deterministic context-
free grammar).7
Korenjak (1969) fue el primero en demostrar que los analizadores sintácticos para los
lenguajes de programación podían ser producidos usando estas técnicas. 8 Frank
DeRemer ideó las técnicas más prácticas SLR y LALR, publicadas en su tesis doctoral del
MIT en 1969.910 Esto supuso un importante avance, porque los traductores LR(k), como
los definió Donald Knuth, eran demasiado grandes para su implementación en los
sistemas informáticos de los años 60 y 70.
En la práctica, LALR ofrece una buena solución, porque las gramáticas LALR(1) son más
potentes que las gramáticas SLR(1) y LL(1). Las gramáticas LR(1) son más potentes que
las LALR(1), sin embargo, los analizadores sintácticos LR(1) pueden ser extremadamente
grandes en tamaño y no se consideran prácticos. Los analizadores sintácticos LR(1)
mínimos son pequeños en tamaño y comparables a los analizadores sintácticos LALR(1).
La sintaxis de muchos lenguajes de programación son definidos por una gramática
LALR(1), y por esta razón los analizadores sintácticos LALR son usados a menudo por
compiladores para llevar a cabo el análisis sintáctico del código fuente.
Un analizador sintáctico ascendente recursivo implementa un analizador LALR usando
funciones mutuamente recursivas en vez de usar tablas. Por esto, el analizador sintáctico
es directamente codificado en el lenguaje anfitrión de forma parecida al recursivo
descendente. La codificación directa normalmente produce un analizador más rápido que
su equivalente basado en tablas11 por la razón de que la compilación es más rápida que la
interpretación. También es posible (en principio) editar a mano un analizador sintáctico
recursivo ascendente, donde una implementación en forma de tabla es casi ilegible para el
ser humano medio.
La recursión ascendente fue descrita por primera vez por Thomas Pennello en su artículo
"Very fast LR parsing" en 1986.11 La técnica fue expuesta después por G.H. Roberts12en
1988 así como en un artículo de Leermakers, Augusteijn y Kruseman Aretz 13 en 1992 en el
diario Theoretical Computer Science.
Análisis sintáctico LL[editar]
Un analizador sintáctico LL analiza la entrada de izquierda a derecha, y construye una
derivación por la izquierda de la sentencia o enunciado, al contrario que LR. La clase de
gramáticas que son analizables por este método son conocidas como gramáticas LL. Las
gramáticas LL son una clase de gramáticas libres de contexto aún más restrictiva que las
gramáticas LR. Sin embargo, son de gran interés para los escritores de compiladores,
puesto que este analizador es simple y eficiente de implementar.
Las gramáticas LL(k) pueden ser analizadas por un analizador sintáctico descendente
recursivo, que es normalmente codificado a mano.
El diseño de ALGOL provocó la investigación del recursivo descendente, dado que el
lenguaje ALGOL es en sí mismo recursivo. El concepto de análisis sintáctico descendente
recursivo fue objeto de debate en la edición de enero de 1961 del CACM en artículos
separados de A.A. Grau y Edgar T. "Ned" Irons.14 15 Richard Waychoff concibió y usó el
descendente recursivo en el compilador ALGOL de Burroughs de marzo de 1961.16
La idea de las gramáticas LL(1) fue presentada por Lewis y Stearns (1968). 17 18
El recursivo descendente fue popularizado por Niklaus Wirth con PL/0, un lenguaje de
programación educacional usado para enseñar la construcción de compiladores en los
años 70.19
El análisis sintáctico LR puede manejar un rango mayor de lenguajes que el análisis
sintáctico LL, y proporciona mejores informes de errores, es decir, detecta errores
sintácticos cuando la entrada no está conforme a la gramática tan pronto como sea
posible.
Algoritmo de Earley[editar]
En 1970, Jay Earley inventó lo que después se llamó el Algoritmo de Earley. Este
algoritmo es atractivo porque puede analizar cualquier lenguaje libre de contexto de forma
bastante eficiente.20

Lenguajes de descripción de gramáticas[editar]


John Backus

John Backus propuso "fórmulas meta-lingüísticas"21 22 para describir la sintaxis del nuevo
lenguaje de programación IAL, conocido hoy en día como ALGOL 58 (1959). El trabajo de
Backus estaba basado en la Máquina de Post ideada por Emil Post.
El posterior desarrollo de ALGOL llevó al ALGOL 60; en su informe (1963), Peter Naur
llamó Notación de Backus-Naur (Backus Normal Form: BNF) a la notación de Backus,23 y
lo simplificó para minimizar el conjunto de caracteres usados.
Niklaus Wirth definió la Notación de Backus-Naur Extendida (Extended Backus-Naur
Form: EBNF), una versión refinada de la BNF, a principios de los años 70 para PL/0. La
Notación de Backus-Naur Aumentada (Augmented Backus-Naur Form: ABNF) es otra
variante. Tanto EBNF como ABNF son muy usadas para especificar la gramática de los
lenguajes de programación, como en las entradas de los generadores de analizadores
sintácticos, y en otros campos como la definición de protocolos de comunicación.

Compilador de computador[editar]

Laboratorios Bell, uno de los primeros en desarrollar un sistema operativo en un lenguaje de alto
nivel (PL/1)

Un compilador de computador (compiler compiler) o generador de analizador sintáctico es


un programa que toma una descripción de lagramática formal de un lenguaje de
programación y produce un analizador sintáctico para ese lenguaje.
El primer compilador de computador en usar ese nombre fue escrito por Tony Brooker en
1960 y fue usado para crear compiladores para la computadora Atlas en la Universidad de
Mánchester, incluyendo el compilador Atlas Autocode. Sin embargo, era bastante diferente
de los compiladores de computador modernos, y hoy probablemente sería descrito como
algo entre un compilador genérico altamente personalizable y un lenguaje extensible. El
nombre 'compilador de computador' era bastante más apropiado para el sistema de
Brooker de lo que lo es para la mayoría de los compiladores de computador modernos, los
cuales sería mejor llamarlos generadores de analizadores sintácticos. Es casi seguro que
el nombre "compilador de computador" se usa comúnmente debido a Yacc más que al
trabajo de Brooker.
A principios de los años 60, Robert McClure en Texas Instruments inventó un compilador
de computador llamado TMG, el nombre extraído de "transmogrificación".24 25 26 27 En los
posteriores años TMG fue portado a muchos computadores centrales de UNIVAC e IBM.
El proyecto Multics, un proyecto conjunto entre el MIT y los Laboratorios Bell, fue uno de
los primeros en desarrollar un sistema operativo en un lenguaje de alto nivel. PL/1 fue
escogido como el lenguaje, pero un proveedor externo no podía proveer un compilador en
funcionamiento.28 El equipo Multics desarrolló su propio dialecto de PL/1, llamadoEarly
PL/1 (EPL), como su lenguaje de implementación de 1964. TMG fue portado a las GE-600
series y usado para desarrollar EPL por Douglas McIlroy, Robert Morris y otros.
No mucho después de que Ken Thompson escribiera la primera versión de Unix para
el PDP-7 en 1969, Doug McIlroy creó el primer lenguaje de programación de alto nivel del
nuevo sistema: una implementación del TMG de McClure.29 TMG fue también la
herramienta de definición del compilador usada por Ken Thompson para escribir el
compilador del lenguaje B en su PDP-7 en 1970. B fue el inmediato predecesor de C.
Uno de los primeros generadores de analizador sintáctico LALR fue llamado “TWS”,
creado por Frank DeRemer y Tom Pennello.
XPL[editar]
XPL es un dialecto del lenguaje de programación PL/1, desarrollado en 1967, usado para
el desarrollo de compiladores de lenguajes de computación. Fue diseñado e
implementado por un equipo formado por William McKeeman, James J. Horning y David
B. Wortman en la Universidad Stanford y la Universidad de California, Santa Cruz. Se
anunció por primera vez en la Conferencia de Ordenadores de Otoño de 1968 en San
Francisco, California.30 31
Es el nombre de tanto el lenguaje de programación como el sistema generador de
analizador sintáctico LALR (o TWS: Translator Writing System) basado en el lenguaje.
XPL presentó un sistema de compilador de abajo a arriba (bottom-up compiler)
relativamente simple denominado MSP (Mixed Strategy Precedence) por sus autores. Fue
cargado a través de Burroughs Algol en el computador de IBM S/360. Implementaciones
posteriores de XPL ofrecieron un analizador sintáctico SLR(1).
Yacc[editar]
Yacc es un generador de analizador sintáctico desarrollado por Stephen C. Johnson
en AT&T para el sistema operativo Unix.32 El nombre es un acrónimo de "Yet Another
Compiler Compiler". Genera un analizador sintáctico LALR(1) basado en una gramática
escrita en una notación similar a la Notación de Backus-Naur.
Johnson trabajó en Yacc a principios de los años 70 en Laboratorios Bell.33 Estaba
familiarizado con TMG y su influencia puede verse en Yacc y en el diseño del lenguaje de
programación C. A causa de que Yacc fue el generador de analizador sintáctico por
defecto en la mayoría de sistemas Unix, fue ampliamente distribuido y usado. Desarrollos
como GNU Bison todavía están en uso.
El analizador sintáctico generado por Yacc requiere un analizador léxico. Los generadores
de analizadores léxicos, tales como Lex o Flex están ampliamente disponibles. El
estándar IEEE POSIX P1003.2 define la funcionalidad y los requerimientos para Lex y
Yacc.

Compilación cruzada[editar]
Un compilador cruzado se ejecuta en un entorno pero produce código objeto para otro.
Los compiladores cruzados son usados para desarrollo embebido, donde el ordenador
objetivo tiene capacidades limitadas.
Uno de los primeros ejemplos de compilación cruzada fue AIMICO, donde un programa
FLOW-MATIC en un UNIVAC II fue usado para generar lenguaje ensamblador para elIBM
705, que fue después ensamblado en el computador de IBM.1
El compilador ALGOL 68C generaba una salida ZCODE, que luego podía ser compilado
en código de la máquina local por un traductor ZCODE o ejecutarlo
interpretado.ZCODE es un lenguaje intermedio basado en registros. Esta habilidad para
interpretar o compilar ZCODE fomentó la portabilidad de ALGOL 68C a numerosas
plataformas de computador diferentes.

Compiladores de optimización[editar]

Frances E. Allen, una pionera en el campo de la optimización de compiladores

La optimización de compiladores es el proceso de mejora de la calidad del código objeto


sin cambiar los resultados que produce.
Los desarrolladores del primer compilador de FORTRAN se propusieron generar código
que fuese mejor que la media de los ensambladores codificados a mano, para que los
clientes pudieran usar su producto. En uno de sus primeros compiladores, ellos tuvieron
éxito.34
Posteriores compiladores, como el compilador Fortran IV de IBM, priorizó más en los
buenos diagnósticos y en ejecutarse más rápidamente, a costa de la optimización del
código objeto. No fue hasta las series IBM 360 en las que IBM proveyó dos compiladores
separados en las que estuvo disponible: un comprobador de ejecución de código rápida y
un optimizador más lento.
Frances E. Allen, trabajando sola y conjuntamente con John Cocke, presentó muchos de
los conceptos de optimización. El artículo de Allen de 1966, Program
Optimization,35 presentó el uso de las estructuras en forma de grafo para codificar el
contenido de un programa para la optimización.36 Su artículo de 1970, Control Flow
Analysis37 y A Basis for Program Optimization38 estableció intervalos como el contexto
para el análisis y la optimización del flujo de datos eficiente y efectivo. Su artículo de 1971
conjunto con Cocke, A Catalog of Optimizing Transformations,39 dio la primera descripción
y sistematización de las transformaciones de optimización. Sus artículos de 1973 y 1974
sobre el análisis del flujo de datos interprocedural extendió el análisis a los programas por
completo.40 41 Su artículo de 1976 conjunto con Cocke describe una de las dos principales
estrategias de análisis usadas en los compiladores de optimización de hoy día. 42
Allen desarrolló e implementó sus métodos como parte de compiladores para el IBM 7030
Stretch-Harvest y el experimental Advanced Computing System. Este trabajo estableció la
factibilidad y la estructura de los optimizadores de las máquinas modernas. Ella llegó a
establecer y liderar el proyecto PTRAN en la ejecución paralela automática de programas
FORTRAN.43 Su equipo PTRAN desarrolló nuevos esquemas de detección de paralelismo
y creó el concepto de grafo de dependencias del programa, el método de estructurado
primario usado por la mayoría de los compiladores de paralelización.
Programming Languages and their Compilers de John Cocke y Jacob T. Schwartz,
publicado por primera vez en 1970, dedicó más de 200 páginas a algoritmos de
optimización. Incluyó muchas de las ahora familiares técnicas tales como eliminación de
código redundante y reducción de esfuerzo.44
Optimización Peephole[editar]
La optimización Peephole es una técnica de optimización muy simple pero efectiva. Fue
inventada por William McKeeman y publicada en 1965 en CACM. 45 Fue usada en el
compilador XPL que McKeeman ayudó a desarrollar.
Optimizador Capex COBOL[editar]
La Corporación Capex desarrolló el "Optimizador COBOL" a mediados de los años 70
para COBOL. Este tipo de optimizador depende, en este caso, del conocimiento de las
'debilidades' en el compilador IBM COBOL estándar, y de hecho reemplaza
(o parchea secciones del código objeto con un código más eficiente. El código de
reemplazo podría sustituir una tabla de consulta linear con una búsqueda binaria por
ejemplo o a veces simplemente reemplazar una instrucción relativamente 'lenta' por una
conocida más rápida que fuese funcionalmente equivalente en su contexto. Esta técnica
es ahora conocida como "Reducción de esfuerzo". Por ejemplo en el hardware IBM
S/360 la instrucción CLIera, dependiendo del modelo, entre 2 y 5 veces tan rápido como
una instrucción CLC para comparaciones de un único byte.46 47
Los compiladores modernos típicamente proveen opciones de optimización, para que los
programadores puedan elegir si quieren o no ejecutar un pase de optimización.

Diagnósticos[editar]
Cuando a un compilador se le pasa un programa incorrecto sintácticamente, un buen,
claro mensaje de error es útil. Desde la perspectiva del escritor del compilador, esto es a
menudo difícil de conseguir.
El compilador Fortran WATFIV fue desarrollado en la Universidad de Waterloo, Canadá en
los finales de los años 60. Fue diseñado para dar mejores mensajes de error que los
compiladores Fortran de IBM de la época. Además, WATFIV era mucho más utilizable,
porque combinaba compilación, enlazado y ejecución en un paso, mientras que los
compiladores de IBM tenían tres componentes separados para su ejecución.
PL/C[editar]
PL/C fue un lenguaje de programación de computador desarrollado en la Universidad de
Cornell a principios de los años 70. Mientras que el PL/C era un subconjunto del lenguaje
de IBM PL/1, fue diseñado con el objetivo específico de ser usado para enseñar
programación. Los dos investigadores y profesores académicos que diseñaron PL/C
fueron Richard W. Conway y Thomas R. Wilcox. Presentaron el famoso artículo "Design
and implementation of a diagnostic compiler for PL/1" publicado en las comunicaciones del
ACM en marzo de 1973.48
PL/C eliminó algunas de las más complejas características de PL/1, y añadió depuración
extensiva y facilidades para recuperación de errores. El compilador PL/C tenía la inusual
capacidad de nunca fallar al compilar cualquier programa, mediante el uso de la
corrección automática de muchos errores sintácticos y la conversión de los errores
sintácticos restantes a las declaraciones de salida.
Segunda Generación
Enviado por chuoparrita

1.

2. Transistores

3. Lenguaje de Programación/ software/ Hardware

4. Almacenamiento

5. Aplicaciones

6. Representantes

Introducción:
La primera máquina de calcular mecánica, un precursor del ordenador digital, fue inventada en 1642 por el
matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes en las que
cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de tal manera que
podían sumarse números haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y
matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía
multiplicar.

El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó delgadas placas
de madera perforadas para controlar el tejido utilizado en los diseños complejos. Durante la década de 1880
el estadístico estadounidense Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las
placas de Jacquard, para procesar datos. Hollerith consiguió compilar la información estadística destinada al
censo de población de 1890 de Estados Unidos mediante la utilización de un sistema que hacía pasar tarjetas
perforadas sobre contactos eléctricos.
El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador
o computadora. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, para
el almacenamiento y manipulación de datos. Los equipos informáticos han abierto una nueva era en la
fabricación gracias a las técnicas de automatización, y han permitido mejorar los sistemas modernos
de comunicación. Son herramientasesenciales prácticamente en todos los campos de investigación y en
tecnología aplicada.
En los tiempos modernos las Computadoras se han convertido en una herramienta de suma importancia, no
sólo para el desarrollo de nuestros pueblos, si no también, para el desarrollo de la Ciencia, nuevas
Tecnologías, debido a los crecientes avances que en la materia se han alcanzado.
En 1.947 por los Físicos Walter Brattain, William Shockley y John Bardeen, de los laboratorios Bell el
descubrimiento del transistor (Contracción de los términos Transfer Resistor). El descubrimiento del transistor
trae como consecuencia la disminución de los costos de los ordenadores, la disminución de tamaño y rapidez.
A finales de la década de 1950 el uso del transistor en los ordenadores marcó el advenimiento de elementos
lógicos más pequeños, rápidos y versátiles de lo que permitían las máquinas con válvulas. Como
los transistores utilizan mucha menos energía y tienen una vida útil más prolongada, a su desarrollo se debió
el nacimiento de máquinas más perfeccionadas, que fueron llamadas ordenadores o computadoras de
segunda generación. Los componentes se hicieron más pequeños, así como los espacios entre ellos, por lo
que la fabricación del sistema resultaba más barata.
Uso de Transistores:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
En 1.947 por los Físicos Walter Brattain, William Shockley y John Bardeen, de los laboratorios Bell el
descubrimiento del transistor (Contracción de los términos Transfer Resistor). El descubrimiento del transistor
trae como consecuencia la disminución de los costos de los ordenadores, la disminución de tamaño y rapidez.
El invento del transistor hizo posible una nueva Generación de computadoras, más rápidas, más pequeñas y
con menores necesidades de ventilación. Sin embargo el costo seguía siendo una porción significativa
del presupuesto de una Compañía. . El transistor funciona de manera muy semejante a la de un tríodo, pues
puede funcionar como amplificador, como oscilador y como interruptor, pero tiene ventajas muy importantes
respecto a éste:
1. Como no necesita vacío, es mucho más fácil de construir.
2. Puede hacerse tan pequeño como se quiera.
3. Gasta mucha menos energía.
4. Funciona a una temperatura más baja.
5. No es necesario esperar a que se caliente.
Un transistor contiene un material semiconductor, normalmente silicio, que puede cambiar
su estado eléctrico. En su estado normal el semiconductor no es conductivo, pero cuando se le aplica
un determinado voltaje se convierte en conductivo y la corriente eléctrica fluye a través de éste,
funcionando como un interruptor electrónico.

El transistor bipolar tiene tres partes, como el tríodo. Una que emite electrones (emisor), otra que los recibe o
recolecta (colector) y la tercera, que esta intercalada entre las dos primeras, modula el paso de dichos
electrones (base).
En los transistores bipolares, una pequeña señal eléctrica aplicada entre la base y emisor modula la corriente
que circula entre emisor y colector. La señal base-emisor puede ser muy pequeña en comparación con el
emisor-colector. La corriente emisor-colector es aproximadamente de la misma forma que la base-emisor pero
amplificada en un factor de amplificación "Beta".
El transistor se utiliza, por tanto, como amplificador. Además, como todo amplificador puede oscilar, puede
usarse como oscilador y también como rectificador y como conmutador on-off.
El transistor también funciona, por tanto, como un interruptor electrónico, siendo esta propiedad aplicada en
la electrónica en el diseño de algunos tipos de memorias y de otros circuitos como controladores
de motores de DC y de pasos.
Para poder entender un poco mejor el efecto del transistor, necesitamos entender como un transistor puede trabajar como
un insulador y un conductor. Es la habilidad del transistor de cambiar entre estos dos estados que lo deja cambiar o
amplificar.
Insulación:
El transistor en su efecto de cambio cuando el transistor esta hecho para alterar su estado de inicio de
conductividad (encendido, la corriente al máximo) a su condición final de insulación (apagado y sin flujo de
corriente). La animación comienza con la corriente fluyendo desde el emisor (punto E) al colector (punto C).
Cuando un voltaje negativo se le aplica a la base (punto B), los electrones en la región base son empujados
(dos cargas que se repelen, en este caso dos negativas) creando la insulación. La corriente que fluía desde el
punto E al punto C se detiene.
Conductividad:
El transistor cuando pasa de su estado de insulación (apagado y sin flujo de corriente) a su estado final de
conductividad (prendido, la corriente al máximo). La animación comienza con el transistor trabajando como un
insulador. Para que pueda tener conductividad, voltaje positivo tiene que ser aplicado a la base (punto B).
Como las cargas positivas se atraen (en este caso, positivo y negativo), los electrones se halados fuera de los
limites y deja que siga el flujo de corriente como lo muestra la figura. El transistor se cambio de insulador a
conductor.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Lenguaje de Programación/ software/ Hardware
Los lenguajes de " Alto Nivel" son los utilizados en esta época como lenguaje de programación. Aunque no
eran fundamentalmente declarativos, estos lenguajes permitían que los algoritmos se expresen en un nivel y
estilo de escritura fácilmente legible y comprensible por otros programadores. Ejemplos de estos lenguajes de
alto nivel son: El BASIC (aplicaciones sencillas) El COBOL (para aplicaciones de procesamiento de datos) y El
FORTRAN (para aplicaciones científicas ).
El BASIC, nació en la Universidad de Dartmouth, bajo la dirección de John Kemmey y Thomas Kurtz. En
1.963 la Universidad de Dartmouth decidió que todos los estudiantes debían aprender a manejar los
ordenadores, de este modo se empezó a trabajar en "tiempo compartido" o empleo de terminales, usando un
ordenador General Electric. El lenguaje de programación BASIC (Beginner's All purpose Symbolic Instruction
Code ) nació en el año 1964 como una herramienta destinado a principiantes, buscando una forma sencilla de
realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria ( en inglés), y con
instrucciones muy sencillas y escasas. Teniendo en cuenta el año de su nacimiento, este lenguaje cubría casi
todas las necesidades para la ejecución de programas
El COBOL desarrollado durante la 1era generación estaba ya disponible comercialmente para la segunda
generación. Los programas escritos para una computadora podían transferirse a otra con un mínimo esfuerzo.
El escribir un programa ya no requería entender plenamente el hardware de la computación. El idioma era
COBOL un programa Orientada al Negocio
El F ORTRAN era un programa de alto nivel con fines de resolver problemas de ingeniería complejos.
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 sortware 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. Pero el problema "constante" es que ninguna solución para el uso de los
programas es "constante". Cada nuevo programa requiere aprender nuevos controles, nuevos trucos, nuevos
menús. Se empieza a sentir que la relación usuario-PC no está acorde con los desarrollos del equipo y de
la potencia de los programas. Hace falta una relación amistosa entre el usuario y la PC.
En 1962 los primeros programas gráficos que dejan que el usuario dibujara interactivamente en una pantalla
fue desarrollado por Ivan Sutherland en MIT. El programa, llamado "Sketchpad," usó una pistola de luz para la
entrada de gráficos en una pantalla CRT.
En 1951, Grace Murray Hooper (1906-1992) da la primera noción de compilador y más tarde desarrolla
el COBOL. Pero fue John Backus, en 1957, el que desarrolla el primer compilador para FORTRAN. En
1958, John MacCarthy propone el LISP, un lenguaje orientado a la realización de aplicaciones en el
ámbito de la Inteligencia Artificial. Casi de forma paralela, Alan Perlis, John Backus y Peter Naur
desarrollan el lenguaje ALGOL.
Almacenamiento:
En 1957 se produce el primer disco magnético RAMAC 650 de IBM. Las computadoras de la segunda
generación utilizaban redes de núcleos magnéticos en lugar de tambores giratorios para el almacenamiento
primario. Estos núcleos contenían pequeños anillos de material magnético, enlazados entre sí, en los cuales
podían almacenarse datos e instrucciones.
Aplicaciones:

En el año 1.957, surge la idea de automatizar el censo poblacional, ya que en la ultima oportunidad que se
había realizado (1.880), se tardaron unos siete años para obtener los resultados finales, ya que el proceso se
realizó manualmente, por lo que se deducía que el próximo censo tardaría mas de diez años debido al
crecimiento poblacional. El gobierno de los Estados Unidos decide convocar un comité que se encargue de la
realización de dicho proceso, se presentaron tres propuestas, adjudicándose el trabajo a Herman Hollerith, el
cual aplicó el principio de las tarjetas perforadas para el almacenamiento de datos.
Las computadoras de la 2da Generación eran sustancialmente más pequeñas y rápidas que las de bulbos, y
se usaban para nuevas aplicaciones, como en los sistemas para reservación en líneas aéreas, control de
tráfico aéreo y simulaciones para uso general. Las empresas comenzaron a aplicar las computadoras a tareas
de almacenamiento de registros, como manejo de inventarios, nómina y contabilidad.
La marina de EU. utilizó las computadoras de la Segunda Generación para crear el primer simulador de vuelo.
Principales Representantes:
El primer ordenador a transistores fue el 1401, construido por IBM, que salió al mercado en 1960.
Algunas de las máquinas que se construyeron en esta época fueron la TRADIC, de los Laboratorios
Bell (donde se inventó el transistor), en 1954, la TX-0 del laboratorio LINCOLN del MIT y las IBM 704,
709 y 7094. También aparece en esta generación el concepto de supercomputador, específicamente
diseñados para el cálculo en aplicaciones científicas y mucho más potentes que los de su misma
generación, como el Livermore Atomic Research Computer (LARC) y la IBM 7030.
Whirlwind I). HoneyWell se colocó como el primer competidor durante la segunda generación de
computadoras. Burroughs, Univac, NCR, CDC, HoneyWell, los más grandes competidores de IBM durante los
60s se conocieron como el grupo BUNCH.

Leer más: http://www.monografias.com/trabajos23/segunda-generacion/segunda-


generacion.shtml#ixzz4KAWnRQBj

Vous aimerez peut-être aussi