In the Beginning... ...there was no inheritance and no composition, only code. And the code was unwieldy, repetitive, blocky, unhappy, verbose, and tired. Copy and Paste were the primary mechanisms of code reuse. Procedures and functions were rare, newfangled gadgets viewed with suspicion. Calling a procedure was expensive! Separating pieces of code from the main logic caused confusion! It was a Dark Time.
Background I've been to a few talks on SOLID before. Most of the principles seem pretty reasonable to me – but I've never "got" the open-closed principle (OCP from here on). At CodeMash this year, I mentioned this to the wonderful Cori Drew, who said that she'd been at a user group talk where she…
In summary, Smalltalk's specification-like coding and incremental development environment permits a unique human-human-machine dialogue. CRC Cards allow larger groups to feel this dialogue which is based on repeated episodes of decision making. Finally, members of somewhat larger production development teams can exploit the human-human-machine dialogue on a pair-wise basis. The complex communication that then takes place will support a High-Performance organization with many benefits, a few of which I have mentioned.
This report was originally written in 1992-1993. Therefore, some of its information is out-of-date. The Object Agency, Inc. believes, however, that the report still provides many useful insights.
there's been a rush of lightweight containers that help to assemble components from different projects into a cohesive application. Underlying these containers is a common pattern to how they perform the wiring
a prototype-based object-oriented programming language based on Self, CLOS, and Smalltalk-80. Slate syntax is intended to be as familiar as possible to a Smalltalker, for the clarity of messages as phrases. Unlike the Smalltalk family, methods within Slat
a new programming language. It extends the ideas behind object-orientation in order to better support modular programming and static type safety. It also incorporates features from functional programming, and puts into practice state-of-the-art results fr
M. Stevens, A. Kellens, J. Brichau, и T. D'Hondt. BENEVOL 2007 - 6th BElgian-NEtherlands software eVOLution workshop (Namur, Belgium, December 13-14, 2007), (2007)