[rescue] a pointless defense of Obj-C
skeezics at q7.com
Sat Sep 24 19:26:19 CDT 2005
On Sat, 24 Sep 2005, Peter wrote:
> Joshua Boyd <jdboyd at jdboyd.net> wrote:
> > I've now spent the past three days working on Objective C. For years
> > I was sure I'd love it because it sounded so nice and clean, but now
> > that I'm using it, I find that I don't like the syntax. Drat. Maybe
> > it will start to grow on me eventually. I can only hope.
> There's also the separate construction and initialisation steps for
> objects, and manually freeing memory. Type and name checking is
> generally deferred until run time, and you'll usually not get a
> helpful error message when this happens. The nineteen-eighties called,
> and they want their programming language back.
Apple tried to do NextStep in C++: they called it Taligent, and it was a
huge fscking disaster, a monsterous money suck, and a complete waste of
time. Did they ever actually ship _anything_?
Sun tried to redo OpenStep in C++: it took 3 years to "port" to Solaris,
they released one beta, and then killed it. They spent all those
resources to _port_ an existing code base to C++ and maintain the same
functionality... gosh, if C++ was so vastly superior, why was it so hard?
What alternative to Objective C even _existed_ when NeXT was started that
would have given them the ability to write NeXTstep, with all of the
dynamic features that made it so cool (and that live on in MacOSX today)?
Should NeXT have pleased the programming purists and shipped a Smalltalk
machine? A Lisp machine? Or should they have followed the Taligent path
and ended up never shipping anything at all? (I guess Be did manage to
ship their box and OS, eventually, but they were following the highly
successful NeXT game plan, with the same results. Go figure.)
> > About the only reason Objective C is still around not a historical
> > warning of what not to do when designing a language is because Apple
> > didn't fancy re-implementing NextStep in C++ when they turned it into
> > Cocoa.
I'm amazed that people still don't understand and appreciate how much NeXT
really accomplished, even though they failed as a company...
NeXT created an insanely elegant, compact, and powerful object framework
for NeXTstep - something like 39 class objects for the whole thing? -
while Taligent, on the other hand, produced something like 50,000 objects
and several million lines of code and, gosh, surprisingly, it all blew up?
(I don't remember the exact numbers, but some NeXT developers sitting in
the audience at a Taligent developer conference nearly wet themselves
laughing about it.) Hooray for static IDLs! Hooray for overfactoring
everything within a nanometer of its life! Hooray for bloat on a totally
mindfucking scale! Bleah. Have you seen the latest Java class library
posters? They're the size of billboards now.
You can actually _learn_ ObjC and the Cocoa API and keep much of it in
your head. That makes it _productive_, even if it is "weird". And I've
got NeXT machines here with 400MB hard drives that contain the entire OS,
developer tools, applications, swap space, AND room for my home directory;
what's it take to unpack the latest Mozilla/Linux/Whatever SOURCE and try
to build it these days?
It doesn't matter, though; Apple seems to be shifting more to Java anyway.
So next year they'll be selling you a fattened up 1970s microcontroller
running a 1980s microkernel under a 1990s BSD runtime (dating back to the
70s, of course) with a 1980s language (actually two languages from the 70s
glommed together) but with a 2000 price tag. And it won't even be as
pretty as NeXTstep was, given how "Aqua" has already degenerated into an
inconsistent mess, but whatever. It'll be SHINY! Woohoo!
Of course, after the x86 commodity market gives Apple the Bitch Slap of
Reality and they stop making hardware altogether to focus on OSes or
developer tools, then you'll be able to write applications for Windows,
using the Cocoa API... in Java, or C#... no more icky Obj-C! Gosh, I'm
really looking forward to that.
We don't need all kinds, we just got all kinds.
More information about the rescue