golden pinions

  • rss
  • archive
  • About Me
  • “

    To tailor Objective-C to NeXT’s needs, Stepstone engineer Steve Naroff took over  development from Cox, and made significant additions to the language to support NeXT’s visual programming tool, InterfaceBuilder. Naroff’s work was so important that he was eventually hired by Steve Jobs at NeXT and later stayed on at Apple. Naroff integrated Objective-C directly into the C compiler NeXT was using, the open source GNU C compiler, GCC, working closely with Richard Stallman. This eliminated the separate translation step. To support InterfaceBuilder, Naroff added a key feature to the language: “categories” (known today as “class extensions”), a way to dynamically add methods to an existing class without subclassing it.

    Another key feature called “protocols” was later added by NeXT engineers Bertrand Serlet (who later became Apple’s Software Vice President) and Blaine Garst (who later led the Java team at Apple). Protocols allow classes to inherit multiple interface specifications without inheriting their implementations, circumventing the conflicts that can occur with multiple class inheritance in languages like C++. The feature was later adopted by Java as “interfaces.” These two features, “categories” and “protocols,” made possible several key design patterns heavily used by NeXT’s AppKit class libraries, and it became impossible in later years to think about Objective-C without them.

    In addition to these, many other contributions to Objective-C by NeXT engineers were necessary, driven by the practical needs of NeXT developers in real-world use, rather than the needs of computing researchers. Kevin Enderby worked on the linker and assembler. Naroff solved a method fragility problem that affected dynamic library compatibility, added explicit declaration constructs, the #import directive, and C++ integration. Serlet added method forwarding to enable remote object proxies. Garst worked on the Objective-C runtime, and was a key advocate for reference-counted memory management. These and other modifications laid the groundwork for Objective-C’s longevity at NeXT and later Apple, providing the solid foundation that would eventually power Mac OS X and iPhone development up to the present day.

    ”
    —

    The Deep History of Your Apps: Steve Jobs, NeXTSTEP, and Early Object-Oriented Programming

    Most of this quote is new to me. One of the really cool things about working at Apple was working with people who invented the things I learned about in college.

    • March 21, 2016 (1:05 pm)
© 2012–2016 golden pinions