Re: Cocoa Newbie
Re: Cocoa Newbie
- Subject: Re: Cocoa Newbie
- From: "Erik M. Buck" <email@hidden>
- Date: Tue, 9 Oct 2001 00:20:32 -0500
People interested in the rationale behind C++ should read Stroustrup's
"Design and Evolution of C++". I call it the "apology". Even a casual
reader will realize the Stroustrup had no idea what he was doing and just
stumbled into the current quagmire. His goals were counter to good OO
practices. To the extent that he created a not very OO language, he
succeeded. One misguided choice led to another and so on until now we have
an ANSI spec. for C++ and not a single compliant compiler (that I know of).
There is no convention that lets C++ code compiled with one compiler link
with code from another. We have COM, SOM, DCOM, and IDL. We have STL...
Even the ANSI spec. could not nail down many aspects of C++. When must an
automatic type conversion happen ? When can it not happen ? When is it up
to the compiler implementation ? How is one template selected over another
when type conversions are involved ? There are lots of descriptions of the
problems and absurdities of C++ available. Ah... remember PL1 ? Mr.
Stroustrup has summarized many complaints and explained that C++ is not well
suited for use with many applications to which it has been applied. I
agree. No language is best suited to solving all problems. I just haven't
found any problem for which C++ is best suited in spite of being involved
with many projects including hundreds of thousands of lines of C++. For
extremely static systems, Eiffel is usually preferred. For extremely
dynamic systems, Smalltalk, Lisp, and numerous script languages are usually
preferred. For fairly dynamic systems composed of reusable components that
need to interoperate with C, Objective-C is sometimes a great choice. Logic
programming is interesting with Prolog. Text processing is interesting with
Snobal, perl, and others. There are nice expert system languages, and
neural net languages. Ada has some interesting qualities, but I usually
prefer Eiffel.
Java fits into the secure internet applet and backend server database
application niches. The only problem is that Java kind of sucks for many
database applications and is woefully underpowered, slow, buggy and bloated
when used for applets or any kind of significant client application.
----- Original Message -----