Re: ObjC API != Cocoa (Re: Another controversial question)
Re: ObjC API != Cocoa (Re: Another controversial question)
- Subject: Re: ObjC API != Cocoa (Re: Another controversial question)
- From: Ken Tabb <email@hidden>
- Date: Wed, 5 Sep 2001 16:12:15 +0100
And so it was that Ondra Cada said on 5/9/01 1:36 pm:
>
Ken,
>
>
>>>> Ken Tabb (KT) wrote at Wed, 5 Sep 2001 10:28:13 +0100:
>
KT> So how come OpenGL doesn't have an OO API? Maybe the OpenGL ARB are
>
KT> stupid, or haven't considered it?
>
>
I guess the latter.
I think you are misjudging them. Something tells me they have considered
it. Possibly (and I'm speculating with no evidence at all) they think OO
is inherently not as good as non-OO (declarative, procedural, functional,
whatever) in which case I'd disagree with them and agree with you, or
possibly they just don't see a way of getting decent hardware
acceleration through an OO API. Who knows? Maybe they've even tried it?
There's a thought.
>
You can make _theoretical_ calculations how non-OO API can be more
>
effective
>
all way you want to. I am writing both C-API and OpenStep-API based
>
applications for years, though, and I compared the _real_ results.
It's not just theory. Your argument is OO vs. non-OO APIs, not
specifically C vs. Obj-C. I too have written a fair amount of C and C++
code (only been doing Cocoa/Obj-C for a year or so), and can agree that
OO programming is generally speaking easier, more reliable (less bug
prone, easier to fix etc.), faster to develop etc. than non-OO code. And
I definitely prefer C/Obj-C to C/C++. But are you really telling me your
OO code takes less memory than your non-OO code? I would love to see how
inefficient your non-OO code is. You're back again with your 'effective'
and 'requirements' type vague definitions of criteria, making it hard to
either agree or disagree with you.
You seem to be saying that *in all situations* OO programming beats
non-OO programming on *every* possible 'common' requirement (speed,
memory, ease, portability, all of the previous ones, etc.). It just plain
isn't true. Either you're not comparing like with like, or your OO
programming far outstrips your non-OO programming skills, so the code is
not of the same quality (aside from whether or not it's OO of course). We
are not arguing how 'effective' Cocoa is, Obj-C is, C++ is etc. We are
arguing how 'effective' OO vs. non-OO is.
If you are so sure I'm wrong, why don't you put your money where your
mouth is... write an Obj-C API for OpenGL, which supports the same (or
better) hardware acceleration that the current
procedural/declarative/functional OpenGL API does, on all platforms which
currently license OpenGL (portability is another usual factor for
developers) and license it. You'd make a mint.
Yours anticipating-some-of-the-royalties-ly,
Ken
----------------------------------------------
Ken Tabb
Mac & UNIX Propellerhead & Network Bloke (Health & Human Sciences)
Computer Vision / Neural Network researcher (Computer Science)
University of Hertfordshire
e-mail: email@hidden
http://www.health.herts.ac.uk/ken/
Certified non-Microsoft Solution Provider