[linux-audio-dev] Objective-C (was: gcc, you let me down...)
drobilla at connect.carleton.ca
Mon Jun 6 06:34:22 EDT 2005
On Mon, 2005-06-06 at 11:07 +0200, Toby wrote:
> Tim Goetze wrote:
> > I'm pretty much sold on Python as my high-level language of choice and
> > very reluctant to diversify in computer language literacy any further.
> I feel your pain. Python is by far my favorite language ever. However,
> I've recently been looking for an alternative *compiled* object-oriented
> language, because let's face it, Python is on average 10 times slower
> than C. Sometimes you just can't afford it.
> Enter Objective-C:
> - STRICT SUPERSET OF C: every valid C program is a valid ObjC program.
> This makes it trivial to include or link to C code and libraries and
> to mix procedural, object-oriented and ASM code in the same *file*.
> - SIMPLE: ObjC is plain C with one syntax addition and a few new
> keywords. It only extends the C language to support Smalltalk-like
> object-oriented features, because that's all you're going to need.
> No more operator overloading, templates, references, 'const', etc.
> - DYNAMICALLY TYPED: messages (method calls) are delivered according to
> the dynamic type of the target object, not to some static type. This
> is how Python works. You can even send an object a message that is
> not specified in its interface. This might seem like a bad idea, but
> instead it allows for powerful delegation-based design patterns.
> - FAST: Objective-C performs dynamically bound message calls very
> quickly, about 1.5-2.0 times as long as a plain C function call!
- UGLY INCONSITENT MESSAGE SYNTAX: An impessive feat in itself that
such a small number of additions to a language, while good in spirit,
can turn it into a complete mess of a mongrel only a mother could love.
More information about the linux-audio-dev