The NEXTSTEP/OpenStep FAQ

! to the table of contents
< to the previous section:
> to the next section:


3.4 Objective-C

Objective-C

To develop applications NeXT uses Objective-C as its native programming language. Objective-C is a more strict OO language then C++ but covers C as well as C++. Because NeXT uses the GNU C/C++ compiler, you go with the most spreaded and tested C compiler available for most UNIX platforms today. (Of course you can use Objective-C on every platform on which gcc is available).

Objective-C is different to other languages in the way it executes code. Objective-C uses a runtime library to dynamically access objects at runtime. This allows you to change objects at runtime etc. All this goes with nearly no speed penalty, because hashing mechanisms are used to access the different methods of an object.

There is also ObjC which is an different product, available as a commercial compiler for different operating systems. Don't mix up things with by using the expression ObjC instead of Objective-C. For shortcut purposes the NeXT community also uses the term ObjC/Obj-C but of course thinks of Objective-C by NeXT.

Objective-C isn't standardized, yet.

In Objective-C you are able to mix code. E.g. you can use C++ and C in any Objective-C program.

Objective-C is a simple and concise object-oriented extension to ANSI-C. It has a runtime messaging facility and offers dynamic binding. Distributed objects are supported and the code is optimized for native compilations.

It's syntax and programming technique is much like in SmallTalk. Using Objective-C you can even message objects in other applications, also over a network!



This document was converted from LaTeX using Karl Ewald's latex2html.