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:
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:
- 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.
- Conocer a los personajes detrás de ellos, su manera de pensar, qué lograron y qué no.
- Hacer un ejercicio con cada lenguaje, cuando lo amerite, para poder compararlos de manera práctica
- 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:
La modalidad del curso incluye:
- Material multimedial de entrevistas/charlas/conferencias realizadas por las personas a estudiar en cuestión
- 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"
- Ejercicios prácticos relacionados a los lenguajes de programación que se verán.
- 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)