The Origins of Objective-C at PPI/Stepstone and Its Evolution at NeXT
Been re-reading this article
<https://dl.acm.org/doi/abs/10.1145/3386332> about the early days of Objective-C -- the ?other? major object-oriented enhancement of C,
that was a rival to C++ (somewhat) for a while.
Back then, developing a new compiler from scratch was hard. The
original Stepstone Objective-C processor was, like CFront for C++, a preprocessor that output C code.
Then, Stallman?s GNU Project released GCC. Initially that stood for
?GNU C Compiler?, but that soon turned into ?GNU Compiler Collection?,
as the code was consciously structured to allow alternative language front-ends to share a common code-generation back-end.
This adaptability was quite evident to the bright folks at the one significant company to adopt Objective-C as a crucial
productivity-enhancing tool, namely NeXT:
GCC was first released in 1987. Although it was far from complete,
GCC appeared well crafted. Nevertheless, the idea of free software
collaboration seemed radical and unsettling at the time. The
decision to use GCC was risky. [NeXT?s] Naroff immediately
established a working relationship with Richard Stallman. Stallman
turned out to be one of the most prolific programmers Naroff had
ever worked with, often turning around bug fixes within an hour or
so, much more agile than the average commercial company. Within a
few months, Naroff was convinced that GCC and the free software
development model was a huge competitive advantage for NeXT.
Now, Stallman has told the story elsewhere of a company he did not
name, that tried to use GCC as the foundation for its Objective-C
compiler. They initially refused to open-source it, until he made it
clear that the General Public License (or ?GPL?) under which the code
they used was released, required that they make available the source
code to anything they redistributed that was built on it.
I thought that company was Stepstone, but it seems they stuck with
their preprocessor:
To avoid fragmenting the language, Naroff asked Stepstone to
collaborate with NeXT on GCC. The free software ?pitch? didn?t
resonate with Stepstone?they stuck with the separate translator
and eventually decided to track NeXT?s feature additions.
Nevertheless, this would lead to a fork between NeXT and
Stepstone?s versions of the language.
while it was NeXT that created the native compiler. Therefore it must
have been the NeXT compiler Stallman was talking about. All the
article says on this point is:
NeXT contributed the Objective-C front-end back to Stallman?s Free
Software Foundation. According to Naroff, NeXTSTEP was the first
commercial operating system to embrace GCC, helping validate what
would in later years come to be known as ?open source? development
for commercial use.
Makes it sound like it was all amicably done and part of the plan to
begin with, etc.
But realistically, in those days, a commercial company voluntarily
giving away its source code -- especially to something it saw as a
crucial competitive edge -- would have been unheard of. So to me, this
makes Stallman?s version somewhat more plausible.
NeXT Software licensed the Objective-C language in 1988 and developed
its libraries and a development environment called NEXTSTEP in 1992,
Objective-C support was added to the Free Software Foundation's GNU
development environment. The copyrights for all Free Software Foun-
dation (FSF) products are owned by the FSF. It is released under the
GNU General Public License.
The Origins of Objective-C at PPI/Stepstone and Its Evolution at NeXT
Been re-reading this article
<https://dl.acm.org/doi/abs/10.1145/3386332> about the early days of Objective-C -- the ?other? major object-oriented enhancement of C,
that was a rival to C++ (somewhat) for a while.
Back then, developing a new compiler from scratch was hard. The
original Stepstone Objective-C processor was, like CFront for C++, a preprocessor that output C code.
Then, Stallman?s GNU Project released GCC. Initially that stood for
?GNU C Compiler?, but that soon turned into ?GNU Compiler Collection?,
as the code was consciously structured to allow alternative language front-ends to share a common code-generation back-end.
This adaptability was quite evident to the bright folks at the one significant company to adopt Objective-C as a crucial
productivity-enhancing tool, namely NeXT:
GCC was first released in 1987. Although it was far from complete,
GCC appeared well crafted. Nevertheless, the idea of free software
collaboration seemed radical and unsettling at the time. The
decision to use GCC was risky. [NeXT?s] Naroff immediately
established a working relationship with Richard Stallman. Stallman
turned out to be one of the most prolific programmers Naroff had
ever worked with, often turning around bug fixes within an hour or
so, much more agile than the average commercial company. Within a
few months, Naroff was convinced that GCC and the free software
development model was a huge competitive advantage for NeXT.
Now, Stallman has told the story elsewhere of a company he did not
name, that tried to use GCC as the foundation for its Objective-C
compiler. They initially refused to open-source it, until he made it
clear that the General Public License (or ?GPL?) under which the code
they used was released, required that they make available the source
code to anything they redistributed that was built on it.
I thought that company was Stepstone, but it seems they stuck with
their preprocessor:
To avoid fragmenting the language, Naroff asked Stepstone to
collaborate with NeXT on GCC. The free software ?pitch? didn?t
resonate with Stepstone?they stuck with the separate translator
and eventually decided to track NeXT?s feature additions.
Nevertheless, this would lead to a fork between NeXT and
Stepstone?s versions of the language.
while it was NeXT that created the native compiler. Therefore it must
have been the NeXT compiler Stallman was talking about. All the
article says on this point is:
NeXT contributed the Objective-C front-end back to Stallman?s Free
Software Foundation. According to Naroff, NeXTSTEP was the first
commercial operating system to embrace GCC, helping validate what
would in later years come to be known as ?open source? development
for commercial use.
Makes it sound like it was all amicably done and part of the plan to
begin with, etc.
| Sysop: | Tetrazocine |
|---|---|
| Location: | Melbourne, VIC, Australia |
| Users: | 9 |
| Nodes: | 8 (0 / 8) |
| Uptime: | 42:04:18 |
| Calls: | 220 |
| Files: | 21,513 |
| Messages: | 84,866 |