6 ms·
Imagine adding object orientation to the C and Scheme programming languages. Making Scheme object-oriented is a sophomore homework assignment. On the other hand
by protomyth 7y ago
Imagine adding object orientation to the C and Scheme programming languages. Making Scheme object-oriented is a sophomore homework assignment. On the other hand, adding object orientation to C requires the programming chops of Bjarne Stroustrup.
I like to think Brad Cox did a pretty good job and remained compatible with the base language.
- gaze 7y agoAh yes, the speed of smalltalk with the memory protection of C.
- protomyth 7y agoYeah, but Objective-C spawned NeXTSTEP, and C++ got us Taligent.
- pjmlp 7y agoIn a way both are market failures. NeXTSTEP only survives because Apple decided to buy NeXT instead of Be, and they did an inverted acquisition once inside Apple.
- protomyth 7y agoNeXT was making money at the end, and powered OS X for a lot of years. Taligent released a framework and died. I love Be but it wasn't in the same league as NeXTSTEP, and I had both at the time.
- pjmlp 7y agoWhat money were they making? Their agreement with Sun to create the future of Solaris SDK failed, with Sun using their work as genesis of J2EE. And their pivot into OpenSTEP wasn't selling like faster then they were bleeding. My thesis was to port a particle engine from NeXT to Windows, as my department was getting rid of their Cubes. Had Apple not bought them and we would be remembering NeXT just like Amiga, Atari, Be,....
- protomyth 7y agoWebObjects was doing quite well.
- pjmlp 7y agoIn what markets? Besides a couple of DDJ articles, I never saw it anywhere. Even the famous Steve Jobs presentation I only got to be aware of it years later when someone uploaded the VHS recordings to YouTube. Even those Cube workstations at the university seemed like pure luck having someone signing off their purchase. Which they repented afterwards and got students like myself to port their 3D research to Windows as part of our graduation thesis.
- protomyth 7y agoDell's website used it. Just because you didn't see them doesn't mean things don't exist. How many Cray computers or iSeries machines have you seen in the wild?
- pjmlp 7y agoiSeries plenty of them in Portugal, part of my high school internship required doing backups of OS/400, used to be quite common across medium size companies. The old Cray has "died", they just assemble Linux/Windows HPC clusters like everyone else.
- coldtea 7y agoOr, you know, the speed and compatibility with everything of C, with the higher level organization of Smalltalk...
- mumblemumble 7y agoThe author seems to be well aware, given that, a couple paragraphs later, Brad Cox's efforts become one of the key features of his argument: > Once again, consider the C programming language in that thought experiment. Due to the difficulty of making C object oriented, only two serious attempts at the problem have made any traction: C++ and Objective-C. Objective-C is most popular on the Macintosh, while C++ rules everywhere else. That means that, for a given platform, the question of which object-oriented extension of C to use has already been answered definitively. The point isn't that you can't do it. It's that, for a language like C, it's a big enough effort that it's only really happened a couple times, and nobody strays much away from those two options because the effort required to do so would be immense. Whereas, I think that the difficulty of doing so in Scheme is overrated. We had to implement a fairly decent version as a Scheme homework assignment during my very first semester of my very first year as an undergraduate. It's so easy in Scheme that it's plausibly faster to write your own than it is to choose and then read the documentation of an off-the-shelf option.
- protomyth 7y agoYeah, but I think Brad Cox deserves to be named. As a side note he has two really good (if a bit dated) books: "Object-oriented programming ; an evolutionary approach" and "Superdistribution: Objects as Property on the Electronic Frontier".
- aoeu512 7y agoIf you build your own you'll have to debug it. If you get it from off-the-shelf and its built well, it'll be readable and small.
- deleted 7y ago[deleted]