Linked by Eugenia Loli-Queru on Sun 5th Nov 2006 22:59 UTC
General Development David Chisnall takes a look behind the scenes at Apple's upcoming revamp of the Objective-C language. As with any new language, some things are good, some are ugly, and some are both.
Thread beginning with comment 179280
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Not dead yet?
by Cloudy on Mon 6th Nov 2006 17:47 UTC in reply to "RE: Not dead yet?"
Cloudy
Member since:
2006-02-15

Objective-C is the simplest modification of C to add _proper_ object orientation, modelled after the Smalltalk paradigm. Much, much better than C++ ;-) and extremely far from "a bad idea", to the contrary.

I argued with Brad about this at the time and no one has convinced me differently since: The primary basis of SmallTalk as an object oriented system is that every "thing" is an object.

Objective-C fails rather completely as a proper object oriented system on that basic criteria.

It grafts the less important aspects of object-orientation onto C without making the language an object oriented language. (C++ has the same failing as an OO language.)

Reply Parent Bookmark Score: 2

RE[3]: Not dead yet?
by NicolasRoard on Mon 6th Nov 2006 19:50 in reply to "RE[2]: Not dead yet?"
NicolasRoard Member since:
2005-07-16

The primary basis of SmallTalk as an object oriented system is that every "thing" is an object.

Objective-C fails rather completely as a proper object oriented system on that basic criteria.


Academically, yes, I would agree with you. Objective-C is a compromise language: it's not as beautiful or clean as Smalltalk, but it lets you work properly with existing C code, is dynamic, and fairly fast (and can be as fast as needed by using C methods/caching imp). Certainly it's a very useful language. Beside, one of the great thing with Objective-C is, strangely enough, the OpenStep framework (Cocoa or GNUstep). Between developing a gui application in Smalltalk and in Objective-C, I will take Objective-C + OpenStep every day, even if, as a language, I prefer Smalltalk. But my point is, while Objective-C is not as nice as Smalltalk, it's the next best thing if you want to use C.

It grafts the less important aspects of object-orientation onto C without making the language an object oriented language. (C++ has the same failing as an OO language.)

Less important aspects ??? To the contrary, it embodies all the important ones :-) -- particularly, it considers objects as "living entities" sending/receiving messages. To me, it's much more important to have a dynamic language with introspection/reflexion than having everything as objects. Don't get me wrong -- I agree with you, having everything as objects is wonderful, and extremely handy (and actually impact the introspection capacities, of course). But I'm very happy with the compromise Objective-C reached.

Edited 2006-11-06 19:53

Reply Parent Bookmark Score: 3

RE[3]: Not dead yet?
by GStepper on Tue 7th Nov 2006 12:30 in reply to "RE[2]: Not dead yet?"
GStepper Member since:
2006-03-08

The primary basis of SmallTalk as an object oriented system is that every "thing" is an object.

I understand that you'd prefer a complete "everything is an object" language but please tell me one thing...

- How can a superset of C (an ESSENTIAL aspect of ObjC) could treat everything as an object ?

Reply Parent Bookmark Score: 2

RE[4]: Not dead yet?
by Cloudy on Wed 8th Nov 2006 03:45 in reply to "RE[3]: Not dead yet?"
Cloudy Member since:
2006-02-15

The primary basis of SmallTalk as an object oriented system is that every "thing" is an object.

I understand that you'd prefer a complete "everything is an object" language but please tell me one thing...

- How can a superset of C (an ESSENTIAL aspect of ObjC) could treat everything as an object ?


It can't, which is why Objective-C can't really be described as derived from SmallTalk.

Reply Parent Bookmark Score: 1