`
sogotobj
  • 浏览: 661709 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Objective-C的历史

 
阅读更多
Before learning the intricacies of a new programming language it is often worth taking a little time to learn about the history and legacy of that language. In this chapter ofObjective-C 2.0 Essentials we will provide a brief overview of the origins of Objective-C and the business history that ultimately led to it becoming the programming language of choice for both Mac OS X and the iPhone.

Contents

[hide]
The C Programming Language <style type="text/css"> <!-- --> </style>

Objective-C is based on a programming language called, quite simply, C. The origins of the C programming language can be traced back nearly 40 years to two engineers named Dennis Ritchie and Ken Thompson working at what is now known as AT&T Bell Labs. At the time, the two were working on developing the UNIX operating system on PDP-7 and PDP-11 systems. After attempts to write this operating system using assembly language (essentially using sequences of instruction codes understood by the processor), it was decided that a higher level, more programmer friendly programming language was required to handle the complexity of an operating system such as UNIX. The first attempt was a language calledB. The B language, which was based on a language called BCPL, was found to be lacking. Taking the next initial from theBCPL name, the C language was created and subsequently used to write much of the UNIX operating system kernel and infrastructure. As far as we can tell,C was so successful that new languages named P and L never needed to be created.

The Smalltalk programming Language

The C programming language is what is known as a procedural language. As such, this means that it lacks features such as object oriented programming. Object oriented programming advocates the creation of small, clearly defined code objects that can be assembled and reused to create more complex systems.

An early attempt at an object-oriented programming language was developed by a team including Alan Kay (who later went to work for Apple) and Dan Ingalls at Xerox PARC (Palo Alto Research Center) in the 1970s. This language is known as Smalltalk.

C meets Smalltalk

An interesting history lesson so far, but what does this have to with Objective-C? Well, in the 1980s, two developers named Brad Cox and Tom Love extended the C programming language to support the object oriented features of Smalltalk. This melding of languages ultimately culminated in the creation of Objective-C. Objective-C was subsequently adopted by the Free Software Foundation and released under the terms of the GNU Public License (GPL).

Objective-C and Apple

<style type="text/css"> <!-- --> </style>

To understand how Objective-C, a language based on two 40 year old programming languages, ended up being the language of choice on Mac OS X and the latest cutting edge smartphones from Apple it is necessary to move away from technology for a while and talk about business.

In the 1980s Steve Jobs and Steve Wozniak founded Apple Computer. After many years of success, Steve Jobs hired a marketing wizard from PepsiCo called John Sculley to help take Apple to the next level of business success. To cut a long story short, a boardroom battle ensued and Steve Jobs got pushed out of the company (for the long version of the story pick up a used copy of John Sculley's bookOdyssey: From Pepsi to Apple) leaving John Sculley in charge.

After leaving Apple, Jobs started a new company called NeXT to design an entirely new generation of computer system. The operating system developed by NeXT to run on these computers was called NeXTstep. In order to develop NeXTstep, NeXT licensed Objective-C. NeXT subsequently joined forces with Sun Microsystems to create a standardized version of NeXTstep named OPENstep which the Free Software Foundation then adopted as GNUstep.

During the 1990s, John Sculley left Apple and a procession of new CEOs came and went. During this time, Apple had been losing market share and struggling to come out with a new operating system to replace the aging MacOS. After a number of failed attempts and partnerships, it was eventually decided that rather than try to write a new operating system, Apple should acquire a company that already had one. During Gil Amelio's brief reign as CEO, a shortlist of two companies was drawn up. One was a company called Be, Inc. founded by a former Apple employee named Jean-Louis Gassée, and the other was NeXT.

Ultimately, NeXT was selected and Steve Jobs once again joined Apple. In another boardroom struggle (another long story as outlined in Gil Amelio's bookOn the Firing Line: My 500 Days at Apple) Steve Jobs pushed out Gil Amelio and once again became CEO of the company he had founded all those years ago.

The rest, as they say, is history. NeXTStep formed the foundation of what became Mac OS X, bringing with it Objective-C. Mac OS X was subsequently modified to provide the operating system for the spectacularly successful iPhone.

分享到:
评论

相关推荐

    Objective-C基础教程(入门教程).pdf

    23. 系统和框架的引用:教程中提到了GNUStep、NeXTStep、OpenStep等系统,这些都是Objective-C发展历史中的关键平台和框架。GNUStep是一个开源的Objective-C开发环境,NeXTStep是NeXT公司开发的,后来成为了Mac OS X...

    Objective-c语言学习-快速入门完整版完整版

    首先,我们从"第一讲 Objective-C概述"开始,这一讲主要介绍了Objective-C的历史、语法特点以及它在苹果开发中的重要地位。Objective-C是在C语言基础上扩展的,引入了Smalltalk的面向对象特性,如消息传递机制,使得...

    Objective-C历史

    PHP,一个嵌套的缩写名称,是英文...PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。

    《Objective-C基础教程》中文版(含源代码)

    1. **Objective-C简介**:介绍Objective-C的历史、特点和它在Apple生态系统中的地位,解释为什么它是iOS开发的首选语言。 2. **面向对象编程基础**:讲解类、对象、继承、多态和封装等面向对象编程的核心概念,帮助...

    Objective-C的语法与Cocoa框架.pdf

    作为苹果官方支持的语言,Objective-C拥有悠久的历史和深厚的技术底蕴。它从C语言发展而来,对C语言的结构和语法进行了扩展,增加了面向对象编程的能力。 首先,让我们从Objective-C的语法开始谈起。Objective-C...

    Objective-C run time

    Objective-C运行时系统(Run time)是Objective-C语言的关键组成部分,它允许许多决策在编译时和链接时推迟到运行时进行。这意味着Objective-C不仅仅是依赖编译器,还需要一个运行时系统来执行编译后的代码。运行时...

    Objective-C基础教程 中文 PDF 清晰版 [31M]

    中文名: Objective-C基础教程 作者: Mark Dalrymple Scott Knaster译者: 高朝勤 杨越 刘霞图书 分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 人民邮电出版社 书号: ISBN: 9787115208774 发行时间: 2009...

    From C++ to Objective-C(中文版)

    Objective-C是一种结合了C语言特性和面向对象编程思想的编程语言。它最初由Brad Cox和Tom Love在20世纪80年代初设计,并在1986年由NEXTSTEP系统引入。Objective-C的主要特点是其独特的消息传递机制以及对C语言的兼容...

    Objective-C语言特性及其在iOS和macOS开发中的应用

    内容概要:本文详细介绍了Objective-C的历史发展、语言特点、应用场景和学习资源。文章从语言的基础层面解释了它的面向对象编程特性、与C语言的兼容性、动态特性和内存管理机制。接着,讨论了Objective-C在iOS和...

    Objective-C程序设计 第6版 PDF

    - **第1章:Objective-C概述**:介绍Objective-C的历史背景、特点及其在现代软件开发中的地位。 - **第2章:C语言基础**:作为Objective-C的基础,本书可能会从C语言入手,讲解变量、数据类型、控制结构等基本概念。...

    《Objective-C程序设计_第4版》PDF版本下载.txt

    - **第1章:Objective-C概述**:介绍了Objective-C的发展历史、特点以及与其他编程语言的比较。 - **第2章:基础语法**:详细讲解了Objective-C的基本语法,包括数据类型、变量、运算符等。 - **第3章:面向对象编程...

    [Objective-C编程(第6版)]Programming in Objective-C

    - **历史背景**:Objective-C最初由Tom Love和Brad Cox在20世纪80年代初开发,后来被NeXT公司采用并用于其操作系统NeXTSTEP的开发。随着苹果公司收购NeXT,Objective-C成为Mac OS X和iOS应用程序开发的主要语言之一...

    Learn Objective-C On The Mac(英文PDF+SourceCode)

    1. **Objective-C简介**:介绍Objective-C的历史、特点和与其他编程语言的区别,特别是与C++和Swift的比较。 2. **基本语法**:讲解Objective-C的基础语法,如变量声明、常量定义、数据类型、流程控制(条件语句和...

    [Objective-C.2.0程序设计(原书第2版)].(美)Stephen.G.Kochan.扫描版.pdf

    Objective-C的发展历史可以追溯至20世纪80年代早期,由Brad J. Cox设计,它借鉴了Smalltalk-80语言的特性。由于其基础是C语言,因此Objective-C继承了C语言的结构化编程能力,同时扩展了对对象的创建和操作的能力。 ...

    Manning.Objective-C.Fundamentals.Sep.2011.rar

    这本书会详细介绍Objective-C的历史、设计哲学以及它在现代软件开发中的地位。 2. **基本语法** - **变量与数据类型**:Objective-C支持C语言的基本数据类型,同时有特有的对象类型。 - **关键字与语句**:如`@...

    The Objective-C Programming Language

    4. **兼容C语言**:Objective-C与C语言完全兼容,可以直接在Objective-C代码中调用C语言的函数。 5. **内存管理**:Objective-C提供了一套内存管理规则(称为引用计数),用于控制对象的生命周期。 #### 四、...

    The Objective-C Programming Language.pdf

    #### 二、Objective-C的历史背景 Objective-C最初由Brad Cox和Tom Love在1983年开发。1986年,Next公司(由Steve Jobs创立)收购了Objective-C,并将其作为NeXTSTEP操作系统的基础。随后,随着苹果公司在1997年收购...

Global site tag (gtag.js) - Google Analytics