C is fastest

Lennart Sorensen lsorense-1wCw9BSqJbv44Nm34jS7GywD8/FfD2ys at public.gmane.org
Thu Oct 15 14:06:41 UTC 2009


On Thu, Oct 15, 2009 at 02:02:04AM -0400, Yanni Chiu wrote:
> Christopher Browne wrote:
>> You'll find a number of us that haven't "taken the OO kool-aid."
>
> It's sad if your impression of OO is formulated from C++ and Java. OO  
> was originally conceived of in Smalltalk, and in that environment,  
> objects have a "liveness" characteristic that was a design goal. This is  
>  missing in a dead code environment like C++ and Java, where the code is 
> just text in a file. In Smalltalk, objects are all available to be poked 
> and prodded via inspectors. Even the class object itself can be  
> inspected, just like any other object you've created.

Actually simula-67 had objects and classes and all that long before
smalltalk existed.  It is considered the first OO language.

> To pick up on an earlier critique of OO from someone else (namely that  
> you have to create a class be able to start writing code), this idea has  
> been explored in the Self language. In Self, there is no distinction  
> between classes and non-classes. Everything is just a thing with slots  
> to hold other things. What I've been told is that you start out creating  
> new objects without thinking about classes as you develop your system,  
> and by the time you've finished re-factoring and such, you end up with  
> some objects that pretty much function like classes. These class-like  
> objects end up holding the behaviour that's common for a group of  
> objects. There can still be some objects that don't have an associated  
> class-like object though.

But I don't want everything to be an object.  It doesn't fit a lot of
problems well at all.  Objects can be useful tools (although far less
often than people try to use them).  They should not be required in
a language.

-- 
Len Sorensen
--
The Toronto Linux Users Group.      Meetings: http://gtalug.org/
TLUG requests: Linux topics, No HTML, wrap text below 80 columns
How to UNSUBSCRIBE: http://gtalug.org/wiki/Mailing_lists





More information about the Legacy mailing list