tag:blogger.com,1999:blog-10345428.post4183175948572958343..comments2023-09-27T00:29:23.437-07:00Comments on Making programming pay: What Colour do you like your Objects? Pink or Blue?Paul Beckfordhttp://www.blogger.com/profile/16046651614960778254noreply@blogger.comBlogger27125tag:blogger.com,1999:blog-10345428.post-56831213658283046922007-03-12T12:03:00.000-07:002007-03-12T12:03:00.000-07:00Paul wrote And given your tone so far ...Given /yo...Paul wrote <I>And given your tone so far ...</I><BR/>Given <I>/your/</I> tone so far ...<BR/><BR/>Paul wrote <I>... why not tell us all what you think about my blue/pink distinction...</I><BR/><B><I>/Your/</I> distinction?</B> <BR/>My mistake, I thought the video showed Alan Kay applying Arthur Koestler's distinction to the origin's of OOP.Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-44561712627777400752007-03-12T11:44:00.000-07:002007-03-12T11:44:00.000-07:00steve wrote ... what I described would seem to be ...steve wrote <I>... what I described would seem to be to be the kind of editing implied by Kay - changing live objects.</I><BR/>Exactly! They are examples of <B>not</B> stepping into an edit-mode. Stopping a car to repair it is just one of the things we can do in the physical world - we don't step into an edit-mode to do it.<BR/><BR/>The question they asked is what might software development be like if we did enough magic to maintain the illusion that there was no edit-mode and no compile.<BR/><BR/><BR/>steve wrote <I>I am not convinced of the safety of working this way.</I><BR/>Seems like you are using <I>safety</I> as a FUD scare-word - the programmer's version of <I>bogey-man</I><BR/><BR/><BR/>steve wrote <I>I don't want things so flexible after deployment.</I><BR/>Why? Which probably leads us back to - what do you mean by safety? ;-)<BR/><BR/><BR/>steve wrote <I>... I really am not sure what Kay wants to achieve!</I><BR/>Happily only people involved in Alan Kay worship need to bother about that - we can stick with figuring out what we are trying to achieve.Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-80251805933057011262007-03-08T08:40:00.000-08:002007-03-08T08:40:00.000-08:00Isaac - I am talking about 'edit mode' in a genera...Isaac - I am talking about 'edit mode' in a general sense. I have to admit I am not familiar with Smith and Ungar. As I understand it, Kay's motivation for active objects with messaging was that 'systems should not have to shut down'. So what I described would seem to be to be the kind of editing implied by Kay - changing live objects. I am not convinced of the safety of working this way.<BR/><BR/>And, I don't think prototyping and experimentation is the same as programming in general. It is just one particular stage of it. I don't want things so flexible after deployment. <BR/><BR/>You make a good point about what we want to achieve. The think is, even after following his work for a long time, I really am not sure what Kay wants to achieve!Steve Zarahttps://www.blogger.com/profile/16867968082532563442noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-24353975124347256592007-03-08T00:13:00.000-08:002007-03-08T00:13:00.000-08:00Isaac,My goal is to communicate and exchange ideas...Isaac,<BR/><BR/>My goal is to communicate and exchange ideas.<BR/><BR/><I>I went to see Randall Smith demo this stuff in the early '90s during the 10 years I was a professional Smalltalk developer.</I><BR/><BR/>Given your experience wouldn't it be a good idea to share it, and tell us what you think?<BR/><BR/>Throwing stones is easy. And given your tone so far I don't think its a good idea mentioning arrogance :^)<BR/><BR/>Seriously, why not tell us all what <B>you</B> think about my blue/pink distinction, and contribute in a positive way?Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-78022402996334581112007-03-07T15:43:00.000-08:002007-03-07T15:43:00.000-08:00paul wrote This exchange we have just had is a cla...paul wrote <I>This exchange we have just had is a classic case of what Alan Kay calls instrumental reasoning. Your existing context of knowledge doesn't allow you to make the mental leap needed</I><BR/><BR/>paul wrote <I>What I have suggested you do is keep an open mind and look at OOP afresh.</I><BR/><BR/>Those comments are a classic case of arrogance - your presumptions about my knowledge are crass. <BR/><BR/>I went to see Randall Smith demo this stuff in the early '90s during the 10 years I was a professional Smalltalk developer.Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-61170361528471463452007-03-07T15:35:00.000-08:002007-03-07T15:35:00.000-08:00steve wrote There certainly are 'edit' modes in th...steve wrote <I>There certainly are 'edit' modes in the real world (you don't repair a car while it is moving, or make a bed while someone is lying in it).</I><BR/><BR/>You are right - we don't <I>change the engine while the car is in motion</I>. But you are wrong to suggest that activity represents the kind of edit mode discussed by Randall Smith and David Ungar.<BR/><BR/>If there was an <I>edit mode</I> then we'd step from the world into <I>edit mode</I>, the car would cease to exist, we'd edit the specification and then we'd step out of <I>edit mode</I> back into the world and create a new car with the new engine. That's what they mean by an <I>edit mode</I>.<BR/><BR/><BR/>steve wrote <I>There is no doubt that the 'liveliness' of objects in, say, Smalltalk, is great for prototyping and experimentation and debugging...</I><BR/><BR/>also-known-as programming?<BR/><BR/><BR/>steve wrote <I>definition of OOP ... I know Kay's definition is different, but does that matter? Even though he coined the term, surely what matters is to have a definition that is useful now.</I><BR/><BR/>More than that - what matters is to have a definition that is useful for what /you/ are trying to achieve (that might be different to what Alan Kay is trying to achieve).Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-69138906122304586502007-03-06T12:22:00.000-08:002007-03-06T12:22:00.000-08:00Hi Isaac,Well done! So you watched the video. Fant...Hi Isaac,<BR/><BR/>Well done! So you watched the video. Fantastic!<BR/><BR/>The word <I>physical</I> is a much better choice then the word <I>real</I> for what I was trying to describe. I'll update the post. <BR/><BR/>If this was your point, then thanks for the feedback.<BR/><BR/>BTW. What did you think about the video?<BR/><BR/>Paul.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-77715167114426045832007-03-06T10:42:00.000-08:002007-03-06T10:42:00.000-08:001) paul wrote No the reference to the term object ...1) paul wrote <I>No the reference to the term object I vaguely remember in C had to do with variables. I could be wrong so I won't dwell on it.</I><BR/>As you've already said that 'the C reference manual uses the word "object" with no reference to OOP', the puzzle is why you think mentioning that is relevant to a discussion of OOP.<BR/><BR/>You have conceeded that Simula is OOP; you have not conceeded that Dahl and Nygaard were using the terms object and instance in the same way that the terms would be used in Smalltalk.<BR/><BR/><BR/>2) paul wrote <I>... the Self team noted that software objects aren't the same as <B>real objects</B>. ... still haven't watched the video.</I><BR/><BR/>Previously paul wrote <I>... I use the word real because that is exactly what I mean. They use the word real in the Self video about 10 times in the first 5 minutes.</I><BR/><BR/><B>No Paul - "self; The Video" does not talk about real objects - you are completely wrong.</B><BR/><BR/>Randall Smith carefully says "physical world" "physical objects" "physical objects" "physical objects" "physical objects" "physical world" "physics of the real world" "physical world" ... "principles borrowed from the physical world" "physical world metaphor".<BR/><BR/><BR/>3) paul wrote <I>... choose to ingore this evidence that suggests the term OOP came later</I><BR/>I have no dispute with Alan Kay's claim to have invented the term object oriented programming.<BR/><BR/>You are the one who is "getting so hung up about a label" not me.Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-85028146239462577592007-03-06T08:50:00.000-08:002007-03-06T08:50:00.000-08:00Hi Steve,I found this wikipedia article on couplin...Hi Steve,<BR/>I found this wikipedia article on coupling. It describes stamp coupling and talks about messaging:<BR/><BR/>http://en.wikipedia.org/wiki/Coupling_(computer_science)<BR/><BR/>It covers the basics and helps explain what I was trying to say.<BR/><BR/>Paul.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-48984749949031757042007-03-06T06:24:00.000-08:002007-03-06T06:24:00.000-08:00Hi Steve,First thing to say... great comment. It i...Hi Steve,<BR/><BR/>First thing to say... great comment. It is reasuring to see that people are still capable of thinking for themselves and original thought!<BR/><BR/>That said..<BR/><BR/>... Late-binding still requires standards. The difference is what you choose to standardise on. It comes down to the issue of dependency and coupling. The 'wider' your standard interface the greater the coupling between components in your system, and the more sensitive the interface becomes to change. <BR/><BR/>So the real issue with binding and coupling is how well it deals with change.<BR/><BR/>Mellor-Page Jones came out with a great book in the 80's on Structured Analysis and Design that gave an excellent treatment of the subject of coupling. The more bits of data you pass beween components the higher the coupling (dependency). Using this definition he went on to classify different types of coupling, stamp, temporal etc...<BR/><BR/>What the web does is create a generic (meta) interface in an attempt to reduce stamp coupling. Stamp coupling is where you put a large number of independent bits of data together in a common structure which is then passed across an interface.<BR/><BR/>REST has the idea of a Uniform connector that is used as a minimal interface. The HTTP Connector supports just 4 verbs (GET, POST, PUT, DELETE) all of which take a single parameter, a URL. The resource passed using this interface is self describing (mime-type, links, etc) so additional information can be gleamed from the document passed across the connector and does not need to be part of the connector interface. This additional data does not impact on the connector and is free to change at any time.<BR/><BR/>So with the web either the client understands the mime-type sent or it doesn't. If it does not then it, has the info on where to find a plug-in that does within the document passed (self describing). <BR/><BR/>The client can also use an agreed data representation to identify the structure of the document. The 'link' is the way the web navigates large data structures, again these structures are not fixed in by the connector interface, but self described in the document passed and changeable.<BR/><BR/>WSDL however is very different from REST. The structure of the data is defined in the Interface WSDL and is fixed. Should the data change, so must the WSDL Interface. So WSDL is very brittle.<BR/><BR/>Message passing works in a similar way as REST. Client and server agree a common generic messaging semantic: SEND(OBJECT, MESSAGE), the meaning of the message is part of the message itself. The server (OBJECT) either understands the message or it doesn't.<BR/><BR/>So the key to late-binding, is the creation of a loose coupled 'narrow' generic interface. This is the thing you standardise. The rest of the information needed to satisfy each request becomes part of the message itself and can change without impacting the messaging interface. If a receiver does not understand the message it can say so at runtime.<BR/><BR/>A poor description, but this is a deep issue.<BR/><BR/>Paul.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-48378712673090411022007-03-06T04:19:00.000-08:002007-03-06T04:19:00.000-08:00I have been having some thoughts about Alan Kay's ...I have been having some thoughts about Alan Kay's idea of object 'liveliness'. I think he, and you, are stretching the metaphor too far. There certainly are 'edit' modes in the real world (you don't repair a car while it is moving, or make a bed while someone is lying in it). <BR/><BR/>There is no doubt that the 'liveliness' of objects in, say, Smalltalk, is great for prototyping and experimentation and debugging, but I think it is questionable about how useful it is in deployed applications. One of Kay's examples of things staying live was the internet (or whatever it was called years back). He describes how it stayed working even though all the hardware and software. However, I think what this illustrates is the exact opposite of what Kay seems to think it does: it shows the value of fixed interfaces and protocols. The internet would never have got going without agreed pre-arranged standards that all software and hardware conformed to. Without these standards, it would have been impossible to simply swap in replacement components. This is the exact opposite of late binding: systems have to conform (and be shown to conform) to interfaces before they are plugged in. The internet is also relatively inflexible in some ways, as illustrated by the issues with introducing new protocols like IP6.<BR/><BR/>And as for the definition of OOP; well I have always used the following definition- a system is OOP if it includes inheritance, polymorphism and encapsulation. I know Kay's definition is different, but does that matter? Even though he coined the term, surely what matters is to have a definition that is useful now. Kay's description of OOP seems to me to be too close to 'Actor'-based programming to be useful - it is too limiting.Steve Zarahttps://www.blogger.com/profile/16867968082532563442noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-62143782415510795712007-03-05T15:12:00.000-08:002007-03-05T15:12:00.000-08:00Hi Isaac,This exchange we have just had is a class...Hi Isaac,<BR/><BR/>This exchange we have just had is a classic case of what Alan Kay calls <I>instrumental reasoning</I>. Your existing context of knowledge doesn't allow you to make the mental leap needed.<BR/><BR/>If I would have mentioned the 'desktop metaphor' and the idea of 'physical windows' and 'waste bins', and talked of 'killing a window', you wouldn't have a difficulty.<BR/><BR/>These same metaphors came from the desire for directness which the Self team wanted to bring to all software, not just the UI. These metaphors came from Xerox Parc and the Smalltalk team.<BR/><BR/>What I have suggested you do is keep an open mind and look at OOP afresh. None of the quotes you've cited contradict anything I have said. I am merely puting familiar ideas in a new context.<BR/><BR/>As for <I>liveliness</I> the meaning is clear. In the physical world there is no run and edit modes. You don't put your bed room in edit mode, freezing time whilst you 'edit', then start time running again once the room is nice and tidy!<BR/><BR/>Time never stops, and a dead Rabbit is an object that has come to the end of it's lifecycle and is waiting to be garbage collected :^)Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-39547153000252591872007-03-05T14:40:00.000-08:002007-03-05T14:40:00.000-08:00Hi Isaac,...You are not making much sense. I have ...Hi Isaac,<BR/><BR/>...You are not making much sense. I have conceeded that Simula is OOP, I'm saying that the term was coined much later with Smalltalk.<BR/><BR/>... No the reference to the term object I vaguely remember in C had to do with variables. I could be wrong so I won't dwell on it.<BR/><BR/>...I have said that the Self team noted that software objects aren't the same as <I>real</I> objects. In fact there is a neat clip at the end of the Self video where they demonstrate this :^)<BR/><BR/>What they do say is that it is desirable to borrow certain propeties from real world objects. Do you disagree?<BR/><BR/>...Finally, on the front of the paper you've quoted it says "Simulation Language" It doesn't say "Object Orientated Programming Language". You choose to ingore this evidence that suggests the term OOP came later :^)<BR/><BR/>...I take it that you still haven't watched the video. So I do not understand your interest. If you want to debate and exchange ideas fine. If something I've said has prompted an emotional reaction in you then...Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-83891411639604060872007-03-05T14:18:00.000-08:002007-03-05T14:18:00.000-08:00In fact I'm sure the C reference manual uses the w...<I>In fact I'm sure the C reference manual uses the word "object" with no reference to OOP.</I><BR/>And of course the difference is that in 1967 Dahl and Nygaard were talking about <B>object</B> and <B>instance</B> in the context of class and subclass - they were not talking about object files, they were explicitly talking about programming with objects ("an instance of a class declaration"). Why is that so hard to admit?<BR/><BR/><I>I mean physical, tangible, solid objects.</I><BR/>I guess the number 1 is not an object after all.<BR/><BR/><I>... exhibit liveliness in the sense that they exhibit a single mode, the "alive" mode. They never go 'offline'.</I> <BR/>Grains of sand are alive? Rabbits are only ever alive? I don't think so. <BR/><BR/><I>Please suspend your pre-conceptions. Maybe you don't know what you think you do!</I><BR/>How ordinary - it's the other person who suffers from pre-conceptions and lack of knowledge.<BR/><BR/>"The world simply doesn't come all chopped up into nice neat<BR/>categories, to be selected among by peripatetic critters - as if<BR/>objects were potted plants in God's nursery, with the categories<BR/>conveniently inscribed on white plastic labels." Brian Cantwell SmithIsaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-91875935239272936402007-03-05T12:33:00.000-08:002007-03-05T12:33:00.000-08:00Hi Isacc,..I have been very specific. OOP is a lab...Hi Isacc,<BR/><BR/>..I have been very specific. OOP is a label. It means different things to different people. For marketing people OOP means "goodness". The words object and instance haven't been exploited in the same way. Infact I'm sure the C reference manual uses the word "object" with no reference to OOP.<BR/><BR/>...I use the word <I>real</I> because that is exactly what I mean. They use the word <I>real</I> in the Self video about 10 times in the first 5 minutes.<BR/><BR/>I mean physical, tangible, solid objects. Which exhibit <I>directness</I> in the way you manipulate them, and are <I>uniform</I> in the sense that they all share common physical properties, and exhibit liveliness in the sense that they exhibit a single mode, the "alive" mode. They never go 'offline'.<BR/><BR/>Please suspend your pre-conceptions. Maybe you don't know what you think you do!<BR/><BR/>And how about watching the video?Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-1757376257632587012007-03-05T12:08:00.000-08:002007-03-05T12:08:00.000-08:00I agree that Simula probably coined the terms Clas...<I>I agree that Simula probably coined the terms Class and Sub Class back in 1967.</I><BR/>And the terms <B>object</B> and <B>instance</B> used in that context, in the same paper?<BR/><BR/>Do we need to bother about whether the term object-orientation (or object-oriented) would have come about without Dahl and Nygaard's talk of classes and subclasses and instances and objects?<BR/><BR/><BR/><I>What is your difficulty with these properties for software objects?</I><BR/>"software objects"? <BR/>I've objected to <B>objects as they exist in the real world</B> and <B>real world objects</B><BR/><BR/><BR/><I>... I'm sure that you don't need me to tell you what a real object is :^)</I><BR/>I don't know how to ask the question more directly - what are these "real objects" you keep mentioning?Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-74068891771354318792007-03-05T11:54:00.000-08:002007-03-05T11:54:00.000-08:00...The labels Class and sub Class are not the same......The labels Class and sub Class are not the same as OOP. Self has no classes but is still OOP. I agree that Simula probably coined the terms Class and Sub Class back in 1967.<BR/><BR/>...The properties Self suggest that objects should take from the real world are:<BR/><BR/>* directness<BR/>* uniformity<BR/>* liveliness<BR/><BR/>All three terms are explored in the video.<BR/><BR/>What is your difficulty with these properties for software objects?<BR/><BR/>... I'm sure that you don't need me to tell you what a real object is :^)<BR/><BR/>I'm failing to see the point you are making. Please be specific. Your posts thus far have been quite terse.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-37626845008566119192007-03-05T11:49:00.000-08:002007-03-05T11:49:00.000-08:00This comment has been removed by the author.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-27983827327529272172007-03-05T11:33:00.000-08:002007-03-05T11:33:00.000-08:00"real objects... real world objects"What are they?...<I>"real objects... real world objects"</I><BR/><BR/>What are they?Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-61521854889542038182007-03-05T11:29:00.000-08:002007-03-05T11:29:00.000-08:00I checked the date on the Simula paper ...Have you...<I>I checked the date on the Simula paper ...</I><BR/>Have you checked the date of "Class and Subclass Declarations" ?<BR/><BR/><BR/><I>...Alan Kay's claim would be false.<BR/>The reason why I'm getting so hung up about a label...</I><BR/>I think you need to re-read the Goethe quote and Ole-Johan Dahl's comment.Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-41896350756034222182007-03-05T10:28:00.000-08:002007-03-05T10:28:00.000-08:00Whoops. I got the wrong quote."The world does not ...Whoops. I got the wrong quote.<BR/><BR/><BR/>"The world does not consist of objects sending each other messages, and we would have to be seriously mesmerised by object jargon to believe that it does."<BR/><BR/><BR/>I saw this one coming :^) The Self project wanted to give software objects some of the properties of real objects. They also noted that software objects had properties all of their own. This quote doesn't contradict what I am saying. The idea is to borrow traits and properties like direcntess, uniformity and liveliness from real world objects because it makes sense, and of course in a computer you can do things that you can't in the real world. After all a computer is a 'virtual world' :^).<BR/><BR/>I suggest you watch the Self video. Here is a link:<BR/><BR/>http://video.google.com/videoplay?docid=5776880551404953752<BR/><BR/>BTW. I'm more than happy to debate.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-16570466497964543212007-03-05T10:23:00.000-08:002007-03-05T10:23:00.000-08:00This comment has been removed by the author.Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-59544897832865993312007-03-05T10:16:00.000-08:002007-03-05T10:16:00.000-08:00I believe the label OOP was born with Smalltalk, y...I believe the label OOP was born with Smalltalk, yes. I could be wrong though. At least Alan Kay has publicaly claimed that he coined the term 'Object Orientation'. So the term OOP may have been applied retrospectively to Simula. In his 1997 OOPSLA Keynote Alan Kay refers to three pre-Smalltalk systems that he considered Object Orientated, Simula was one of them.<BR/><BR/>I checked the date on the Simula paper you supplied and it is dated 2001. If you could find a reference to the label OOP prior to Smalltalk, say when Simula-67 came out in 1967, that would be definitative proof, and Alan Kay's claim would be false.<BR/><BR/>The reason why I'm getting so hung up about a label is because the term has come to mean different things to different people and has ruthlessly been exploited as a marketing tool.<BR/><BR/>Any concrete information you can supply is gladly received. I'm up for learning!Paul Beckfordhttps://www.blogger.com/profile/16046651614960778254noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-68705874264414443692007-03-05T10:08:00.000-08:002007-03-05T10:08:00.000-08:00* Create tangible objects as they exist in the rea...<I>* Create tangible <B>objects as they exist in the real world</B><BR/>* Create objects that share uniform characteristics <B>like objects do in the real world</B> (everything is an object)</I><BR/><BR/><BR/>"The world does not consist of objects sending each other messages, and we would have to be seriously mesmerised by object jargon to believe that it does."<BR/><BR/>p6 <A HREF="http://www.amazon.com/Designing-Object-Systems-Object-Oriented-Modelling/dp/0132038609" REL="nofollow">Designing Object Systems</A>Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.comtag:blogger.com,1999:blog-10345428.post-44324557569737574142007-03-05T09:55:00.000-08:002007-03-05T09:55:00.000-08:00So OOP was born with Smalltalk.Yet another Alan Ka...<I>So OOP was born with Smalltalk.</I><BR/><BR/>Yet another Alan Kay quote - <BR/>... to quote Goethe, we should "share in the excitement of discovery without vain attempts to claim priority".<BR/><A HREF="http://lispmeister.com/downloads/SmalltalkHistoryHOPL.pdf" REL="nofollow">The Early History of Smalltalk</A><BR/><BR/><BR/>"An object is an instance of a class declaration."<BR/><A HREF="http://www.informatik.uni-bonn.de/~manthey/SS06/Quellen/Dahl_hist.pdf" REL="nofollow">Class and Subclass Declarations<BR/></A><BR/>Do we need to bother about whether the term object-orientation would have come about without Dahl and Nygaard's talk of classes and subclasses and instances and objects?<BR/><BR/><BR/>Maybe we should just extend Ole-Johan Dahl's common-sense statement:<BR/><BR/>"The importance of the OO paradigm today is such that one must assume something similar would have come about also without the Simula effort."<BR/><A HREF="http://heim.ifi.uio.no/~olejohan/birth-of-oo.pdf" REL="nofollow">The Birth of Object Orientation: the Simula Languages</A>Isaac Gouyhttps://www.blogger.com/profile/00226627985460018169noreply@blogger.com