From: ggroups on 20 Jun 2005 05:16 Robert C. Martin wrote: > On 17 Jun 2005 20:54:26 -0700, "topmind" <topmind(a)technologist.com> > wrote: >>But, I don't think >>your definition is the concensus among OO proponents. > I agree that it is not; but then these folks aren't familiar with the > history. The fact that OO was born from a decision to move an Algol > function stack frame to the heap, is not comforting to those who want > OO to be a philosophy of life. "2. SIMULA I. 2.1 Early History. The ideas for a language which could serve the dual purpose of system description and simulation programming originated at the NCC in the spring of 1961. The first written reference to SIMULA is found in a letter dated January 5, 1962 from KN to the French operational research specialist Charles Salzmann, (Nygaard 1962a): The status of the Simulation Language (Monte Carlo Compiler) is that I have rather clear ideas on how to describe queueing systems, and have developed concepts which I feel allow a reasonably easy description of large classes of situations. I believe that these results have some interest even isolated from the compiler, since the presently used ways of describing such systems are not very satisfactory. I hope that later developments, for which I have a number of ideas, will include e.g. stochastic inventory situations amongst the situations which may be described by the language." The Development of the SIMULA Languages by Kristen Nygaard and Ole-Johan Dahl So actually it turns out right from the beginning that Simula has a philosophy : a language to describe systems. Of course, the words of the creators of Simula will be of no comfort to prevaricators who cannot deal with the fact that OO did not appear from some programmers hacking around with Algol-60 and discovering things by mistake (a s/w Penicillin in effect) ... *** Steven Perryman *** Feel free to cite exact references to publications or personal communication with the Simula progenitors that prove this actually occurred.
From: Robert C. Martin on 20 Jun 2005 07:53 On 19 Jun 2005 10:00:41 -0700, "topmind" <topmind(a)technologist.com> wrote: > > >Robert C. Martin wrote: >> On Wed, 8 Jun 2005 11:50:50 +0100, Gerry Quinn >> <gerryq(a)DELETETHISindigo.ie> wrote: >> >> >> Polymorphism will help fold redundancies together - if any. >> > >> >It can help that. Sometimes. As 'topmind' observes, it can also trap >> >you somewhere you don't want to be. >> >> Polymorphism is a tool, not a solution. Topmind rails against the >> tool because there are cases where it doesn't work well. I, for one, >> am glad I have the tool. >> > >I don't dispute there are places where it simplifies stuff. However, >many in the OO community greatly exaggerate its applicability and OO >books rarely have any kind of disclaimer. Such white-washing may come >back to bite OO hard. I've seen the same kind of hype written about relational databases and CNF. Professionals learn to filter out the hype and see the real value. ----- Robert C. Martin (Uncle Bob) | email: unclebob(a)objectmentor.com Object Mentor Inc. | blog: www.butunclebob.com The Agile Transition Experts | web: www.objectmentor.com 800-338-6716 "The aim of science is not to open the door to infinite wisdom, but to set a limit to infinite error." -- Bertolt Brecht, Life of Galileo
From: Robert C. Martin on 20 Jun 2005 07:55 On 19 Jun 2005 09:56:03 -0700, "topmind" <topmind(a)technologist.com> wrote: >I have a question of you. If for the sake of argument the changes *are* >random, do you still think polymorphism would simplify changes? Yes, because polymorphism help me to decouple. Decoupled modules are easier to change. ----- Robert C. Martin (Uncle Bob) | email: unclebob(a)objectmentor.com Object Mentor Inc. | blog: www.butunclebob.com The Agile Transition Experts | web: www.objectmentor.com 800-338-6716 "The aim of science is not to open the door to infinite wisdom, but to set a limit to infinite error." -- Bertolt Brecht, Life of Galileo
From: Robert C. Martin on 20 Jun 2005 08:07 On 19 Jun 2005 10:08:15 -0700, "Juancarlo AĆ½ez" <apalala(a)gmail.com> wrote: >> Be that as it may, OO has it's beginnings in vector table management; >> and even today it's prime benefits come from the disciplines that >> OOPLS impose on vector table management. > >I had the opportunity to study and program in Simula while studying at >the university some twenty years ago. I read the whole "Simula Begin" >book back then, and I don't remember there being any mention of "vector >tables" (shouldn't that be "function tables"?). Quite to the contrary, >all of Simula was about approaching programming from a different >perspective. They wanted to do software simulations (hence "Simula") >and they found the abstractions provided by existing programming >languages lacking. Read "Structured Programming", Dijsktra, Dahl, and Hoare, Academic Press, 1972. In there you'll find the story of the serendipitous discovery of moving the function call frame from the stack to the heap. From there, the leap to jump tables is pretty small. Of course they describe the whole things as approaching programming from a different perspective -- and that's a fair comment. Partitioning a system with objects *is* a different perspective. On the other hand, one should not allow the end to hide the means. OO had very humble beginnings which still hold the roots of it's prime benefits. ----- Robert C. Martin (Uncle Bob) | email: unclebob(a)objectmentor.com Object Mentor Inc. | blog: www.butunclebob.com The Agile Transition Experts | web: www.objectmentor.com 800-338-6716 "The aim of science is not to open the door to infinite wisdom, but to set a limit to infinite error." -- Bertolt Brecht, Life of Galileo
From: Robert C. Martin on 20 Jun 2005 08:13
On 20 Jun 2005 02:16:36 -0700, ggroups(a)bigfoot.com wrote: >Of course, the words of the creators of Simula will be of no comfort >to prevaricators who cannot deal with the fact that OO did not appear >from some programmers hacking around with Algol-60 and discovering >things by mistake (a s/w Penicillin in effect) ... *** Steve, there is a difference between accusing someone of being incorrect, and accusing someone of being a liar. The first is civilized, and the second is libelous. There is no conspiracy, nor any shadowy Cabal. You can cease your search for the X-Files. This is just people discussing their points of view and trying to learn from each other. ----- Robert C. Martin (Uncle Bob) | email: unclebob(a)objectmentor.com Object Mentor Inc. | blog: www.butunclebob.com The Agile Transition Experts | web: www.objectmentor.com 800-338-6716 "The aim of science is not to open the door to infinite wisdom, but to set a limit to infinite error." -- Bertolt Brecht, Life of Galileo |