Results of a survey of over 3000 developers, regarding their approach to OO software design.
Unit testing can have productive side-effects that manifest in the emergent design of classes and API's. Testing objects in isolation from their interactions in the larger code-base pushes you to…
Equality is a mathematical concept, not an object concept. It's contextual. So, what is the correct implementation of equals? Sometimes it's no implementation at all. On the Beautiful Code…
PHP is flawed. Deeply, immensely so. I first discovered this over a year ago, when I made the naive assumption that PHP 5.1 had fixed a lot of the language level failings of its predecessor. Because…
Raganwald dissects the misguided metaphor from a software process perspective. I have come to believe that these kinds of problems are even more prevalent in the web development world than in…
Interesting research is emerging that explores new programming models for mesh connected mobile devices. The experimental language called AmbientTalk is a prototype based object oriented language…
Frameworks are the shining stars of this current era of web development and there are many benefits for designers and programmers to focus technical solutions around a given framework as a platform…
For many years, Object Oriented discourse has been far too constrained by language oriented thinking.
Builder is a completely declarative library which makes it easy to generate XML from a cascade of Ruby method calls. But it's not completely smooth sending: working on an Atom feed, I ran into a…
I hate to agree with grouchy old Dijkstra, but unfortunately now it's impossible to deny: BASIC is what killed my ability to be a truly great programmer. Dijkstra was right, GOTO completely rots your…
I always enjoy reading interviews and discussions with Larry Wall - a brilliant language designer whose unconventional wisdom and humor makes his explanations of complex and chaotic issues seem…
Refactoring reveals purpose. It sets you up to be ready for the next move.
MQL must be one of the most overused acronyms in todays technology field, including (but definitely not limited to) such specificities as search/analytics, automated trading, and molecular substructure…
Python 3.0a1 release hits the network, with significant backwards incompatible changes. The best way to describe this is a shedding of the snake's skin, sloughing off a whole bunch of weird ambiguities…
As I am now starting to discover, many of these ideas were originally considered by Alan Kay, and summarized at OOPSLA in 1997. If the true shape of object oriented programming is qualitatively…