Brad J. Cox, the father of Objective-C, passed away, and he promoted Apple's software ecosystem today

This article is reproduced from the heart of the machine

Recently, the obituary website Legacy.com announced that Dr. Brad J. Cox, the father of Objective-C, died in his home on January 2, 2021, at the age of 77.

image

If you are a developer in the Apple ecosystem, then you must be familiar with Objective-C. This language has made Apple's powerful software ecosystem, and because of the best-selling of Apple's hardware, it has been advancing all the way to the top of the major programming language rankings. As a computer scientist, Brad Cox's main achievement is to create Objective-C with Tom Love. In addition, he is also known for his work in software engineering (especially software reuse) and software components.

After the news of Brad J. Cox's death was released, many people posted their condolences on Hacker News, remembering his contribution to the evolution of programming languages. One of the netizens wrote:

I like Objective-C, it is a beautiful language. Learning this language made me rediscover my love for programming.

I was still in the Java world at the time and wanted to write an Objective-C drone program in my spare time. Although I gave up the idea later, I still posted the code on GitHub. Writing in Objective-C makes me feel very happy. This is also one of my most interesting side projects.

Recently, my work/hobby is mainly focused on Python and Go, but I am still fortunate that I have spent time delving into Objective-C. In retrospect, if I hadn't done this then, I might not have become a programmer today.

Thank you Brad Cox for his work and its positive impact.

Others said that Brad Cox paved the way for the golden 20 years of his career, and even helped some people create their own companies.

image

In the memorial post, someone once had the opportunity to work with Brad Cox, ta said: "Brad Cox never preached that he was a world-famous computer scientist, but worked side by side with us ordinary coders. He is A person of integrity and respect (Mensch)."

image

A programmer who grew up on a dairy farm

Brad Cox was born on May 2, 1944 in Fort Banning, Georgia, USA. He grew up on a dairy farm, and gradually he discovered that he was most interested in science. During his studies, he received a Bachelor of Science degree from Furman University and a Ph.D. from the Department of Mathematics and Biology at the University of Chicago. He also worked on early forms of neural networks.

Soon, he found that he was more interested in computers and got a job at the International Telephone and Telegraph Company (ITT). Later, he joined Schlumbeger-Doll Research Labs, and eventually formed his own startup company in Connecticut, namely Productivity Products International (PPI), later named Stepstone. In Brad Cox's first well-known software project, he wrote the PDP-8 program to simulate neuron clusters. Before entering the software industry, he worked at the National Institutes of Health and the Woods Hole Oceanographic Institution.

Brad Cox's online course "Taming the Electronic Frontier" won the 1998 Paul Allen Distance Education Award. In 1991, Brad Cox published his book "Object Oriented Programming: an Evolutionary Approach" and in 1996 published "Superdistribution: Objects as Property on the Electronic Frontier", this book has been translated into ten different languages.

Brad Cox joined the Social and Institutional Learning Program of George Mason University and is committed to developing early online courses through the Internet. After leaving academia, Brad Cox worked in government consulting, including businesses related to Boeing and the Pentagon. In the end, Brad Cox returned to the field of neural networks, dedicated to applying machine learning and data science to network security.

Dr. Cox has many fans. He has given lectures in Europe, in which he demonstrated how to program software. He and his wife Etta like leisure travel and diving, and often go to the Caribbean together. Belize have their fond memories. During lunch on a diving trip, Brad had a conversation with a German couple. Brad asked about his fellow traveler's career and found that he was a programmer. The traveler also asked about Brad's job. He said that I am also a programmer. So they started an interesting conversation:

The traveler asked Brad, "What do you do?"

"I wrote Objective-C."

The other party said in surprise, "No, that was written by Brad Cox."

Brad responded: "Brad Cox is under."

Of course, they discussed more things after this diving trip. In Brad's life, such interesting things have happened countless times.

Brad likes music and can play piano and guitar. In the early years, he was a member of a band, mainly playing bluegrass music (a branch of country music). He likes to take long walks in the woods. In addition, he is also a person with a sense of humor.

