01.02.2014 Views

Objective-C Fundamentals

Objective-C Fundamentals

Objective-C Fundamentals

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A short history of <strong>Objective</strong>-C<br />

313<br />

The language was first widely distributed as Smalltalk-80 in 1980, and ever since,<br />

Smalltalk has left its mark on a number of more recent programming languages.<br />

C.1.1<br />

C.1.2<br />

The origins of <strong>Objective</strong>-C<br />

In the early 1980s, Dr. Brad Cox and his company, Stepstone Corporation, experimented<br />

with adding Smalltalk-80-style object-oriented features to the preexisting and<br />

popular C programming language. They soon had a working prototype, which they<br />

called Object-Oriented Programming in C (OOPC).<br />

This language continued to evolve, and in 1986, Brad Cox published Object-Oriented<br />

Programming: An Evolutionary Approach, a book that outlines the original description of<br />

what had by then become <strong>Objective</strong>-C. This was a clean layer of object-oriented features<br />

on top of the C programming language. Early implementations consisted of a<br />

preprocessor that turned <strong>Objective</strong>-C code into C source code, which was then processed<br />

by a standard C compiler. Being a true superset of C, <strong>Objective</strong>-C had the<br />

advantage of being familiar to existing C developers, making it possible to compile<br />

any valid C program with an <strong>Objective</strong>-C compiler. This enabled a high level of code<br />

reuse with existing C-based libraries.<br />

Popularization via NeXT Inc.<br />

In 1988, NeXT Inc. (founded by Steve Jobs when he left Apple in 1985) licensed<br />

<strong>Objective</strong>-C from Stepstone Corporation and developed its own compiler and runtime<br />

library for the language. The compiler and runtime library were used as the<br />

foundations of the development environment for the NeXTStep operating system,<br />

which powered its new, innovative, and some would say well-ahead-of-its-time, highend<br />

workstations, such as the NeXT Computer and NeXTCube.<br />

The NeXTStep operating system has a revered position in computer history. It garnered<br />

widespread respect as an innovative platform, although it was also criticized for<br />

its expensive price point compared to commodity IBM PCs of the day. But many innovations<br />

in a number of fields are attributed to users of NeXTStep-based computers.<br />

For example, Sir Tim Berners-Lee developed the first web browser on a NeXT computer<br />

and had the following to say about the development experience:<br />

I wrote the program using a NeXT computer. This had the advantage that there were some<br />

great tools available—it was a great computing environment in general. In fact, I could do<br />

in a couple of months what would take more like a year on other platforms, because on the<br />

NeXT, a lot of it was done for me already.<br />

“The WorldWideWeb Browser,”<br />

(www.w3.org/People/Berners-Lee/WorldWideWeb)<br />

Even the now classic DOOM and Quake games from id Software have elements of their<br />

development history intertwined with <strong>Objective</strong>-C and NeXTStep hardware. John<br />

Romero reflected recently on why he’s still passionate about NeXT computers these<br />

many years later:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!