No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

D茅cada de los 50: Fortran y Algol

15/21
Recursos

En la D茅cada de los 40. Aparecieron los primeros lenguajes para comunicarnos con las m谩quinas, pero ten铆an ciertas limitaciones t茅cnicas.

Entonces en los 50 aparecieron los primeros lenguajes de alto nivel (conocidos como trhid generation languages, o 3GL), que se caracterizan por ignorar las limitaciones del hardware y manejar el concepto de portabilidad. A partir de estos lenguajes nacieron otros que veremos en las pr贸ximas clases, pero鈥

驴Por qu茅 hay tantos lenguajes de programaci贸n?

Hoy en d铆a, a diferencia de los 50, vemos una gran variedad en lenguajes de programaci贸n. Y es que hay lenguajes que cumplen distintos prop贸sitos, ya sea:

  • Prop贸sitos netamente comerciales
  • Aplicaciones espec铆ficas
  • Nuevas metodolog铆as de trabajo
  • Implementaciones como desarrollador
  • Usar nuevos paradigmas

Muchos lenguajes m谩s modernos son descendientes de los lenguajes de los 50.

Lenguajes de programaci贸n de los 50

Entre los lenguajes m谩s conocidos desarrollados en esta d茅cada encontramos

Fortran (1957)

Desarrollado por IBM y John Backus, el principal uso de FORTRAN era en trabajos num茅ricos y cient铆ficos, en la m谩quina IBM 704. Es un lenguaje utilizado (en menor medida) hoy en d铆a. Sus versiones actuales implementan las estructuras de control, funciones, memoria din谩mica, comentarios y sub-rutinas. A continuaci贸n podemos ver un ejemplo de c贸digo en FORTRAN.

Fortran code

ALGOL (1958-1960)

ALGOL es una familia de lenguajes que hace uso de notaciones matem谩ticas, gram谩ticas generativas y estructuras de control. Aqu铆 vemos un ejemplo de ALGOL.
ALGOL ejemplo

Contribuci贸n creada por: Ciro Villafraz con los aportes de Valentina Barrios.

Aportes 30

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

De hecho es gracioso que cuando vemos lenguaje ensamblador decimos: 鈥淨ue es eso Neta con eso se programaba? Que horrible!鈥, pero la verdad es que en esos tiempos estos lenguajes eran lo mejor porque ya trabajabas con algo que pod铆as entender m谩s f谩cil que simplemente puro binario jaja
.
Los lenguajes tienen muchas aplicaciones, y de hecho siempre se desarrollan nuevos lenguajes para diversas cosas m谩s espec铆ficas, y como dijo el profesor, Platzi tiene su propio lenguaje, y tambi茅n un curso en donde lo desarrollamos 馃憖馃憞
.
Curso de Creaci贸n de Lenguajes de Programaci贸n: Int茅rpretes

馃枼锔 El UNIVAC fue el primer computador comercial , lanzado en 1951. Con este computador aparece por primera vez la figura del programador.

D茅cada de los 50: Fortran y Algol

En la D茅cada de los 40 Aparecieron los primeros lenguajes para comunicarnos
con las m谩quinas pero ten铆an ciertas limitaciones t茅cnicas.

Luego

El principio de los 50 aparecieron los primeros lenguajes de alto nivel,
se caracterizaban por ignorar las limitaciones del hardware y que ahora se maneja el concepto de portabilidad.

Primeras M谩quinas

  • 麓El UNIVAC麓
    Fue la primera computadora comercial fabricada en Estados Unidos,
    entregada el 31 de marzo de 1951 a la oficina del censo.

Fue dise帽ada principalmente por J. Presper Eckert y John William Mauchly,
autores de la primera computadora electr贸nica estadounidense,
la ENIAC. Durante los a帽os previos a la aparici贸n de sus sucesoras,
la m谩quina fue simplemente conocida como 鈥淯NIVAC鈥.