In 2017, Brad was interviewed by the "Computer History Museum", interested students can click the following link to watch: https://www.youtube.com/watch?v=1xrL2d5omuA

The historical mission of Objective-C

Objective-C is a general-purpose, high-level, object-oriented programming language. As the name suggests, the original intention of Objective-C is to add object-oriented features to the main body of the C language. Any C language program can pass the Objective-C compiler directly without modification, and it is completely legal to use C language code in Objective-C. It extends the standard ANSI C programming language and adds the Smalltalk-style messaging mechanism to ANSI C. The currently supported compilers are GCC and Clang (using LLVM as the backend).

Its two co-inventors are Brad Cox and Tom Love. During their tenure at ITT, they became interested in the SmallTalk language. But at that time ITT Company paid more attention to the C language, so Brad Cox wrote a C language preprocessor, intending to make the C language have some Smalltalk skills. Soon, a usable C language extension was born, which was the predecessor of the Objective-C language.

image

Tom Love。

In 1983, Cox and Love partnered to establish Productivity Products International (PPI) to commercialize and sell Objective-C and its related libraries, and later renamed the company StepStone.

In 1986, Cox published an important book on Objective-C "Object-Oriented Programming, An Evolutionary Approach", which elaborated on the design philosophy of Objective-C.

image

At present, the trademark rights of Objective-C belong to Apple, which is also the main developer of this programming language. After Steve Jobs was kicked out of Apple in 1988, NeXT Computer, the company he founded, bought the license for Objective-C. Then in 1996, Apple acquired NeXT, its operating system NeXTSTEP was renamed to Cocoa, and WebObjects was integrated into Mac OS Server and Xcode. Objective-C has naturally become the preferred development language for the Mac platform and is widely recognized by Macintosh programmers; Cocoa has become a development tool provided by Apple for free, providing an environment for Mac platform application development.

Apple used Objective-C when developing the NeXTSTEP operating system, which was later inherited by OS X and iOS. Now Objective-C and Swift are the main programming languages ​​for OS X and iOS operating systems, and related APIs, Cocoa and Cocoa Touch. The popularity of Objective-C can also be attributed to the success of the iPhone.

Objective-C uses a small runtime library written in C, which makes the application size increase very little. In contrast, most OO systems require a huge runtime virtual machine to execute. Objective-C is a practical and efficient language. Developers who have used C++ or Java will marvel at how short Objective-C programs are. Especially, programs written in Objective-C are usually no better than their source code and libraries (usually No need to be included in the software release version) too much. It can be implemented on the basis of the existing C compiler, without the need to write a new compiler, so that Objective-C can use a large number of existing C code, libraries, tools and programming ideas and other resources. These features have greatly reduced the barriers to entry for Objective-C.

But with the continuous evolution of programming languages, the shortcomings of Objective-C are gradually exposed, such as not supporting namespaces; not supporting operator overloading; not supporting multiple inheritance; using dynamic runtime types, all methods are function points, Many compile-time optimization methods do not need to wait. Therefore, in recent years, Apple has always wanted developers to abandon Objective-C and switch to Swift. In the TIOBE list of development language rankings, the popularity index of Objective-C has been declining, and the replacement of Swift has gradually increased.

As early as 2015, some people predicted that Objective-C would be replaced by Swift in five years. In the past five years, we have indeed witnessed the rise of Swift and the decline of Objective-C, but because the code size is still huge, there is still a long way to go before the former completely replaces the latter.

Last year, a survey by the well-known overseas freelance platform Upwork showed that among many programming languages, Objective-C became the language with the highest hourly wage on the site (plus link: this "declining" language earns RMB 451 per hour. Freelance platform Upwork announced a part-time language Salary ranking), programmers who master the language can earn $66 (approximately RMB 451) per hour.

Someone once commented that, compared with the prosperous scene of application development technology and programming language under the Windows platform, Objective-C is more like a technological wonder that blooms alone on the Mac platform.

Guess you like

Origin blog.csdn.net/m0_46163918/article/details/113109433