Re: Cocoa Newbie
Re: Cocoa Newbie
- Subject: Re: Cocoa Newbie
- From: Marcel Weiher <email@hidden>
- Date: Tue, 9 Oct 2001 01:59:28 +0200
On Tuesday, October 9, 2001, at 01:11 AM, Ben Mackin wrote:
John C. Randolph wrote:
Try LISP, Forth, Python, Perl, and one or two assemblers.
Also Prolog for a really radically different approach. You should also
at least look at one of the more modern functional languages. Ondra
mentioned Smalltalk and I would like to second and third that
suggestion! The person who coined the term "object oriented", Alan Kay,
also was the inventor of Smalltalk, (together with Dan Ingalls), so this
is at the very least an important historical perspective.
However, modern Smalltalk implementations are also still pretty much the
most productive programming environments around, so do take a look.
How different are C++ and Objective C? they both branch off from C,
correct? Why did you mention that C++ is a headache? How is objective C
easier to learn/implement than C++?
Yes, both Objective-C and C++ have C in common as their base. However,
Objective-C goes pretty much as far as you can in supporting full OO,
basing its extensions on Smalltalk, whereas it was an explict goal of
C++ to have only as much OO as could "reasonably" be supported in a
systems programming language that stays true to original C.
The development over the years has shown that the C++ approach of "just
a little OO" didn't really work out (sort of like "a little pregnant"),
see the feature creep that's resulted in the current behemoth of a
language specification. Objective-C added essentially just one
feature: fully dynamic, runtime-based dynamic message dispatch and some
syntactic sugar for class-definitions and these dynamic message sends.
As I said before, this was taken from Smalltalk, and Smalltalk has shown
since about 1972 that that is all you really need. As to ease of
implementation: I managed to implement a simple Objective-C runtime and
pre-processor when I was 17 years old using just a C compiler and having
no experience with parsing/compiling or any other part of language
implementation. I am much older now, have a CompSci degree and
significant industry experience including some more language
implementations, and I am not sure I'd be up to implementing a C++
system.
Marcel
--
Marcel Weiher Metaobject Software Technologies
email@hidden www.metaobject.com