Papers Obligatorios

Nota: Cada papers/cap. de libro está vinculado a una clase. Lo ideal es leerlos para antes de cada una de ellas.

1. Programming As Theory Building

Slides de referencia de la clase: versión PDF


    1. Revisiting Naur’s Programming as Theory Building for Enterprise Architecture Modelling
    2. The Limits of Correctness (muy buena explicación de qué es un modelo y sus límites)
    3. A Philosophical Re-Appraisal of Peter Naur's Notion of "programming as Theory Building

2. The Design of Everyday Things (original EN) o (alternativo ES)


    1. What Is Software Design y What Is Software Design: 13 years later

3. No Silver Bullet – Essence and Accident in Software Engineering (original EN) o (alternativo ES)


    1. Embracing Change with Extreme Programming
    2. The Mythical Man-Month

4. Self: The Power Of Simplicity. (Link Alternativo)


    1. Classes vs. Prototypes - Some Philosophical and Historical Observations

5. Design Principles Behind Smalltalk (original EN) o (alternativo ES)


    1. The Early History of Smalltalk

6. Blue Book: Capítulos 6,7,8


    1. Arithmetic With Measurements On Dynamically-Typed Object-Oriented Languages

7. A Simple Technique for Handling Multiple Polymorphism


    1. Lambda: The Ultimate...

8. Polymorphic Hierarchies

9. Null Object Pattern (versión .ps) o (versión .pdf)


    1. A Generalized Null Object Pattern

10. Object Recursion


    1. Object Oriented Software Construction - Chapter 11 - Design By Contract

11. Simple Smalltalk Testing


    1. Libro TDD by Example - Kent Beck

12. Method Object (Pág 34 del libro Smalltalk Best Practices Patterns - Kent Beck)

13. Pattern Abuser


  1. Double Dispatch
  2. Reflective Facilities in Smalltalk-80 (futures)
  3. Arithmetic With Measurements On Dynamically-Typed Object-Oriented Languages
  4. A point based model of the Gregorian Calendar
  5. Fail Fast
  6. Designing Reusable Classes
  7. Opdyke Thesis - Cap. 1 a 3
  8. Dan Roberts Thesis - Cap. 1 a 2
  9. Patterns Generate Architecture
  10. Active Variables in Smalltalk 80

Sobre Smalltalk

    1. Blue Book: Capítulos 6,7,8,9,10 y 16
    2. Squeak: Back to the Future
    3. Byte Magazine, Agosto '81: Smalltalk
    4. Sobre Alan Kay

Sobre Excepciones

    1. Implementación de Excepciones


    1. Bush - As We May Think (with Engelbart notes).pdf
    2. Engelbart - Augmenting Human Intellect.pdf
    3. Kay - A Personal Computer for Children of All Ages.pdf
    4. Licklider - Man-Computer Symbiosis.pdf
    5. Sutherland-Sketchpad.pdf
    6. Taylor - Oral History.pdf
    7. Ingalls - The Smalltalk-76 Programming System.pdf
    8. Biblioteca de papers de Bret Victor donde pueden encontrar más de estos papers

Implementación de Lenguajes

    1. A Shared View Of Sharing - The Treaty Of Orlando
    2. Traits - Composable Units of Behaviour


    1. Active Variables In Smalltalk-80
    2. Evolving Frameworks - A Pattern-Language for Developing Object-Oriented Frameworks
    3. Christopher Alexander - An Introduction for Object-Oriented Designers


    1. Meta-level Programming with CodA
    2. Wrappers to the Rescue Safe Metaclass Programming
    3. Object Centric Reflection
    4. Reflection and Open Implementations

Implementación de VMs

    1. Smalltalk-80 Bits of History, Words of Advice - Chapter 2 - The Evolution Of The Smalltalk Virtual Machine Optimizing
    2. Dynamically-Typed Object-Oriented Programming Languages with Polymorphic Inline Caches
    3. Back to the Future: The Story of Squeak, A Practical Smalltalk Written in Itself
    4. Presentation of Generation Scavenging - A non-disruptive High Performance Atorage Reclamation Algorithm
    5. Generation Scavenging