Historia y Filosofía de los Lenguajes de Programación

Duración: 32 horas



La historia de nuestra profesión es poco conocida por sus practicantes. Pocos conocen quiénes son John McCarthy, Peter Naur o Douglas Engelbart entre otros. Menos aún se conoce sus trabajos y la influencia que tuvieron tanto en los lenguajes de programación como en la tecnología que usamos.
Según Alan Kay, “nuestra cultura es una cultura pop… desconocemos nuestra historia y por eso nos pasamos reinventando la rueda pinchada”.

Este curso tiene los siguientes objetivos:
  1. Repasar la historia de nuestra profesión en lo que respecta a lenguajes de programación, quiénes los hicieron, bajo qué principios filosóficos y/o comerciales (si los hubo), en qué contextos históricos se crearon, etc. 
  2. Conocer a los personajes detrás de ellos, su manera de pensar, qué lograron y qué no.
  3. Hacer un ejercicio con cada lenguaje, cuando lo amerite, para poder compararlos de manera práctica
  4. Principalmente, discutir entre nosotros estos temas y sacar conclusiones para no comprar nueva tecnología sin conocer de qué se trata y no reinventar la "rueda pinchada"

Conocer la historia de una profesión ayuda a entender su actualidad y profundizar hacia dónde se dirige. Conocer lenguajes como Lisp, Scheme, Simula-67, Algol 60, ML, Forth y otros ayuda a realizar una análisis crítico de los lenguajes “mainstream” de la actualidad.
   Conocer cómo se gestaron las distintas tecnologías que se usan en la actualidad a partir de los avances realizados por D. Engelbart, A. Kay, I. Sutherland, A. Goldberg entre otros, ayuda a comprender por qué usamos la tecnología que usamos y cuáles son sus limitaciones lo que nos permite intuir qué futuro nos depara.
   En este curso se verán estos y otros temas relacionados con el objetivo de generar en los asistentes un espíritu crítico, basado en buenos fundamentos teóricos e históricos.

La modalidad del curso incluye:

  1. Material multimedial de entrevistas/charlas/conferencias realizadas por las personas a estudiar en cuestión
  2. Lectura de papers y material histórico proveniente del congreso de HOPL (History of Programming Languages), A History of Personal Workstation, la organización de Computer History Museum y de libros como "The Dream Machine", "Dealers of Lightning" y "The Innovators"
  3. Ejercicios prácticos relacionados a los lenguajes de programación que se verán.
  4. Calls con personas que formaron parte de la construcción de esta historia
 
El cronograma de temas es el siguiente:

  • Ada Lovelace & Charles Babbage / Turing & Church / Primeras computadoras (Eniac/Colossus/Z3)
  • As we may Think - V. Bush / Fortran - J. Backus / Lisp – John McCarthy
  • COBOL - Grace Hooper, Codasyl / Algol 60 – P.Naur, J. Backus, T. Hoare
  • DARPA / Augmenting Human Intellect – D. Engelbart / Sketchpad – I. Sutherland
  • Basic - Kemeny, Kurts / Pascal - N. Wirth / Simula 67 – K. Nygard, J. Dahl
  • Smalltalk – A. Kay, D. Ingalls, A. Goldberg
  • Silicon Valley: Xerox Parc / Intel / Apple
  • Scheme – J. Sussman, Guy Steele / LOGO - S. Papert et al / Forth - Chuck Moore
  • C - B. Kernighan, D. Ritchie / C++ - B. Stroustrup
  • Self – D. Ungar, R. Smith
  • ML - Miranda - Haskell
  • Otros: Prolog / Presente: Ruby, JavaScript, Java, .Net, Python, Clojure, Scala, Rust, Go, 
  • Presente: Ruby, JavaScript, Java, .Net, Python, Clojure, Scala, Rust, Go
  • “Objetos vs. Funcional” o “Objetos and Funcional” / Nuevos paradigmas de programación
  • Entrevista con Invitado 1 (a definir)
  • Entrevista con Invitado 2 (a definir)

Estas empresas se capacitaron con nosotros

Capacitate con nosotros