The `Car extends Vehicle` or `Duck extends Bird` type of tutorial obscures more than it illuminates. In good OO programming, we don’t make class hierarchies in order to satisfy our inner Linnaeus. We make class hierarchies in order to simplify the code by allowing different parts of it to be changed independently of…
At Livermore, a legendary senior weapons designer is about to retire. At the Spring 2005 MIT workshop, his colleagues discuss this retirement and refer to it as “a blow.” They are anxious about more than the loss of one man’s ability to make individual scientific contributions. He has irreplaceable knowledge about the…
In extreme cases, to use such an interface is to enter a new world, containing objects and actions unlike any you've previously seen. At first these elements seem strange. But as they become familiar, you internalize the elements of this world. Eventually, you become fluent, discovering powerful and surprising idioms…
One can see Manovich’s argument becoming true in the development of database technology the 20th century. The first commercially available computer databases were organized hierarchically. If you wanted to get to a particular piece of information, you went to the overarching category and made a series of choices as…
In the theory of forms, Plato posits that there were these things called "forms," and a form is basically an abstract concept that represents some sort of object that exists. Then these objects were basically some sort of particular thing that has form-ness of some kind. So you can almost think of this as like a class…
It seems to me that every phenomenon, every fact, itself is the really interesting object. Whoever explains it, or connects it with other events, usually only amuses himself or makes sport of us, as, for instance, the naturalist or historian. But a single action or event is interesting, not because it is explainable…
Hypothesis is the most important mental technique of the investigator, and its main function is to suggest new experiments or new observations. Indeed, most experiments and many observations are carried out with the deliberate object of testing an hypothesis. Another function is to help one see the significance of an…
think the lack of reusability comes in object-oriented mguages, not in functional languages. Because the problem with object-oriented languages is they've got all this implicit environment that they carry around with them. Vou i wanted a banana but what you got was a gorilla holding the banana and the entire jungle…
What to do instead So what should we do instead. It's very simple: Ask him what he means. ; interrogate him: "Why do you feel that Python is so bad? What do you find wrong with it?" Agree with him (but use a softer language): "Yes, Perl is a nice language, and I agree that Python has its downsides and/or trade-offs in…
You see the problem fo obtaining facts from experience--it sounds very, very simple. You just try it and see. But man is a weak character and it turns out to be much more difficult than you think to just try it and see. For instance, you take education. Some guy comes along and he sees the way people teach…
Time-stamping is of interest because the temporal element of context is essential for understanding a text (to take an obvious example, when reading a paper on global geopolitics in 2006 it is essential to know whether it was written before or after 11th September, 2001). Furthermore, some information has a 'sell-by…