4 ms·
I always wondered how early Mac OS X developers learned to navigate XCode and Cocoa. Were they all just ex-NeXT programmers? I bought an old copy of the Hilleg
by bluedino 5y ago
I always wondered how early Mac OS X developers learned to navigate XCode and Cocoa. Were they all just ex-NeXT programmers?
I bought an old copy of the Hillegass book Cocoa Programming for Mac OS X, but I'm guessing most people learned from Apple developer docs that I never saw (or guess didn't know how to find back then)
As an aside, I don't miss the old programming books where each chapter just showed you how to use some GUI elements and they never got around to showing patterns on how you would actually create a usable application.
- fundad 5y agoThe most useful non-source code resources at the time were about GCC, BSD and Apple’s PDF guides on how the OS works, and the Human Interface Guides, paid Developer Connection accounts got you tools mailed to you and DVDs of WWDC seminars. But it’s a profession, selling shrinkwapped desktop applications or the modern equivalent takes a lot.
- rapind 5y agoDepends how early you mean. The Big Nerd Ranch osx book has been around for a while.
- carlosrg 5y agoApple’s developer documentation was much, much better and complete back then. There was several introduction documents, guides, etc. For example: https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html https://developer.apple.com/library/archive/documentation/Co...
- varunprasad 5y agoThis was key. I built a couple of minor, but useful for me, apps by simply following the docs at the time. The major difference between Apple docs, and Javadocs at the time (Java was the actual language I used to program in), was that Javadocs was basically API references, whereas Apple docs had API references but they also had guides that went into the why, and the best practices, and even occasionally alternatives for edge cases, etc. And the fact that it was available offline as an optional download with XCode was a massive bonus at a time when ubiquitous Wifi and internet was not a thing. It was a real surprise to me, after having stepped away from any sort of Apple development for a few years that Apple's docs were considered bad.
- deleted 5y ago[deleted]
- ChuckNorris89 5y ago>Were they all just ex-NeXT programmers? Back then probably a significant portion. Today, I guess most of those former Next greybeards have retired or moved to other gigs.
- vaxman 5y agoOriginal MacOS X ran unmodified apps for original Mac (which they called Classic) using emulation, slightly modified apps for the original Mac (recomplied to Carbon APIs) or slightly-modified NeXTStep apps (using Cocoa APIs AND InterfaceBuilder which became part of Xcode), or even slightly-modified Unix apps (using POSIX APIs) along with AppleScript for automation. There were few NeXTStep/Cocoa apps, except for simple graphical wrappers around POSIX apps. Then Apple started killing off APIs (including Carbon), changing functionality and picking winners/losers to drive the developers to retrain, rewrite and maintain their code base for Cocoa, which most did not do, leaving Mac OS native apps to languish for many years (sort of similar situation to AppleWatchOS), especially after the codebase was forked to become iOS. However, HTML5 apps were on the rise and WebKit sort of kept the Mac hardware sales going. Then, a year ago, Apple introduced the ability to run iPad apps on new Macs and rolled out SwiftUI (which, when it works, can target either iPad or macOS natively), which is sort of the final nail in the coffin for Cocoa.
- mistrial9 5y agoyes, and.. "Apple started killing off APIs (including Carbon)" there was some transition time when Apple published Carbon interfaces to Mac OS 9 devs (like me), stating that they were "transitional". Quite skeptical, I used them to rebuild some tools and apps in CodeWarrior. Within a short time, more updates had less Carbon, and the news came out that Codewarrior was locked out of OSX -- no deal. It was obvious that the Mac OS 9 interfaces were for chumps, and who wants to be a chump. It was true, and things changed.
- vaxman 5y agoyep, dangerous business calling out Apple these days tho. The only thing particularly relevant to the New Peoples on here is the takeaway that Apple has, can and will change its APIs as a means of exercising market and labor control any. time. they. want. to. It's in their DNA because their leadership came up in a time when these mechanisms were off-radar of labor regulators and the FTC (that they perceived to then be as relevant as modern day Bitcoiners surely perceive the SEC to be). The worst example was probably OpenDoc, but there are plenty of others https://en.wikipedia.org/wiki/Taligent https://en.wikipedia.org/wiki/Taligent Can still hear batshit criminals (now with personal fortunes worth $134B) talking about their "right" to innovate...(ie, F with the APIs) In looking at what's happening with Section 230 Reform, one can't help but wonder if the current dystopia could have been avoided had Congress given such attention to operating system APIs in the pre-AppStore/pre-HTML5 era.
- sillyquiet 5y agoHa, in the 2006-2010 timeframe I worked for an aerospace company working on experimental radar sensors and the like and I developed quite a few Cocoa desktop data analysis and visualization tools since we were a Mac shop. It was a good fit since the physicists and mathematicians wrote their experimental stuff in Matlab and the engineers and us computer scientists wrote the actual production code in C compiled for the embedded hardware in the avionics. Cocoa provided a good bridging platform for tool sets between the two camps. (Later, python and its robust set of science and math libraries became the tool of choice in this role as Python expertise became more general on our team) Long story short, I learned by suffering through the interface, especially the fairly esoteric Interface Builder. And then in 2008 I went to a bootcamp hosted by the former-NeXT guy that had founded Big Nerd Ranch, Aaron Hillegas. He made it just click, so yeah, maybe but did take a NeXT programmer to wrap your ahead around it, ha.
- EricLeer 5y agoRecently the CoRecursive podcast did an episode [0] on the culture behind cocoa development and the big nerd ranch. [0] https://corecursive.com/cocoa-culture-with-hansen-hsu/#big-nerd-ranch https://corecursive.com/cocoa-culture-with-hansen-hsu/#big-n...
- rjzzleep 5y agoI built a decently widely used mmo chat client, Cocoa was very well documented in books. Zero NeXT knowledge from my side. IMHO QT still lacks the amount of information that was available at the time for Cocoa.
- kitsunesoba 5y agoAs someone who was a teenager who couldn’t afford books up through 2009 or so, most of my learning of Obj-C and Cocoa came through scraping the internet for blogposts on whatever subtopic I needed to know about. Occasionally you’d run into a full fledged tutorial, which were gold mines. At one point, I made AIM friends with a couple of people who were more knowledgeable than myself which was a great help, and later on Stack Overflow appeared which let me both ask questions and peruse the answers to others’ questions. It was kinda rough, and I didn’t get to the point to where I could build useful things until the late 2000s and early 2010s… just in time to dovetail into iOS development (which I’ve now been doing as my job for the better part of a decade). The cornucopia of free resources that are available to new learners today is a ridiculously stark contrast to how it was back then.
- zippergz 5y agoI did learn from the Hillegass book -- the first edition released in I believe 2002. I also had a couple of old NeXT programming manuals, and had done a tiny bit of NeXT work in the past. And I agree with the others who said Apple's dev docs were better back then. But really Aaron's book is what got me started.
- diskzero 5y agoShamefully, as an Apple employee working on Finder/Spotlight/Time Machine and more, I never, ever used XCode. Almost no one on our team did. We all used a combination of the terminal, our text editor of choice and command line tools to wrangle together binaries for local development. The actual production build was done by the internal build system which also used various scripts. Why didn't we use XCode? Take the same reasons stated today and apply them to 2001, 2002, 2003, etc. etc. etc.
- pavlov 5y agoI learned Cocoa in 2002 on Mac OS X 10.1 and Project Builder (the NeXT IDE that was Xcode’s predecessor). I remember reading a brand new O’Reilly book called “Building Cocoa Applications”. It was written by two ex-NeXT devs and was quite helpful in understanding the system. Apple’s own documentation and sample code was good back then. The API was much smaller, so I read the reference for every Cocoa class. Apple provided a fully functional demo app called Sketch which showed important architectural patterns like undo/redo. When developing my first Cocoa app, I’d basically go see how Sketch.app implemented something and copied the approach. (Incidentally, I’m convinced that the well-known Sketch drawing app is basically a case of somebody looking at Apple’s Sketch.app sample code and thinking “couldn’t we just sell this.”) Some years earlier I had tried to learn Win32. It’s hard to overstate just how fun and easy and powerful Cocoa felt in comparison.
- Wowfunhappy 5y ago> Apple provided a fully functional demo app called Sketch which showed important architectural patterns like undo/redo. When developing my first Cocoa app, I’d basically go see how Sketch.app implemented something and copied the approach. For reference: https://developer.apple.com/library/archive/samplecode/Sketch/Introduction/Intro.html#//apple_ref/doc/uid/DTS40011772 https://developer.apple.com/library/archive/samplecode/Sketc... This was a tad difficult to find due to the aforementioned commercial Mac app called Sketch.