Con este computador aparece por primera vez la figura del programador.
Se don贸 finalmente a la universidad de Harvard y Pensilvania.

  • 麓IBM 704麓
    Solo emitieron 5 en el mundo.
    La m谩quina IBM 704 fue la primera computadora producida en
    masa con hardware basado en aritm茅tica de coma flotante,
    introducida por IBM en abril de 1954.

La 704 mejor贸 significativamente a la IBM 701,
y en t茅rminos de arquitectura e implementaci贸n
se puede decir que no fue compatible con su predecesora

Porque hay tantos lenguajes de programaci贸n:

  • Netamente comercial
  • Aplicaciones espec铆ficas
  • Nuevas metodolog铆as de trabajo
  • Implementaciones como desarrollador
  • Nuevos Paradigmas

Primeros lenguajes de programaci贸n

Fortran 1957

  • Desarrollado por IBM y John Backus
  • Uso de tarjetas perforadas de 80 columnas.
  • Uso del GOTO.
  • Uso en trabajos num茅ricos y cient铆ficos.

ALGOL58-60 1960

  • Uso de anotaciones matem谩ticas.
  • Gram谩ticas generativas
  • Estructura de control

El viejo Fortran. Yo aprend铆 programaci贸n en Fortran en la Facultad de Ciencias y escrib铆 mis dos tesis escribiendo programas en Fortran.
Todavia es com煤n lenguaje com煤n en especial para hacer simulaciones num茅ricas de alto rendimiento en el 谩mbitos cient铆ficos. Aunque ya hay una tendencia de cambiar a lenguajes m谩s nuevos como Python o Julia.

no se cual fue la primera compuradora, pero si se cual sera la ultima:

SKYNET!!!
馃槜

Existen lenguajes que su sintaxis es parecida por ejemplo; Java y C#

El reporte anual de StackOverflow nos da una buena idea de los lenguajes y las tecnolog铆as m谩s utilizados y mejor pagos en la actualidad.

Para el a帽o 2020 encuestaron 65.000 desarrolladores a nivel mundial para este reporte.

Puedes conocer el reporte completo en este link.

Los lenguajes m谩s usados en 2020 seg煤n el reporte de StackOverflow:

Recuerdo que en la Universidad en la clase de Microprocesadores aprend铆 a programar en Assembler.

