Meme Agora: AML (Arbitrary Modeling Language)
Most developers I know use AML: Arbitrary Markup Language, usually consisting of boxes, circles, and lines. When a given developer writes on a whiteboard, they write in their own version of a diagramming language.
Related cards:
Meme Agora: Ruby Matters: Frameworks, DSLs, and Dietzler's Rule
The reasoning goes that if we create languages that keep people out trouble by restricting what damage they can do, we can produce software without having to pay those annoying software craftsman ridiculous amounts of money
Why UML Fails to Add Value to the Design and Development Process « Learning Lisp
UML is applying an abstraction at the wrong end of the problem. It is primarily used to sketch object models for inferior languages.
Software Apprenticeship: Chinese Language and Programming - yam天空部落
Inheritance is built into Chinese. You might as well use it.
Better is better: improving productivity through programming languages
All you need to know about the rise and fall of programming languages. Not really related to the worse is better essay linked here earlier.
The Pragmatic Bookshelf | Tell, Don't Ask
You should endeavor to tell objects what you want them to do; do not ask them questions about their state, make a decision, and then tell them what to do.
The Origins of Scala
When Java first shipped, Bill Joy and James Gosling and the other members of the Java team thought that Java should have generics, only they didn't have the time to do a good job designing it in. So because there would be no generics in Java, at l...
The Goals of Scala's Design
Martin Odersky talks with Frank Sommers and Bill Venners about the compromises and most important goals in Scala's design, its object-oriented innovations, and what's in it for you.
Use your singletons wisely: ten years later - The Code Whisperer
While injecting the dependency appeared to make the classes more tightly coupled, it simply revealed the coupling that already existed. A was already tightly coupled to B and B to C. When we tried to inject the dependency, we made that coupling mo...
Duels of the Planeswalkers: The Magic Engine : Daily MTG : Magic: The Gathering
For instance, the UI finds that a certain card is in the graveyard. It is essential that the UI sub-system does not care why the card is there, or how it got there. It is entirely a dumb client.
Otaku, Cedric's weblog: Why Java doesn't need operator overloading (and very few languages do, really)
The number of operators that you can overload is very small and each of them is attached to very specific semantics that makes little sense outside the realm of scalars and of a few other specialized mathematical concepts (e.g. matrices).