1. 5
    Two Books book sicpers.info
  1.  

  2. 6

    Object-Oriented Programming: An Evolutionary Approach

    I actually went on one of my “deep dive into old computer science things” and got obsessed with pre-NeXT Objective-C. I tracked down a copy of the first edition of this book (the second edition is much closer to the more modern Objective-C that we now know and love).

    I even reached out to Tom Love (co-creator of Objective-C along with Brad Cox) and he was kind enough to recommend Object Lessons as an additional suggestion and dig through his garage for some old documents.

    Either way, it’s an excellent book.

    Object-Oriented Software Construction

    Meyer’s approach to software engineering is…I’m not even sure of the right word. “Perfectionist” might be close, but I don’t want the negative connotation to come through on that. Anyone who wants to study OOP could do with reading his work.

    1. 2

      and got obsessed with pre-NeXT Objective-C

      Do you have any resources for that in particular? I’ve been curious about Objective-C before NeXT, but never ended up diving into it and its history.

      1. 5

        The above mentioned Object-Oriented Programming: An Evolutionary Approach is good, of course.

        I read a lot of NeXT documentation, though again I was more interested in the pre-NeXT days.(I briefly had a NeXTstation set up in my living room. That was fun.)

        I bought a copy of “Objective-C: Object-Oriented Programming Techniques” by Pinson for like fifteen cents from Amazon; that was all right but not great.

        Most interesting was the original “Object-Oriented Pre-Compiler” paper, which I believe was published in Communications of the ACM but I’m not exactly sure where I got it. It documented a very early implementation where methods were invoked using a rather…awkward…syntax.

        I found references here and there to the various “ICpaks” that PPI (later Stepstone) released (ICpak101 was the core collection classes and ICpak102 was the GUI, IIRC). These were very different from the later NeXTstep/OPENSTEP classes, and really nice in their own ways. They were somewhat documented in the Evolutionary Approach book as well.

        Sadly, I was never able to get the Holy Grail that I was looking for: copies of the original PPI compiler/ICpak/library manuals. Those whom I reached out to (Brad Cox, Tom Love, and others) were unable to find their copies or were unwilling to part with them (which is understandable).

        If you’re interested, the Portable Object Compiler implements a pre-NeXT (but still post-ancient) Objective-C, and its manual describes its “ObjectPak”, which is more in line with the original “ICpaks” than NeXTstep. I still much prefer Objective-C to C++.

        1. 2

          The Object-Oriented Pre-Compiler: programming Smalltalk-80 methods in the C language is the citation (and if you’re an ACM member, the full article is linked there).

          1. 1

            You weren’t kidding about if an ACM member: couldn’t find a legal copy anywhere other than paywalls. ResearchGate’s at least has “request full text” button. Did at least stumble on an interesting, historical submission for Tuesday.

            1. 3

              The Object-Oriented Pre-Compiler: programming Smalltalk-80 methods in the C language

              http://sci-hub.tw/10.1145/948093.948095

              1. 2

                I did say “legal.” ;)

                1. 3

                  For all intents and purposes that article should be freely available by now. That it isn’t is just a bug in the system, a blip on the line, a hiccup in the clockwork and as such something the ’net has been designed to route around. Which it does.

          2. 2

            Thank you for the detalied response!