1950 Lenguajes de ensamblaje
鈥淟os lenguajes de ensamblaje permitieron al programador escribir instrucciones usando s铆mbolos y letras en lugar de c贸digos de operaci贸n binarios en un programa fuente. El ensamblador luego traduce estas instrucciones escritas simples en lenguaje de m谩quina en un programa objeto鈥. Los lenguajes de ensamblaje tienen una serie de ventajas en comparaci贸n con el lenguaje de m谩quina
son m谩s f谩ciles y r谩pidos en ser escritos;
De depurar (encontrar y corregir errores);
De cambiar en una fecha posterior.
tambi茅n tienen un inconveniente importante. Debido a que la comunicaci贸n se lleva a cabo directamente con la m谩quina, cada lenguaje de ensamblaje est谩 dise帽ado para una marca espec铆fica y el modelo de procesador de la computadora. un programa escrito para ejecutarse en una computadora no funcionar谩 en otra. Por lo tanto, se dice que los lenguajes de ensamblaje est谩n orientados a la m谩quina. El direccionamiento simb贸lico era otro elemento importante de los lenguajes de programaci贸n m谩s novedosos. El direccionamiento simb贸lico implicaba el uso de s铆mbolos para representar la asignaci贸n de direcciones de almacenamiento a datos. Los programadores pod铆an, as铆, crear nombres simb贸licos para representar los elementos de datos y estos nombres pod铆an ser utilizados a lo largo de un programa. Los programadores ya no ten铆an que asignar direcciones de m谩quina reales a elementos de datos simb贸licos. El procesador asigna autom谩ticamente esas ubicaciones de almacenamiento cuando el programa es ejecutado. En los cincuenta, los tres primeros lenguajes de programaci贸n modernos son:
鈥 FORTRAN (1955), creado por John Backus.
鈥 LISP (1958), creado por John McCarthy.
鈥 COBOL (1959), creado por el Short Range Committee, altamente influenciado por Grace Hopper.
Otro hito a finales de 1950 fue la publicaci贸n, por un comit茅 Americano y Europeo de cient铆ficos de la computaci贸n, de un nuevo 鈥渓enguaje para algoritmos鈥; el Reporte de ALGOL 60 (鈥淎LGOrithmic Language鈥). Este reporte consolid贸 muchas ideas que estaban circulando en aquel entonces, y proporcion贸 dos innovaciones importantes para los lenguajes de programaci贸n:
Estructuras de bloques anidadas: las secuencias de c贸digo y las declaraciones asociadas se pueden agrupar en bloques sin tener que pertenecer expl铆citamente a procedimientos separados;
脕mbito l茅xico: un bloque puede tener sus propias variables, procedimientos y funciones, invisible al c贸digo fuera de dicho bloque, por ejemplo, ocultamiento de informaci贸n. Otra innovaci贸n, relacionada con esto, fue c贸mo el lenguaje fue descrito:
Una notaci贸n matem谩tica exacta, Backus-Naur Form (BNF), fue utilizada para describir la sintaxis del lenguaje. Todos los subsecuentes lenguajes de programaci贸n han utilizado una variante de BNF para describir la porci贸n libre del contexto de su sintaxis. Algol 60 influenci贸 particularmente en el dise帽o de lenguajes posteriores, de los cuales algunos se hicieron m谩s populares. Los grandes sistemas de Burroughs fueron dise帽ados para ser programados en un subconjunto extendido de Algol.
Las ideas fundamentales de Algol se continuaron, produciendo Algol 68:
la sintaxis y la sem谩ntica se hizo a煤n m谩s ortogonal, con rutinas an贸nimas, un sistema de tipificaci贸n recursiva con funciones de orden superior, etc.; y no s贸lo la parte libre del contexto, sino que tanto la sintaxis como la sem谩ntica del lenguaje completo fueron definidos formalmente, en t茅rminos de una gram谩tica de Van Wijngaarden, un formalismo dise帽ado espec铆ficamente para este prop贸sito. Las variadas pero poco usadas caracter铆sticas de Algol 68 (por ejemplo, bloques simult谩neos y paralelos) y su complejo sistema de atajos sint谩cticos y coerciones autom谩ticas de tipo lo hicieron impopular entre los ejecutores y se gan贸 una reputaci贸n de ser dif铆cil. Niklaus Wirth sali贸 del comit茅 de dise帽o para crear el sencillo lenguaje Pascal. Hasta finales de los a帽os 50, las computadoras todav铆a se usaban principalmente para el c谩lculo matem谩tico y cient铆fico. Las computadoras utilizaron la aritm茅tica binaria y no fue hasta que las m谩quinas fueron desarrolladas para usar la aritm茅tica decimal que comenzaron a ser pr谩cticas para los c谩lculos de negocio. era un trabajo largo y dif铆cil los programas a menudo no funcionaban. El creciente reconocimiento del uso potencial de las computadoras en muchos campos llev贸 a la evoluci贸n de los lenguajes de programaci贸n modernos, que se volvieron m谩s f谩ciles de desarrollar, usar y modificar.

D茅cada de los 50: Fortran y Algol

Lenguajes de alto nivel

Se caracterizan por poseer portabilidad, es decir, que ignoraba las caracteristicas del hardware. A diferencia del lenguaje ensamblador.
Cabe mencionar que ya se empezaban a parecer mucho m谩s al lenguaje humano, es decir, pueden a llegar a ser legibles por una persona.
A estos se les conoci贸 como la tercera generaci贸n de lenguajes (3GL)

Fortran

Fortran fu茅 el primer lenguaje de alto nivel imperativo. Su principal uso en esa decada fue para aplicaciones n煤mero-cient铆ficas para la IBM 704. Posteriormente se utiliz贸 para estructuras de control, funciones, memoria din谩mica, comentarios y sub-rutinas.

Algol

