Re: Cross platform Cocoa/Obj-C
Re: Cross platform Cocoa/Obj-C
- Subject: Re: Cross platform Cocoa/Obj-C
- From: "Erik M. Buck" <email@hidden>
- Date: Fri, 21 Dec 2001 22:43:30 -0600
- Organization: EMB & Assocites Inc.
Eiffel and Objective-C are at opposite extremes of the OO spectrum.
Eiffel's philosophy is that absolutely everything must be known before any
coding can begin and then nothing can ever change. It encourages rigidity,
specificity, maximum compile time checking, and absolutely no dynamism under
any circumstances. Objective-C embraces change as inevitable, encourages or
at least supports the least possible specificity, and sometimes can not
check anything at compile time due to separate compilation, distributed
objects, and dynamically loaded code.
Eiffel is a wonderful language if no experimentation is desired. If you know
your problem domain well and have already written a complete design and
specification including at least 3 words for every line of code that will be
written, Eiffel is the language you want. Eiffel is excellent for building
aircraft control systems, satellite guidance systems, etc. If you want to
build something, verify or certify it, deploy it in outer space and never
ever perform maintenance on it or have to, Eiffel is for you.
If you do not yet know all of the answers, you want to experiment with a few
different ideas, or you would like to add plugins or support lifetime
enhancements you will prefer Objective-C. If you can use Openstep
frameworks, you will save a lot of time and witness a lot of dynamism. If
you think software evolves and requirements are never fully know then
Objective-C is for you. If you are certain that there will be at least 3
versions of your software, suspect a re-architecting might sometime be
needed, and are sure there will be bugs and future maintenance, then
Objective-C is for you.
----- Original Message -----