Presentan:
Gracía Fragoso Nestor Abdy Benitez Benitez Rosas Adrian Adrian
Lenguajes de programación Materia: Lenguajes
Grupo: 4
Historia Nom No mbre origina origina l: IAL (International (Internatio nal Algorith Algorithmic mic Language) Language) Principa Principales les colaborador colabora dores: es: John Jo hn Backus y Peter Pete r Naus Na us Paradigma: Imeprativo Fecha de desarrollo : Años 50’s ALGOL (es una una famili familiaa de impera imperativo tivo lenguaje enguaje infor nform mático át ico de programación s desarroll desa rrollado ado origin originaa lmente lme nte en los años 1950 195 0 específ espe cíficame icamente nte para la la programació programación n de cálculos cálculos científicos científicos que se convi convirtió rt ió en la forma forma estándar de facto para inf infor orm mar algoritmos algoritmos en papel pape l durante casi c asi los los próxi pró xim mos 30 años. Fue diseñado por un Com Co mité Internacio Internacio nal para ser un un lengu lenguaje aje uni universa vers a l. Su Conf Co nferencia erencia origin originaa l, que tuvo tuvo lugar lugar en Zurich Zurich para evitar evitar algun algunos os de los los problemas problemas percibi perc ibidos dos con FORTRAN y, finalmen finalmente, te, ALGOL utiliza utiliza entre corchetes corc hetes bloques de declaración y fue fue el primer primer lengu lenguaje aje para comen c omenzar zar a utilizar utilizar pares pare s fi final para la la delimi delimita tacc ió n de ellos. ellos. Fue uno uno de los primeros primeros intentos intentos formales formales para abord a bordar ar la la cuestión cuestión de la portabili porta bilidad dad de software Hay tres ramas ramas prin p rincipa cipales les de la famili familiaa oficial oficial ALGOL: ALGOL 58, ALGOL 60 y ALGOL 68. De éstos, éstos , ALGOL 60 fue fue el más amplia amplia me nte conocido en el Estado Estadoss Unidos. Unidos. Niklaus Wirth basó bas ó su Algol Algol propi prop ia-W a- W en Algol Algol 60, antes de pasar pasa r a desarroll desa rrollar ar Pascal. Pas cal. Algol-W Algol-W iba a ser la la próxim próxima generación ALGOL, pero pe ro el ALGOL ALGO L 68 Comi Co mité té decidió decidió en un diseño que que era más complejo y avanzado en lugar lugar de una lim limp p ieza, la simplifica simplificacc ión ió n de ALGOL 60. 60 . La versión versión oficial oficial de ALGOL ALGO L se nombra nombra después de spués del d el año de su primera primera publicac publicac ión. ALGOL 58, fue fue conocida como la la IAL (International (Internatio nal Language Language Algorith Algorithmic mic)) . ALGOL fue fue desarro de sarroll llado ado conjuntamente conjuntamente por un comité comité de científic científic os de la computación Europe Europeaa y Estados Unidos Unidos.. Se especif espe cifican ican tres sintaxis sintaxis diferentes diferentes:: una una sintaxis sintaxis de referencia, referencia, una una sintaxis sintaxis de la publicació publicación, n, y de una una sintaxis sintaxis de aplicació aplicación. n. La sintaxis sintaxis diferentes diferentes permite permite utilizar utilizar nombres nombres de palabras clave diferente diferentess y convencio convencio nes para los los puntos puntos decim de cimales ales (coma frente frente a perí per íodos) odo s) para p ara diferente diferentess idiomas. idiomas. John Back Backus us desarrol desarro lló la Backus métod método o de la forma forma normal de d e describi desc ribirr los lengu lenguaje ajess de programación específ espe cíficame icamente nte para ALGOL 58. Ha Ha sido sido revisado revisado y ampliado ampliado por Peter Naur a la Backus-Na Backus- Naur ur para Algol Algol 60. 60 . Tanto John Jo hn Backus Back us y Peter Pe ter Naur Na ur sirvió sirvió en el comité comité que creó ALGOL 60, 60 , al igual igual que Wall Wally y Feurzeig Feurzeig que más más tarde crearon Pascal. Aunque Aunque ALGOL nunca nunca al a lcanzó los nivel niveles es de popul pop ularidad aridad comercial de otros leng lenguajes, uajes, como COBOL CO BOL y FORTR FO RTRAN, AN, es considerado el lengu lenguaje aje más impo importante rtante de su era, en términos términos de su inf influenc luencia ia en el desarroll desa rrollo o posterior pos terior de lengu lenguajes. ajes. Las estructuras si s intácticas y lexicográ exicográficas ficas de ALGOL, fueron tan ta n popul pop ulares ares que virtualme virtualmente nte todos todo s los los lengu lenguaje ajess que se han diseñado después, desp ués, se les refiere refiere como 'tipo ALGOL', es decir, que son jerárqui jerárq uicos cos en estructura, con ambiente ambiente y estructuras de control anidad anidados. os. El segundo segundo gran lengu lenguaje aje de programación de la era informátic informática; a; FORTR FO RTRAN AN fue el primero. primero. ALGOL intentó intentó mejorarlo ejora rlo cuidando cuidando especial espe cialm me nte su sintaxis sintaxis y proporc prop orcion ionando ando una una estructura modular. El resultado fue fue un lengu lenguaje aje demasiado abstracto y general.
Biografia de Peter Naur y John Backus John Warner Backus John Warner Backus (3 de diciembre diciembre de 1924 192 4 – 17 – 17 de marzo marzo de 2007) fue un científico científico de la computació computación. n. Dirigió Dirigió el equi equipo po que inventó inventó la primera amplia amplia me nte utilizad utilizado o el lenguaje lenguaje de programació pro gramación n de alto niv nivel el (FORTR (FO RTRAN) AN) y fue fue el invento nventorr de la forma forma de BackusBackus - Naur Na ur (BNF). El IEEE Premio Premio Backus W.W. W. W. McDowell en 1967 196 7 para el desarroll desa rrollo o de FORTR FO RTRAN. AN. Backus nació en Phil Philadelphia ade lphia,, Pennsylva Pennsylva nia y creció en cerca de Wilmingto Wilmingto n, Delaware. Se graduó de d e la Univers Universiidad de Colu Co lum mbia con una maestría maestría en matemáticas durante 1949 194 9 y se uni unió a IBM en 1950. 195 0. Backus Backus desarrolló desarrolló la Backus-Naur Backus- Naur Form F orm (BNF), en el infor nform me de la la UNESCO UN ESCO sobre ALGOL ALGOL 58. 58 . Backus pasó p asó la la última última parte de su carrera carre ra en e n el desarroll des arrollo o de FL (a partir de "ni "nivel vel de la la función"), función"), un suceso sucesorr FL FP. Backus fue fue nombrado un miem miembro bro de IBM IBM en 1963, 196 3, [7] Se retiró retiró en 1991 y murió urió en su casa en e n Ashland, Ashland, Oregon, Or egon, el 17 de marzo marzo de 2007. Peter Naur Peter Pete r Naur (nacido el e l 25 de octubre de d e 1928), 192 8), es un científico danés pionero pionero en informátic informáticaa y ganador del Premio Premio Turing en 2005. 200 5. La N de la notación BNF, BNF , usada en la la descri descr ipción de la sintaxis sintaxis de la la mayoría mayoría de los los lenguajes lenguajes de program pro gramació ación, n, se usa en alusión alusión a su apellido. apellido. Naur Na ur contribuyó contribuyó en la creación del d el lengu lenguaje aje de programación Algol Algol 60 A Naur no le agrada agrad a el concep concepto to Ciencia de la la computació computación n ("Computer Science" Science" en en ingl inglés és)) y sugiere sugiere llamar llamarlo lo Datalogía Datalogía ("Datalo ("Datalo gy" en ingl ingléé s). Trabajó en el Regnecentra Regnecentrale len n en el Institu Instituto to N iels Bohr y en la Univ Univers ersidad idad Técnica Técnica de Dinam Dinamarca. arca. De 1968 196 8 a 1998 199 8 trabajó trabajó como profesor en la la Univers Universiidad de Copenhagu Co penhague. e. Es conocido por su crítica crítica al uso uso de los métod métodos os formales formales en programación. Critica Critica igualmente igualmente a psicólogos que todaví toda víaa se basan basa n en teorías del conductismo y el constructivis constructivis mo. En los úl últimos timos años ha ha estado desarroll desarr ollando ando una una teoría del pensamie pensamie nto hum humano que ha denominado denominado Teoría SinapsisSinapsis-Estado Estado de Vida Mental ("The ("The Synapse- State Theory of Mental Life" Life" en ing inglés). lés).
Versiones anteriores ALGOL El segundo segundo gran lengu lenguaje aje de programación de la era infor nform má t ica; FORTR FO RTRAN AN fue fue el primero. primero. ALGOL intentó intentó mejorarlo ejora rlo cuidando especial espe cialm me nte su sintaxis sintaxis y proporcionando prop orcionando una una estructura modular. modular. El resultado fue un un lengu lenguaje aje demasiado abstracto abstr acto y general. general.
ALGOL - 58 (IAL) (IAL) [1958] [195 8] Un comité comité de expertos europeos europeo s y americanos americanos lo defi d efini niero eron n en sólo tres días en Zuri Zurich. ch. Su denomi denominaci nac ió n origin originaa l era IAL (International (Internatio nal Algebraic Algebraic Language). Language). ALGOL 58 incorp incorporó oró bucles. Hasta Has ta entonces los programas eran de estructura plana, secuenci sec uencial, al, como los los realizados realizados en ensamblado ensamblador. r. La publicac publicac ió n del infor nform me preliminar preliminar de ALGOL 58 en Com Co mmunica unicatt io ns of the the ACM despertó mucho mucho interés en el lengu lenguaje aje ALGOL. Tras varias varias reuniones, reuniones, tanto en Europa como en EEUU, se llllegaría egar ía a ALGOL 60. ALGOL - 60 [1960] Se define define en una una reunión reunión en París, poster p osterior ior al Congreso de d e la I.F.I.P I.F. I.P.. (Int'l Federation Fed eration of o f Informatio Informatio n Processing Pro cessing)) en París, del d el 11 al 16 de enero de d e 1960. 196 0. Para esta reunión reunión se seleccionaron seleccionaro n a siete representantes repre sentantes europeos europeo s y a otros siete americanos, americanos, aunque aunque uno uno de ellos ellos (William (William Turanski) Turanski) murió urió antes de que la reuni reunión llegase llegase a celebrarse. celebrarse . ALGOL 60 es un un lengu lenguaje aje implementab implementab le que se convirt convirtió ió en un estándar p ara la descripción de algoritmos: algoritmos: utilizado utilizado principalme principalmente nte sobre sob re papel pap el (mun (mundo do académi acad émico co y de investigac investigación). ión). Se utilizó utilizó bastante basta nte en Europa.
ALGOL 60 inició inició varias varias tradiciones, incluyendo incluyendo el uso uso de la notación BNF, BNF , propuesta prop uesta por John Backus, para p ara especifi esp ecifica carr la sintaxis y el empleo adiciona adicionall de BNF BNF para para organizar el manual manual de referencia refere ncia del del lenguaje. lenguaje. Después se descubri desc ubrió ó que Panini Panini había usado usad o una una notación notac ión simil similaa r a la BNF entre el 400 y el 200 a.C. a.C . para describi desc ribirr las complejas complejas reglas reglas de d e la gramática gramática del sánscri sá nscrito to (P.Z.Ingerm (P. Z.Ingermaa n: Panini-Back Panini-Back us form suggested suggested,, Com Co mmunica unicatt io ns of the ACM 10:3, pág.137, pág.1 37, 1967). 1967 ). La La semántica semántica del lengu lenguaje aje seguía seguía describi desc ribiéndose éndose en lenguaje natural. ALGOL 60 introdujo introdujo la recursión: "Cualquier "Cualquier aparici apa rición ón de un identificado identificado r de procedimi proc edimiee nto dentro del cuerpo del procedim proce dimiie nto, exepto una aparición en la la parte part e izqui izquierd erdaa de un enunciado enunciado de asignación, asignación, denota la procedimie nto” nto ” . activación activación del procedimi ALGOL 60 también también introdujo introdujo la decl dec laración arac ión explícita explícita del tipo tipo de las variables, variables, las reglas reglas de ámbito para variables variables local oca les, el paso de parám pará metros por referencia, referencia, la estructura de bloque y las mat matrices rices de tamaño tamaño dinámico. dinámico. ALGOL 60 incluye incluye estructuras de control condici c ondiciona onales les del tipo ifif-then-e then-else lse y bucles for. Aunque Aunque proporciona prop orciona constructores co nstructores de flujo flujo de control estructurados, estructurado s, mantiene antiene (al igual igual que casi todos sus sus derivados) el enunciado enunciado goto, cuya cuya naturaleza naturaleza dañina dañina para la la comprensió comprensió n y modificació n de programas es clara. ALGOL 60 también también tenía tenía algun algunas as característi cara cterísticas cas que no siempre siempre se han han recogido recogido e n lengu lenguajes ajes posteriores, poste riores, como las declaraciones own (similare (similaress a las variables variables static de d e C) o las expresiones switch (muy (muy dif d iferentes erentes a las estructuras de control switch s witch de C). C) . Pero ALGOL 60 6 0 tenía tenía sus s us limitac imitaciones. iones. Las matrices matrices eran la única única estructura de datos. La estructuración estructurac ión en bloques de ALGOL se puede utilizar utilizar de forma forma que produz prod uzca ca la pérdida pér dida de datos dato s intermedios intermedios cuando se produce pr oduce la salida salida de d e un bloque. Por otra parte, parte , la la definició definición n original original de ALGOL 60 tenía tenía ambigüedad ambigüedades es que se trataron trataro n de resolver resolver en una una reunión reunión en Roma Roma (abril de 1962), aunque aunque no en ella ella no se soluciona solucionaro ron n todos todo s los problem prob lemas. as. ALGOL 60 es un un hito hito import importante; ante; basta basta observar la gran cantidad cantidad de lengu lenguajes ajes que de él se derivan: derivan : PASCAL, PASC AL, MODULA-2, MODULA-2, C, ADA. ADA.
ALGOL - 68 [1968] Tercera revi re visión sión de ALGOL. ALGOL. Van Va n Wijngaarde Wijngaarden n (EEUU) proponí prop oníaa aam mpliar pliar ALGOL, crear crea r un "ALGOL Generalizado Generalizado ". Se basaba basa ba en la la idea idea de que la la com co mplejidad plejidad de los lengua engua jes era la causa ca usa de sus sus lim limiitac ta c io nes. La premisa premisa de que un lengu lenguaje aje no debería deb ería estar enterrad enterrado o entre reglas reglas sintáctic sintácticas, as, sino sino apoyado apo yado por ellas, ellas, condujo a un lengu lenguaje aje en el que un fall fallo o en la lógica lógica de un programa era prácti prác ticamente camente indetectable. ndetecta ble. Por otra parte, Niklaus Wi W irth prefería si s implificar plifica r el lengu lenguaje aje para que resultase más operativ ope rativo. o. Wirth consideraba considerab a un error considerar una una característi cara cterística ca esencial de un lengu lenguaje aje de alto nivel nivel la capacidad cap acidad de expres expresar ar un programa de la forma más breve posible. ALGOL 68 se ha util utilizado izad o muy poco, poc o, en parte debido de bido a que su informe informe origin originaa l utilizaba utilizaba una una terminolo terminología gía nueva nueva y era difí difíc il de leer. leer. Por ejemplo, ejemplo, llama lama modos odo s (modes) a los tipos de datos y unidades unidades (uni (units) a las expresiones. No obstante, obstante, ALGOL 68 fue fue decisi dec isivo vo para la la aparici apa rición ón de Pascal. Pasc al. El lenguaje enguaje incorpora ncorpo ra un conjunto conjunto relativamen relativamente te pequeño peq ueño d e conceptos conceptos ortogonales. Se minimizan las restricciones acerca acerc a del uso combin combinado ado de sus distinta distintass característi carac terísticas. cas. Proporc Pro porcion ionaa recursos re cursos para estructurar datos, dato s, similares similares a los que se pueden encontrar enco ntrar en lenguaje enguajess derivados de de ALGOL ALGOL 60 6 0 como Pascal, C o ModulaModula-2. 2. Permite Permite sobrecarga de operadores y colocar una una declaraci d eclaración ón en cualqui cualquie r lugar ugar donde d onde pueda aparecer aparec er un un enun enunciado ciado (como en C+ C++). +). ALGOL 68 utilizó utilizó la notación VWF VW F (van Wijngaarde Wijngaarden n Form For m) para definir definir su sintaxis sintaxis e ingl inglés és semi-form semi-for ma l para especif espe cificar icar su semántica. semántica. La notación util utilizada izad a es más com co mpleta y adecuada para pa ra la la definició definición n de un lengu lenguaje aje de programación que la BNF. ALGOL W (Wirth) [1966] Versión de ALGOL 60 desarroll desa rrollada ada en el E.T.H. de Zurich Zurich por Niklaus Wirth. Wirth. Los recursos para la la estructuraci estructurac ió n de datos dato s se mejoraron. ejora ron. "Los úni únicos cambios cambios a los recursos, relacionados relacionados con el control de secuencias, han sido sido en dirección de su simplif simplificació icació n y clarificació clarificació n, más que en cuanto su ampliació ampliación". n". Es el antecesor directo De Pascal
Áreas de aplicación ALGOL fue fue util utilizado izad o principa principalm lmee nte por científicos científicos del equipo de investigac investigac ió n en los Estado Estadoss Unidos Unidos y en Europa. Su uso en aplicacio aplicaciones nes comerciales comerciales se vio vio obstacul obst aculizada izada por la ausencia ausencia de instalaciones nstalacio nes de entrada y salida salida estándar en su descripci desc ripción ón y la falta falta de interés interés en el lengu lenguaje aje por proveedores proveed ores de equipo grande. sin embargo se convirt convirtió ió en el estándar para p ara la la publicació publicación n de algoritmos algoritmos de ALGOL 60 y tuvo tuvo un profundo profundo efecto sobre sob re el desarroll desa rrollo o futuro futuro del lengu lenguaje. aje.
Palabras reservadas Hay 35 palabras reservadas en el sub Burroughs estándar B6700-language:
ALPHA, ARRAY, BEGIN, BOOLEAN,
COMMENT, CONTINUE, DIRECT, DO, DOUBLE, ELSE, END, EVENT, FALSE, FILE, FOR, FORMAT, GO, IF, INTEGER, LABEL, LIST, LONG, OWN, POINTER, PROCEDURE, REAL, STEP, SWITCH, TASK, THEN, TRUE, UNTIL, VALUE, WHILE, ZIP.
Hay 71 identificad identificador ores es restringidos restringidos en la sub Burroughs estándar B6700-language :
ACCEPT, AND, ATTACH,
BY, CALL, CASE, CAUSE, CLOSE, DEALLOCATE, DEFINE, DETACH, DISABLE, DISPLAY, DIV, DUMP, ENABLE, EQL, EQV, EXCHANGE, EXTERNAL, FILL, FORWARD, GEQ, GTR, IMP, IN, INTERRUPT, IS, LB, LEQ, LIBERATE, LINE, LOCK, LSS, MERGE, MOD, MONITOR, MUX, NEQ, NO, NOT, ON, OPEN, OR, OUT, PICTURE, PROCESS, PROCURE, PROGRAMDUMP, RB, READ, RELEASE, REPLACE, RESET, RESIZE, REWIND, RUN, SCAN, SEEK, SET, SKIP, SORT, SPACE, SWAP, THRU, TIMES, TO, WAIT, WHEN, WITH, WRITE y también los nombres de todas las funciones intrínsecas.
Ejemplos Descripción: Este programa muestra el texto de salida salida de la funci funció ó n de la ALGOL lengu lenguaje aje de programación por mostra mostrarr el mensaje "¡ Hola Hola mundo! mundo!"". Este código código se ejecuta en un mainframe ainframe de serie Unisys Unisys (Burroughs). (Burroughs). Código fuente // the main program (this is a comment) BEGIN FILE F (KIND=REMOTE); EBCDIC ARRAY E [0:11]; REPLACE E BY "HELLO WORLD!"; WHILE TRUE DO BEGIN WRITE (F, *, E); END; END.
Descripción Este programa calcu c alcula la el promedio promedio (media) (media) del valor valor absolu abso luto to de un vector. Código fuente // the main program (this is a comment) begin integer N; Read Int(N); begin real array Data[1:N]; real sum, avg;
integer i; sum:=0; for i:=1 step 1 until N do begin real val; Read Real(val); Data[i]:= if val<0 then -val else val end ; for i:=1 step 1 until N do sum:=sum + Data[i]; avg:=sum/N; Print Real(avg) end end
Descripción Este program pro gramaa hace la la conversion de grados Celf C elfarenheit arenheit a Celsius Celsius Código fuente fahrenheit begin real fahr; print ("Enter Fahrenheit "); read (fahr); print ("Celsius is ", (fahr-32.0) * 5.0/9.0); end finish
Campo laboral No existe existe campo laboral labora l para algol algol ya que nunca nunca se s e comercializo. comercializo .
Bibliografía
fransiner.galeon.com/HISTORIA.HTML groups.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html