Algol nace en 1960, se basa principalmente en acercar su notaci贸n a las matematicas. Sus contribuciones fueron el pasar parametros por nombres, estructuras de bloques y gramatica generativa.

se imaginan aprender como primer lenguaje de programaci贸n fortran hahaha

馃槂

Al 2022 segun stack overflow esta JavaScript liderando.
aqui el link: https://survey.stackoverflow.co/2022/#most-popular-technologies-language-prof

Para elegir un lenguaje de programaci贸n tambi茅n hay que tener en cuenta el objetivo
.
Por ejemplo JavaScript si quieres ser un desarrollador y desarrolladora web.

  • Python cient铆fico de datos, etc

1951 - Regional Assembly Language
Grace Hopper , trabajando para Remington Rand, comenz贸 el trabajo de dise帽o del primer compilador el A-0, el cual, al ser liberado por la compa帽铆a en 1957, lo hizo con el nombre de MATH-MATIC.

1952 - Autocoder
Alick E. Glennie, durante su tiempo libre en la Universidad de Manchester, concibe un sistema de programaci贸n llamado AUTOCODE, que viene a ser un compilador muy rudimentario.

1954 - IPL (precursor de LISP)
1955 - FLOW-MATIC (precursor de COBOL)

1957 - FORTRAN el primer lenguaje de programaci贸n real
aparece FORTRAN (FORmula TRANslating) sistema traductor de f贸rmulas matem谩ticas, para la computadora IBM 704. desarrollado por un equipo, liderado por John Backus (desarrollo del compilador para ALGOL y de la notaci贸n BNF (Backus Naur Form)). En 1954, John Backus comenz贸 a dirigir un comit茅 patrocinado por IBM para desarrollar un nuevo lenguaje de programaci贸n cient铆fico-matem谩tico. En el 57, inventa el primer lenguaje de programaci贸n de alto nivel, el primero que utilizaron los programadores reales, Fortran. Fue un lenguaje que surgi贸 como v铆a de escape de Backus para 鈥樷榯rabajar menos鈥欌 en su tarea de calcular trayectorias de misiles, ya que el lenguaje, y el compilador, eran capaces de hacer el trabajo mucho m谩s r谩pido. FORTRAN gan贸 amplia aceptaci贸n, especialmente entre los cient铆ficos y los estad铆sticos, debido a su utilidad para expresar las ecuaciones matem谩ticas. FORTRAN inclu铆a algunas palabras reservadas provenientes del Ingl茅s, como 鈥淚F鈥, 鈥淕OTO鈥 (go to) y 鈥淐ONTINUE鈥. Muchas versiones de FORTRAN se han desarrollado a lo largo de los a帽os. A medida que m谩s empresas empezaron a apreciar el potencial de las computadoras, se desarrollaron nuevos idiomas para satisfacer sus necesidades particulares.

1957 - COMTRAN (precursor de COBOL)
1958 - LISP
1959 - FACT (precursor de COBOL)

1959 - COBOL
Tras Fortran como primer compilador, lleg贸 COBOL como la culminaci贸n de varios otros sistemas de programaci贸n. El objetivo era crear un lenguaje de programaci贸n universal que pudiera ser usado en cualquier ordenador.
en los a帽os 60 hab铆a distintos ordenadores que no eran compatibles entre s铆, y de esta manera las empresas pod铆an fichar talentos sin tener que ense帽ar c贸mo usar los compiladores y diferentes lenguajes que se usaban en sus empresas.
Adem谩s, permiti贸 modernizar la inform谩tica de gesti贸n. En 1959, Grace Murray Hopper ayud贸 a crear COBOL (Common business-oriented language).
COBOL fue dise帽ado para procesar datos de negocios y durante muchos a帽os fue utilizado, en gran medida, por los seguros y la industria bancaria, entre otros.
El lenguaje ALGOL tambi茅n fue desarrollado por un comit茅 internacional para uso cient铆fico. En 1957,John McCarthy en el Massachusetts Institute of Technology desarroll贸 LISP, que fue dise帽ado para apoyar la investigaci贸n en el campo de la inteligencia artificial (Al).
A partir de los a帽os sesenta, empiezan a surgir diferentes lenguajes de programaci贸n, atendiendo a diversos enfoques, caracter铆sticas y prop贸sitos.
actualmente existen alrededor de 2000 lenguajes de programaci贸n y continuamente, est谩n apareciendo otros m谩s nuevos, que prometen hacer mejor uso de los recursos computacionales y facilitar el trabajo de los programadores.

