About this Episode

Wes turns back the clock and explores the message passing mania of writing Objective-C without a Mac, and we wax-poetic about programming language history.

Plus Mike gets real about the Windows Subsystem for Linux, and our take on the new MacBook keyboard leak.

Episode Links

  • Apple is reportedly giving up on its controversial MacBook keyboard - The Verge — Apple is planning to ditch the controversial butterfly keyboard used in its MacBooks since 2015, according to a new report from analyst Ming-Chi Kuo. 9to5Mac notes that Apple will reportedly move to a new scissor-switch design, which will use glass fiber to reinforce its keys. According to Kuo’s report, the first laptop to get the new keyboard will be a new MacBook Air model due out this year, followed by a new MacBook Pro in 2020.
  • Objective-C - History - Wikipedia — After acquiring NeXT in 1996, Apple Computer used OpenStep in its then-new operating system, Mac OS X. This included Objective-C, NeXT's Objective-C-based developer tool, Project Builder, and its interface design tool, Interface Builder, both now merged into one application, Xcode. Most of Apple's current Cocoa API is based on OpenStep interface objects and is the most significant Objective-C environment being used for active development.
  • A Short History of Objective-C — While most programmers discovered Objective-C only during the iPhone app revolution, Objective-C has been around for over 30 years. Objective-C has been the foundation of Apple’s desktop operating system, Mac OS X, since its debut in 2001, and was also the basis for NEXTSTEP — OS X’s immediate ancestor — created by Steve Jobs’ NeXT Computer Inc. However, Objective-C was created neither by Apple nor NeXT. Its origin was a small Connecticut startup in the early 1980s called Stepstone.
  • GNUstep — GNUstep is a mature Framework, suited both for advanced GUI desktop applications as well as server applications. The framework closely follows Apple's Cocoa (formerly NeXT's OpenStep) APIs but is portable to a variety of platforms and architectures.
  • GNUstep: Fun with Objective-C — Objective-C is a language based upon C, with a few additions that make it a complete, object-oriented language. Why do I think Objective-C is fun? Precisely because of this emphasis on simplicity
  • Beginners Guide to Objective-C Programming
  • Installing and Using GNUstep and Objective-C on Linux - Techotopia — The basics of Objective-C are supported by the GNU compiler collection. In order to utilize the full power of Objective-C together with the Cocoa /openStep environments on Linux, and to work with many of the examples covered in this book, it is necessary to install gcc, the gcc Objective-C support package and the GNUstep environment.
  • Objective-C Compiler and Runtime FAQ - GNUstepWiki — The history of Objective-C in GCC is somewhat complicated. Originally, NeXT was forced to release the original Objective-C front end in order to comply with the GPL. This code was not quite compatible with the GNU runtime and so it was modified. NeXT did not adopt these modifications and so each release of GCC by NeXT, and then Apple, contained changes that needed back-porting to the main branch of GCC. For a long time, GCC was the only compiler that worked with GNUstep. Unfortunately, the GCC team has not invested much effort in Objective-C in the last few years and it currently lags behind Apple's version by a significant amount.