zoukankan      html  css  js  c++  java
  • Objective-C发展历史

    Objective-C发展历史

    苹果图标由来:

    被咬了一口苹果的LOGO是为了纪念计算机科学的创始人阿兰· 麦席森· 图灵。当年图灵由于身为同性恋者,被强行 “治疗”,在被迫注射大量雌性激素后,不堪屈辱,吃沾染氰化钾的苹果自尽,他死去的桌边还剩下半个苹果,时年42

    1,1976,Apple创立。Steve Wonzniak史提夫 沃兹尼克 和 Steve Jobs史提夫 贾伯斯

    2,1980年代初Brad Cox和Tom Love在公司Stepstone发明Objective-C。对Objective-C最主要的描述是他1986年出版的《Object-C oriented Programming, An Evolutionary Appoach》。

    3,Brad Cox一直专注软件工程,软件重用性,组建化,这也是ObjC里面的核心思想,Brad当时想打造一门流行的、可移植的C语言与优雅的Smalltalk的结合体。

    4,1984,Apple推出第一台Macintosh(麦金塔)电脑,简称Mac。

    5,1985年,John Sculley接管了苹果电脑,并把Steve Jobs赶出了苹果电脑。他离开后创立了NeXT电脑公司,并发展出NeXT电脑及NeXT STEP操作系统。NeXT拥有最 先进的技术,但是不能成为最流行的电脑。John Sculley是百事可乐公司的主管,为Pepsi销售立下了汗马功劳。

    6,1985年,被赶出苹果公司的Steve Jobs成立了NeXT公司,致力于开发强大且经济的工作站。NeXT获得了Stepstone公司的Objective-C语言授权和可以发布自己的 Objective-CCompiler和libraries。同时使用Objective-C开发了一套NeXTSTEP,并创建了NeXTSTEP Toolkit软件包,这个工具包用于开发用户界面,功能强大。 NeXT Workstations销售仅仅5000套。

    7,1993年,NeXT终止了硬件业务,转为专注于NeXTSTEP(OPENSTEP)软件市场,并推出了一套网络程序架构WebObjects用于进行动态页面的生成。OPENSTEP实际上 是NeXT和SUN公司合作开发的一套系统,可以运行在Soloris和Windows NT。

    8,1994,NeXT与Sun共同制定OpenStep API标准,其中两个重要的部分是Foundation跟Application kit,此时开始使用命名前缀NS。NeXT自己的实作成为 OPENSTEP,软件开发工具组当时大概叫做OpenStep developers toolkit;另外还有自由软体的实作,名为GNUstep。因为Mac OS X、iPhone SDK、Xcode可追 溯到NeXT、NeXTStep,所以是以Objective-C为主力开发语言,所以程式码中会出现NX与NS字样。

    9,1996,Apple买下NeXT,主要用意就是要以NeXTStep作业系统取代老旧的Mac OS。

    10,1997,Steve Jobs重回Apple。

    分区 第一天(@传智如意大师) 的第 65

    10,1997,Steve Jobs重回Apple。

    11,2011,推出Mac OS X(X代表古罗马数字10)。而且OpenStep developers toolkit被重命名为Cocoa。

    12,NeXT Inc.NEXTSTEP,(官方写法很多多种,一开始叫做NextStep、NeXTstep、NeXTSTEP,最后才叫做

    NEXTSTEP)是由NeXT.Inc所开发的操作系统。NeXT也是曾经苹果电脑 CEO,Steve Jobs在1985年离开苹果电脑后所创立的公司。这套系统是以Mach和BSD为基础,以Objective-C作为本地语言,具有很先进的GUI接口。1.0版推出时 间是在1989年9月18号。刚开始NEXTSTEP只能在NeXT电脑的Motorola68000上运行,1992年推出PC版的NEXTSTEP 486。3.1版和3.2版分别在1935年的5月及10月推 出,但是终究失败。最后版本3.3在1995释出,平台也以及不限于Motorola68000家族,亦可在IBM PC x86、Sun SPARC及HP PARISC等平台上运行。后来苹果电脑在 1997年2月将NeXT买下,成为Mac OS X。

    13,NeXTSTEP
    NeXTSTEP包含的内容非常多。主要有:1,操作系统,以Mach为kernel,加上BSD所打造出来的unix-like操作系统。2,以Objective-C为主力开发语言与运行环境3,面向对象的软件开发套件(library、framework),当时不叫framework,而叫kit。4,各种开发工具(Project Builder, Interface Builder)。在NeXT公司被Apple收购后,这些也都被之后的Mac OS X 吸收继承。

    14,1996年,苹果公司以4亿美金收购了NeXT,NeXTSTEP被重命名为Cocoa,WebObjects则集成到Mac OS Server和Xcode中。Objective-C自然而然成为Mac平 台的首选开发语言,并受到Macintosh编程人员的广泛认可。Cocoa成为苹果免费提供的开发工具,提供Mac平台应用开发的环境。

    15,1998年5月6号iMac横空出世。iMac是一次本质的回归。独特的一体化设计完全符合最初的Macintosh设计思路,正是这样的设计挽救了当时苹果岌岌可危的声望和 品牌。iMac也是第一个用光驱完全取代3.5寸软驱的电脑。

    16,2001年,和一摞扑克差不多大小的第一代iPod重6.5盎司,标价$399美金。

    17,2007年1月9日iPhone。短短两年时间,苹果已卖出一千七百四十万台iPhone。苹果已经一跃成为世界第二大智能手机制造商。

    18,iPhone和iPad操作系统更名为iOS系统。(iPhone iPad iOS是标准写法)目前iOS已经更新到iOS8.x
    使用Objective
    -C 2.0为开发语言

    分区 第一天(@传智如意大师) 的第 66

    使用Objective-C 2.0为开发语言使用Xcode6作为集成开发环境
    集成Interface Builder作为界面开发工具(不用这个工具)

    19,Objective-C:
    Objective-C,通常写作ObjC,有时候也写作Objective C或Obj-C,是在C的基础上,加入面

    向对象特性扩充而成的编程语言。目前,Objective-C主要用于Mac OS X和iOS这两个NEXTSTEP的衍生系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在任何gcc支持的平台上进行编译,因为gcc原生支持 Objective-C。

    20,发明者:
    Objective-C主要是Brad Cox 和Tom Love设计完成。两人都是在ITT技术中心工作,在那里

    开始研究Smalltalk和面向对象编程。Cox认为Smalltalk对于应用开发者非 常方便,所以开始专注于Smalltalk的研究工作。Cox在1983年修改了C编译器可以编译面向对象的C也就是OOPC语言。C是个compiled, procedural programming language,在1970s早期由AT&T发展出来。Objective-C是后来Brad J.Cox发展出来,把C语言再加上了面向对象object-oriented概念。将C语言混 合了面向对象语言Smalltalk。Smalltalk是早期其中一个知名的面向对象语言,在Palo Alto Research Center (Formerly Xerox PARC)发展出来的。Cox将Smalltalk 的object和message passing分层构造在C语言之上建立出新的语言。这点让程序设计师可以持续使用熟悉的C语言开发,又可以使用面向对象特性。Objective-C 加了64-bit支持,当然在Mac系统才有意义,在iPhone目前都是64位。

    21,1980年代,Objective-C被主要当中开发语言应用在NeXTStep操作系统,也就是Steve Job发起的电脑公司NeXT。NeXTStep不论精神上和始祖上,皆是OS X的前身。一直到现在iOS上用的Cocoa Touch class name是用NS为开头,像是NSString 和NSArray,这都是可以追溯回到NeXT。现在最新语言是Objective-C是2.0,在 2007年10月和OS X Leopard一起发布的。强调拥有“modern garbage collection, syntax enhancements, runtime performance”

    22,为什么很多类是以NS开头的在iPhone/iPad开发中,很多类是以NS名字空间开头的。原因是这些类是源于Cocoa基础类,

    而Cocoa基础类最初来源于NeXTStep。所以Cocoa很多类是以NS开 头命名。iOS使用了Cocoa基础类。

    23,The Cocoa APICocoa是目前主要的架构。是Apple从NeXTSTEP向OPENSTEP开发出来。有一套预定义的类和类

    型比如NSNumber,NSstring,NSdate等。NSObject是一个根类, 里面包含了比如alloc,retain, release等函数,用来关系对象的生命周期。

    24,总括
    Objective-C是面向对象的语言
    遵从ANSI C标准C语法,同时使用了Smalltalk的方法

    分区 第一天(@传智如意大师) 的第 67

    遵从ANSI C标准C语法,同时使用了Smalltalk的方法在运行时可以灵活处理所以事情
    运行时非常灵活:

    Dynamic Binding动态绑定Dynamic Typing动态检查Dynamic Linking动态链接

    Objective-C可以认为是继承了C和Smalltalk优点

    Development
    Tom Love
    在Schlumberger中心获得了Smalltalk-80的一份商业版权拷贝,然后设计出了

    Objective-C1986年他们发布通过Stepstone公司发布Objective-C产品

    NeXT and NeXTSTEP
    1988
    年Steve Jobs获得了Objective-C的使用版权用在NeXT使用Objective-C来编写NeXTSTEP操作系统Objective-C使得设计NeXTSTEP操作系统更加容易NeXTSTEP是从BSD Unix系统演变而来在1995年,NeXT从Stepstone得到了Objective-C全部版权

    Apple and Mac OS X
    NeXT
    在1996年被Apple公司接管。Steve Jobs开始在Mac OS X中使用Objective-C重新设计了Mac OS来使用Objective-C
    使用Objective-C开发了一套Cocoa GUI库
    重新发布了Mac OS X(10)

    Dynamic Language几乎所有的工作都可以在运行时处理使用动态链接,动态绑定,动态检查最大的灵活性
    最小化RAM和CPU使用 

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    分布式事物的解决方法
    bootstrap的其他
    bootstrap表单控件
    多线程编程
    内存管理技术
    PrintWriter用法简析
    JSP内置对象
    Servlet学习应该注意的几点
    GPU渲染管线概述
    再说AutoComplete
  • 原文地址:https://www.cnblogs.com/wahy/p/4817243.html
Copyright © 2011-2022 走看看