Lenguajes de alto nivel El desarrollo de lenguajes de alto nivel fue el siguiente paso importante en la inform谩tica.
Al igual que un programa escrito en lenguaje ensamblador, un programa escrito en un lenguaje de alto nivel todav铆a necesitaba ser traducido al c贸digo de la m谩quina. Los lenguajes de alto nivel inclu铆an su propio software de traducci贸n para realizar esta tarea. El programa de traducci贸n se denomina compilador. Los compiladores a menudo generan muchas instrucciones de m谩quina para cada instrucci贸n de c贸digo fuente. Hoy en d铆a muchas computadoras personales utilizan un int茅rprete en lugar de un compilador. Un compilador traduce el programa fuente en c贸digo objeto y luego lo ejecuta. El int茅rprete convierte cada instrucci贸n de programa de origen en lenguaje de m谩quina cada vez que se ejecuta la instrucci贸n. No guarda el c贸digo objeto. Los lenguajes de alto nivel proporcionan una serie de beneficios:
liberan de preocupaciones acerca de los detalles de m谩quina de bajo nivel, como el direccionamiento de memoriay la dependencia de la m谩quina;
se pueden ejecutar en diferentes marcas de ordenadores;
son m谩s f谩ciles de usar que los lenguajes de ensamblaje;
son m谩s f谩ciles de aprender para los programadores. A continuaci贸n presentamos un ejemplo de una instrucci贸n simple que muestra el lenguaje de alto nivel, el lenguaje ensamblador y las versiones binarias.

D脡CADAS DE LOS 50s
FORTRAN Y ALGOL

.
En la decada de los 50s aparecieron los primeros lenguajes de programaci贸n de alto nivel. Estos se caracterizan por
.
ignorar las limitaciones del hardware.
Tener programas probables.
La sintaxis se parece al lenguaje de las personas.
.
Los 3GL (Thrid Generation Lenguages) poseen la mismas caracter铆sticas que el lenguaje natural.
.
En la actualidad existen mas de 100 lenguajes de programaci贸n.
.
驴Por qu茅 hay tantos lenguajes de programaci贸n?
.

  • Hardware.
  • Aplicaciones especificas.
  • Nuevas metodologias.
  • Implementaciones.
  • teorias.
    .

FORTAN
.
Fortran fue el primer lenguaje de programaci贸n que se creo en esta d茅cada en 1957. Fortran Formula Transformation fue el primer lenguaje de alto nivel imperativo desarrollado por John Backus & co. Su principal implementaci贸n eran aplicaciones cient铆fico num茅ricas utilizadas en la computadora IBM 704.
.
Posteriores versiones incluyen
.

  • Estructuras de control.
  • Funciones.
  • Memoria dinamica.
  • Comentarios.
  • Rutina principal con sub-programas.
    .

ALGOL
.
En el a帽o 1960 se define el ALGOL60 y el comite de desarrollo se mantiene, es decir, es el mismo hasta 1968 con la salida de ALGOLW
.
ALGOL58-60 acercan la programaci贸n a las matem谩ticas es decir, su notaci贸n de como se escribe el c贸digo se acerca bastante a las matematicas.
.
Contribuciones de ALGOL a la programaci贸n
.

  • Pasar par谩metros por su nombre.
  • Estructuras de bloques.
  • Gramatica generativa.

Genial!

Fortran (1957)
Desarrollado por IBM y John Backus, el principal uso de FORTRAN era en trabajos num茅ricos y cient铆ficos, en la m谩quina IBM 704. Es un lenguaje utilizado (en menor medida) hoy en d铆a. Sus versiones actuales implementan las estructuras de control, funciones, memoria din谩mica, comentarios y sub-rutinas. A continuaci贸n podemos ver un ejemplo de c贸digo en FORTRAN.

