Re: [NTLK] PDFNewt

From: Sean Luke (sean_at_cs.gmu.edu)
Date: Mon Apr 15 2002 - 23:29:46 EDT


On Monday, April 15, 2002, at 08:43 PM, Laurent Daudelin wrote:

> On 15/04/02 10:31, "Smith, Bradley" <bradley.smith_at_artisansw.com> wrote:
>
>> <commence language war>
>> I disagree. I know C++ _VERY_ well. I know Objective-C hardly at all
>> but
>> it's a much better language IMHO :-)
>> </commence language war>
>
> I know both pretty well (well, I know ObjC a lot more) and I
> wholeheartedly
> agree. Much cleaner syntax than the convoluted C++, much more dynamic
> than
> the static C++ and much more flexible than the rigid C++. Plus, you can
> write all the C code you want.

Before I did Newton stuff, I was an extensive NeXTSTEP developer. So I
think I know Obj-C pretty well too. :-)

Obj-C has a great many nice features, not the least of which is that it
is a small language to learn. But it has some glaring problems. First,
it suffers from the brittle-superclass problem: if you compile Class X
into a library, then applications subclass Class X, then you change the
library to add a few instance variables to Class X, the applications
must be recompiled. That is a terrible design flaw for a language
created for the component market. Of course, C++ has the brittle
superclass problem even worse: if you add instance variables OR new
member functions, things break. But Java and most modern languages
don't have the problem at all.

Second, Obj-C is not garbage-collected, and its reference counting
scheme is slow and insufficient for even Apple's own needs (Apple
violates reference counting internally in many places). Last, the
language has poor serialization, not super great multithreading support,
and tends to create large, monolithic objects.

That being said, it's still a much better language than C++.

Sean

-- 
Read the List FAQ/Etiquette: http://www.newtontalk.net/faq.html
Read the Newton FAQ: http://www.guns-media.com/mirrors/newton/faq/
This is the NewtonTalk mailing list - http://www.newtontalk.net



This archive was generated by hypermail 2.1.2 : Sun May 05 2002 - 14:03:52 EDT