I’m a compulsive link collector (you can check my delicious links to see what I means). I usually share my links, news, discoveries via my Twitter feed, too. It’s time to share some of the links by topic. Let start with one: Object Oriented Programming. I will use the list to my own consumption, too
He mentions Smalltalk and Self, too. Link via @HernanWilkinson.
Interfaces are not abstractions
the proliferation of interfaces that typically follow from TDD or use of DI may not be the pure goodness we tend to believe.
Mi idea es postear lo que conozco sobre modelar/desarrollar con objetos, en base a lo que damos en la materia de POO y DAO de la UBA y mi experiencia personal
Hardware support for Objects: The MUSHROOM Project
A Distributed Multi-user Object-Oriented Programming Environment, with object-based memory.
In 1986 a group at the University of Manchester embarked upon an investigation into how developments in computer architecture could benefit the performance of dynamic object-oriented languages. We reasoned that if the object-oriented approach was of such great benefit to software development, then it would be all the more attractive if there was little loss of performance. Over the next five years we developed an architecture to support object-oriented languages, called the Mushroom architecture. The aim of the research was, starting with carte blanche, to discover what sort of architecture was best suited to Smalltalk-like languages.
Job Security through Code Obscurity
Use objects to obfuscate your code, specialize via inheritance, use lot of patterns, obscure code flow with virtuals and templates, include everything and more.
A non-hierarchical approach to object-oriented programming
Remember Flavors, object-oriented extension to Lisp.
A Generative, Iterative and Pattern Language Independent (GIPLI) aproach to creating timeless Domain Specific Languages (DSL).
The problem is, in a nutshell, how do you build an extensible data model and an extensible operation model that meets three goals: Code-level modularization, Separate compilation, Static type safety
In this article we present SmallInterfaces; a new ontology of dynamic interfaces which makes a powerful use of the dynamic nature of Smalltalk. SmallInterfaces adds interfaces as honorary members to Smalltalk’s extensive reflection mechanism, in a manner portable across the many Smalltalk variants.
Trylon is a computer language. It is basically a cross between Python and Smalltalk. It uses indentation for program structure, like Python, and it uses Smalltalk’s expression syntax (but with precedence). Its objects are dynamically typed, but its programs are statically compiled (via C).
you’ll learn the concepts behind object-oriented programming (OOP), a style of coding in which related actions are grouped into classes to aid in creating more-compact, effective code.
To have gettters or not? Encapsulation vs use
SOLID by example
Source code examples in .NET, to understand SOLID principles.
This post investigates the applicability of the “Open/Closed Principle” when we add new functionality to a software design whose source code is entirely under our control.
Agent nouns are code smells
Discussion about: class names ending with agent nouns are a code smell (agent nouns as “helper”, “manager”)
Coding: The agent noun class
Mark Needham response to the above post.
I believe that an object should be responsible for deciding how its data is used rather than having another object reach into it, retrieve its data and then decide what to do with it.
LDNUG : Mixing functional and object oriented approaches to programming in C#
Video of a talk by Mike Wagg and Mark Needham
Enough for this post. I will write more topic links posts.