ALGOL (1958-1960)
ALGOL es una familia de lenguajes que hace uso de notaciones matem谩ticas, gram谩ticas generativas y estructuras de control. Aqu铆 vemos un ejemplo de ALGOL.

Linea por linea, este programa hace lo siguiente:

  1. La primera l铆nea indica que se est谩 iniciando un programa en Fortran.
  2. La segunda l铆nea hace uso de la palabra clave 鈥渋mplicit none鈥, la cual es usada para indicar que todas las variables deben ser declaradas expl铆citamente.
  3. La tercera l铆nea declara las variables enteras a, b y c.
  4. La cuarta l铆nea asigna el valor 1 a la variable a.
  5. La quinta l铆nea asigna el valor 2 a la variable b.
  6. La sexta l铆nea calcula la suma de a y b, y la asigna a la variable c.
  7. La s茅ptima l铆nea imprime el resultado de la suma entre a y b.
  8. La 煤ltima l铆nea indica que el programa ha finalizado.
program calcula
implicit none
integer :: a, b, c
a = 1
b = 2
c = a + b
write(,) 'La suma de a y b es: ', c
end program calcula
.

Hablemos de Fortran:

Fortran es un lenguaje de programaci贸n que est谩 orientado y adaptado para aplicaciones num茅ricas y computaci贸n cient铆fica.

Con Fortran naci贸 la programaci贸n moderna. A trav茅s de 茅l se han puesto en pr谩ctica conceptos como la computaci贸n cient铆fica, o la complicaci贸n de c贸digo, entre otros.

El origen de este lenguaje de programaci贸n se remonta al a帽o 1954, y se le atribuye a John Backus, un experimentado cient铆fico de computadores estadounidense que pertenec铆a a la empresa IBM.

Su propuesta se centraba en poner en marcha un lenguaje de programaci贸n cuyo objetivo era traducir de una manera sencilla, y accesible, diferentes f贸rmulas matem谩ticas en c贸digo que pudiese entender un ordenador.

Como curiosidad, este especialista en computaci贸n, estuvo trabajando en un proyecto previo denominado SSEC (Selective Sequence Electronic Calculator) para conseguir que este programa pudiese calcular las posiciones de la luna.

Algol influy贸 profundamente en varios lenguajes posteriores que s铆 alcanzaron gran difusi贸n, como Pascal, C y Ada.

algol, acr贸n. de algorithmic language 鈥榣enguaje algor铆tmico鈥.
Lenguaje de programaci贸n utilizado en las computadoras para la resoluci贸n de problemas cient铆ficos y t茅cnicos.

FORTRAN es un lenguaje de programaci贸n utilizado principalmente en matem谩ticas y en aplicaciones de c谩lculo cient铆fico. John Backus, pionero de la inform谩tica, public贸 en 1954 un art铆culo titulado Preliminary Aplazamiento, Specifications fuero the IBM Mathematical FORmula TRANslating System, FORTRAN.

Es curioso que exista una cierta similitud en la vida de un lenguaje de programaci贸n y el lenguaje natural. Ambos nacen y evolucionan para adaptarse, es decir, para seguir siendo 煤tiles.

D茅cada de los 50s: Fortran y Algol

  • Ignoran limitaciones f铆sicas de hardware
  • Lenguajes abstractos
  • Se expresan como algoritmos
  • Se les llama 3GL o third generation languages
  • Contienen las caracter铆sticas de todo lenguaje (sem谩ntica, pragm谩tica, etc.)
  • FORTRAN fue el primer lenguaje de alto nivel imperativo (formula transformation)
  • Aplicaciones cient铆fico-num茅ricas
  • Aparece ALGOL ligado a la notaci贸n matem谩tica

Esto significa aprender diferentes lenguas en programaci贸n

馃く No sab铆a de ALGOL. Me gusta que haya buscado acercar la programaci贸n a la matem谩tica.