I met him once in the late 1990s, when his travels took him to Zurich and he asked me whether I could book a talk for him at ETH Zurich, where I was a grad student. I did not quite share his confidence in my abilities in that area, but to my relief, Jürg Gutknecht agreed to sponsor the talk, and I got to spend lunch with Brad Cox, Niklaus Wirth, and Jürg Gutknecht. Given their highly divergent aesthetics in language…
> I don't think we're any closer to plug and play "Software ICs" than we were in the mid-1980s when he introduced the term. A lot of modern infrastructure works like that -- function as a service, serverless, k8s boxes, etc.
Brad Cox has died
181–190 of 197 posts
Re: Brad Cox has died
#182Earlier quoted context omitted.
Alan Kay didn't invent object oriented programming though he was instrumental in expanding its scope and usage. Simula 67 was a big influence on Kay's work, and as he has noted, the "revelation" that "it's all messages" was a huge one. But Smalltalk is just one OOP language, not the only one and not even the original one (though we could argue about how much Simula was or was not OOP, and I'd rather not). The message…
Actually he did invent Object Oriented programming. Simula was an inspiration, but was never considered as object oriented. After Kay came up with the concept, Simula was identified as part of the historical background. “I invented the term object oriented, and I can tell you that C++ wasn't what I had in mind.” —Alan Kay.
https://www.sciencedirect.com/science/article/pii/S089054011...
http://kristennygaard.org/FORSKNINGSDOK_MAPPE/F_OO_start.htm...
Kay came up with the term "object oriented programming", but he has made it very clear that what he had in mind has little relationship to what most people mean by that term today.
If you want to give Kay veto power over the correct application of the term, be my guest but please be consistent across all other cases where a word or phrase changes its meaning over time.
Contemporary OOP pays only lip service to Kay's ideas (something he would be the first to say), and is only tangentially influenced by Smalltalk at this point (Objective C probably being one of the few widely used counterpoints to that).
Re: Brad Cox has died
#183Earlier quoted context omitted.
Objective C loses to C++ for performance if you really start exploiting OOP a lot. The fact the you can swizzle methods in ObjC says a lot about the "weight" of the underlying implementation ("it's all messages") compared to C++.
The fact that you can swizzle methods also says a lot about its power and flexibility. When Steve Jobs was at NeXT, he was quoted numerous times bashing C++ as having 'dead objects' while pointing out that ObjC objects were 'alive'. One seldom needs to make use of swizzling, but when you do need it, it's an awesome capability. As prabhatjha pointed out in another comment in this thread, swizzling was used to automati…
Actually, it would, but not via any feature of the language. You can use features of the linker to accomplish this (particularly LD_PRELOAD). It's not the same thing, really, but it felt worth mentioning for the record.
Re: Brad Cox has died
#184Earlier quoted context omitted.
Actually he did invent Object Oriented programming. Simula was an inspiration, but was never considered as object oriented. After Kay came up with the concept, Simula was identified as part of the historical background. “I invented the term object oriented, and I can tell you that C++ wasn't what I had in mind.” —Alan Kay.
Dahl & Nygard would not agree with you: https://www.sciencedirect.com/science/article/pii/S089054011... http://kristennygaard.org/FORSKNINGSDOK_MAPPE/F_OO_start.htm... Kay came up with the term "object oriented programming", but he has made it very clear that what he had in mind has little relationship to what most people mean by that term today. If you want to give Kay veto power over the correct application of the…
They are retrospectives written by other people talking about their work. Not papers by Dahl and Nygard themselves.
Just because you can find some people who are making the same retrospective mistake you are, doesn’t change the history.
OOP was defined by message passing.
What you are calling ‘contemporary OOP’ is a cargo cult based on a failure to appreciate that. The problems with this are increasingly acknowledged.
If you want to say OOP is class based programming, be my guest, but your statements about the history that I responded to are simply false.
Re: Brad Cox has died
#185Earlier quoted context omitted.
Dahl & Nygard would not agree with you: https://www.sciencedirect.com/science/article/pii/S089054011... http://kristennygaard.org/FORSKNINGSDOK_MAPPE/F_OO_start.htm... Kay came up with the term "object oriented programming", but he has made it very clear that what he had in mind has little relationship to what most people mean by that term today. If you want to give Kay veto power over the correct application of the…
Those links don’t support your claim about Dahl and Nygard. They are retrospectives written by other people talking about their work. Not papers by Dahl and Nygard themselves. Just because you can find some people who are making the same retrospective mistake you are, doesn’t change the history. OOP was defined by message passing. What you are calling ‘contemporary OOP’ is a cargo cult based on a failure to appreciat…
> How Object-Oriented Programming Started > > by Ole-Johan Dahl and Kristen Nygaard, > Dept. of Informatics, University of Oslo
The first link is "based on an invited talk" given by the author at the Dept. of Informatics, University of Oslo, with colleagues of (then-deceased) Dahl and Nygaard in attendance. That doesn't guarantee anything in particular, but it makes it likely that they are not making stuff out of thin air.
If OOP was defined by message passing, why was it necessary for Kay to note in 1998 that people had apparently lost sight of this (his) definition?
If you want to say that C++ programming is not OOP, be my guest, but your statements about the history of OOP are not part of some canon or bible.
Re: Brad Cox has died
#186Earlier quoted context omitted.
Those links don’t support your claim about Dahl and Nygard. They are retrospectives written by other people talking about their work. Not papers by Dahl and Nygard themselves. Just because you can find some people who are making the same retrospective mistake you are, doesn’t change the history. OOP was defined by message passing. What you are calling ‘contemporary OOP’ is a cargo cult based on a failure to appreciat…
The second link is titled: > How Object-Oriented Programming Started > > by Ole-Johan Dahl and Kristen Nygaard, > Dept. of Informatics, University of Oslo The first link is "based on an invited talk" given by the author at the Dept. of Informatics, University of Oslo, with colleagues of (then-deceased) Dahl and Nygaard in attendance. That doesn't guarantee anything in particular, but it makes it likely that they are…
Nevertheless it is just a retrospective application of a term that they didn’t invent, and doesn’t change the history or substantiate the false claim that they invented the term.
OOP was defined by message passing and as you say people lost sight of the idea, largely due to C++
Kay did invent the term. It was about message passing.
Later people used it to describe something else which has little resemblance to the original idea.
It’s fair to say that it’s not part of some canon and of course people are free to miss the point of something and cause a second definition of a word to enter circulation.
Irrespective of canon or multiple definitions, your statements about the history itself in your earlier comments are just false.
Re: Brad Cox has died
#187Earlier quoted context omitted.
I think the vision of Software ICs was delivered most fully by VBX custom controls for Visual Basic and Delphi. Superseded by OCX. There were hundreds of them you could download for free or paid, doing all kinds of GUI and non-GUI tasks. Doesn’t seem so popular now.
Depends on which circles you move around. https://www.actiprosoftware.com/ https://www.grapecity.com/ https://www.telerik.com/ Just a sample, there are others.
Maybe Wordpress plugins are the spiritual successor.
Re: Brad Cox has died
#188Earlier quoted context omitted.
Mostly the latter, I would assume. Apple didn't really use anything other than Objective-C for its application frameworks (and still generally does not, for the most part).
I read in multiple sources, usually the kind of comments that is only possible to validate with inside info, that to this day not all business units are sold on Swift.
Re: Brad Cox has died
#189Earlier quoted context omitted.
I moved there in 1992 from Warrenton, predictably due to misfortune. Couldn't get out of Bobbitt-Land fast enough. Glad it's improved. Do city cops there still obsess over teen boy genitals? https://www.techdirt.com/articles/20140709/07330027823/prose...
Manassas just elected its first Democrat mayor in like 100 years, for what it’s worth. The area isn’t as prosperous as the rest of NoVA but it’s kind of being forced to stop being looked at as a slum. Home prices YoY led the entire state this past year with the growth of remote employment. I know plenty of people still call it a NoVA ghetto similar to Herndon, but I’m happy to not be shielded from day to day reality…
I never considered Manassas to be a slum or ghetto. In the early 90's, I found it to be a stifling place dominated by people who seemed resigned to live in a very small world.
Re: Brad Cox has died
#190Earlier quoted context omitted.
The fact that you can swizzle methods also says a lot about its power and flexibility. When Steve Jobs was at NeXT, he was quoted numerous times bashing C++ as having 'dead objects' while pointing out that ObjC objects were 'alive'. One seldom needs to make use of swizzling, but when you do need it, it's an awesome capability. As prabhatjha pointed out in another comment in this thread, swizzling was used to automati…
> This simple and elegant solution would not have been possible with C++ Actually, it would, but not via any feature of the language . You can use features of the linker to accomplish this (particularly LD_PRELOAD). It's not the same thing, really, but it felt worth mentioning for the record.