since 1999

 

3 minutes estimated reading time.

Brad Cox has died

Dr. Brad J. Cox Ph.D., influential computer scientist has died. Among his many accomplishments was the co-invention of the Objective C programming language with Tom Love.

This was one of the early object oriented programming languages. Objective-C was a groundbreaking mainstream object oriented programming language that was influenced by Smalltalk. His work paved the way for concepts and languages that have become mainstream, including in programming languages Ruby, Java, and Swift. Objective-C was the language of Next OS, Mac OS X, and iOS app development prior to Apple’s conversion to Swift. His work in software engineering is said to have focused on the reusability of software components.

When you are working with a modern programming language that uses a dependency manager to bring in a plethora of helpful objects, be it Ruby gems or Node JS modules, you can in part thank the innovative work of Dr. Cox and his colleagues that paved the way for it.

In his formal obituary, the family shared a fun story from a scuba diving trip where his reputation proceeded him:

On one scuba diving excursion while in the compound having lunch, Brad engaged a couple from Germany in conversation. Brad asked about the fellow travelers occupation and discovered he was a computer programmer. [Likewise], Brad was asked about his life’s work and stated I am also a computer programmer. “What do you do?” Brad was asked. I wrote Objective-C. Astonished, the [gentleman] said, “No, Brad Cox wrote that”. “Hi, I am Brad Cox”, was the response and the introduction. Needless to say, much conversation ensued after the scuba diving concluded. Throughout Brad’s life and career, countless instances such as this one occurred repeatedly.

The Computer History Museum has an oral history interview taken with Dr. Cox in 2016, catalog number 102717175. The interview was conducted by Hansen Hsu. The summary in part describes the impact of object reuse:

Cox’s idea behind Objective-C, articulated in articles such as “Planning the Software Industrial Revolution” (1990) and “There is a Silver Bullet” (1990), was that libraries of objects constituted pre-fabricated, reusable components that programmers could buy off the shelf on the open market, greatly accelerating development time. The Objective-C language itself was only a lightweight “soldering iron” to be used to connect components. Cox believed reusable components would industrialize the software industry in the same way that interchangeable parts revolutionized manufacturing in the 18th Century. Stepstone hoped to sell such libraries of objects, which Cox called “ICPaks,” metaphorically viewing objects as integrated circuits.

When a modern developer fires up their terminal and types gem install, bundle update, pip install, npm install, yarn install or any of the numerous language specific variants, they are directly benefiting from the foundation that Dr. Cox and his colleagues put in place only a few decades ago.

Interestingly, I’ve yet to find a copy of There is a Silver Bullet, but a commentary of it by David B. Robert has been preserved on Tripod. The article was a counter to “No Silver Bullet” by Frederick P. Brooks, Jr.. Presumably Dr. Cox’s 1992 followup What if there is a silver bullet? would be a worthwhile read.

As time passes, more and more of the computer scientists who paved the way for our modern computing environment will pass away. I just hope to be able to lead my own professional career in a way that is worthy of those who have gone before me. To be humble, innovative, and never lose sight of the duty and care we should put into everything done to set the next generation up for success.