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


    1. Revisiting Naur’s Programming as Theory Building for Enterprise Architecture Modelling
    2. The Limits of Correcness (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


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

3. Design Principles Behind Smalltalk


    1. The Early History of Smalltalk

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


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

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


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

6. A Simple Technique for Handling Multiple Polymorphism


    1. Lambda: The Ultimate...

7. Polymorphic Hierarchies

8. Null Object Pattern


    1. A Generalized Null Object Pattern

9. Object Recursion


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

10. No Silver Bullet – Essence and Accident in Software Engineering


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

11. 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