自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

喬布斯 :我比在座的各位更懂面向?qū)ο螅?/h1>

開(kāi)發(fā) 前端
Bjarne Stroustrup發(fā)明的C++就是“新式面向?qū)ο蟆钡拇?,這里的對(duì)象變成了數(shù)據(jù)類型(class)的實(shí)例,沒(méi)有類,對(duì)象根本無(wú)法存在。程序關(guān)注的重點(diǎn)也變成了接口、繼承、多態(tài)。

?1985年,喬布斯被自己親手創(chuàng)建的蘋(píng)果公司掃地出門(mén)。 

不甘心的他成立了一家新的計(jì)算機(jī)公司NeXT,制造下一代個(gè)人電腦,一臺(tái)漂亮、強(qiáng)大、出色的機(jī)器,讓蘋(píng)果感到后悔和羞恥。

圖片

可惜,NeXT并沒(méi)有取得想象中的成功,6500美元的高昂價(jià)格只讓它賣(mài)出了5萬(wàn)臺(tái)。

1993年,NeXT被迫退出了硬件行業(yè)。 

失之東隅,收之桑榆,雖然NeXT機(jī)器不行,它的操作系統(tǒng)NeXTSTEP卻因?yàn)閮?yōu)秀的GUI和面向?qū)ο蟮木幊汰h(huán)境,極大地影響了業(yè)界。 

圖片

Tim Berners-Lee用它開(kāi)發(fā)了世界上第一個(gè)WWW服務(wù)器,編程語(yǔ)言是Objective-C。

圖片

id software 在上面開(kāi)發(fā)了開(kāi)創(chuàng)性的 PC 游戲Doom、Doom II和Quake。

NeXTSTEP后來(lái)成為Mac OS X的基礎(chǔ),為蘋(píng)果所有的平臺(tái)提供了強(qiáng)大動(dòng)力,包括iOS 、iPadOS、watchOS和tvOS。

圖片

簡(jiǎn)單來(lái)說(shuō),NeXTSTEP提供了三項(xiàng)非常出色的功能:

1. Objective-C這個(gè)面向?qū)ο蟮恼Z(yǔ)言和運(yùn)行時(shí)

2. 面向?qū)ο蟮膽?yīng)用層

3. 面向?qū)ο髮拥拈_(kāi)發(fā)工具。

請(qǐng)大家注意,這三項(xiàng)功能都和面向?qū)ο笥嘘P(guān)。

1994年,39歲的喬布斯在接受了一次《滾石》雜志的采訪。

圖片

他先是抨擊了蘋(píng)果的Mac電腦,說(shuō)Mac不思進(jìn)取,10年間改變了不到10%,就像一只坐著的鴨子。而微軟,居然花了10年才復(fù)制了一些“坐鴨式”的東西!

隨后他便開(kāi)始為自家NeXTSTEP的面向?qū)ο蟠蚱饛V告來(lái):

“我認(rèn)為未來(lái)會(huì)有一天,所有的軟件都將使用面向?qū)ο筮@種技術(shù)來(lái)編寫(xiě)..... ”

面向?qū)ο螅?/p>

這樣的技術(shù)術(shù)語(yǔ)如果從現(xiàn)在公司的CEO嘴里說(shuō)出來(lái),大家肯定覺(jué)得有些古怪,因?yàn)槊嫦驅(qū)ο笕缃袷浅恋淼降讓拥募夹g(shù)了,CEO絕對(duì)不會(huì)提起它,他們嘴中應(yīng)該是時(shí)髦的微服務(wù)、云計(jì)算、人工智能.....

但是在80年代末,90年代初,面向?qū)ο笫莻€(gè)非常時(shí)髦的詞語(yǔ)。

記者不懂技術(shù),問(wèn)道:“你能解釋一下什么是面向?qū)ο蟮能浖???/p>

喬布斯開(kāi)始了一段精彩的演說(shuō):

Object 就像人,他們是活生生的,呼吸著空氣,在他們內(nèi)部保存著如何做事情的知識(shí),他們也有記憶記住東西,你在一個(gè)很高層次的抽象級(jí)別和他們交互,而不使用底層的細(xì)節(jié)。

舉個(gè)例子吧,我是你的負(fù)責(zé)洗衣的對(duì)象,你可以把你的臟衣服給我,然后給我發(fā)一條消息,上面寫(xiě)著:“請(qǐng)幫我洗衣服”, 剩下的事情你就不用管了。

而我知道舊金山最好的洗衣店在哪里,我會(huì)說(shuō)英語(yǔ),口袋中也有錢(qián),我會(huì)叫個(gè)出租車(chē)去那個(gè)洗衣店,洗完衣服后,我回到這里,把干凈的衣服給你,同時(shí)告訴你‘這是你的干凈衣服’。

你并不知道我是怎么做到的,你對(duì)洗衣房一無(wú)所知,你不知道怎么叫出租車(chē),怎么付費(fèi)。所有的復(fù)雜性都隱藏在我的內(nèi)部。我們倆在一個(gè)高層次的級(jí)別交流。

這就是Object,它們封裝了復(fù)雜性,對(duì)外提供了高層的接口。

這是我看到的對(duì)面向?qū)ο蟮姆浅>实拿枋觯?/p>

喬布斯并不是技術(shù)天才,他最厲害的地方在于對(duì)用戶體驗(yàn)和品味的感知,然后“糾集”一批天才把最酷的技術(shù)原型轉(zhuǎn)變成面向消費(fèi)者的產(chǎn)品。 

這段面向?qū)ο蟮闹v述可能是他自己悟出來(lái)的,也可能是從他的天才手下打聽(tīng)來(lái)的。不管如何,他非常形象地展示了Object的兩大特性:

1. 封裝復(fù)雜的操作

2. 對(duì)外提供高層次的接口,通過(guò)消息傳遞交互。

你可能會(huì)說(shuō),我學(xué)習(xí)的面向?qū)ο笫欠庋b、繼承和多態(tài)??!

沒(méi)錯(cuò),這是因?yàn)槊嫦驅(qū)ο蟪霈F(xiàn)過(guò)一次重大的分裂。

圖片

漫畫(huà)中的兩位都是大師,左邊這位是發(fā)明面向?qū)ο蠛蚐malltalk編程語(yǔ)言的Alan Kay,右邊則是C++之父Bjarne Stroustrup。

在Alan Kay的OO世界中,對(duì)象更像一個(gè)自治的“進(jìn)程”,它擁有自己的狀態(tài),并可以和其他對(duì)象通過(guò)消息進(jìn)行通信,正如喬布斯說(shuō)的那樣。

這些對(duì)象各司其職,就像一個(gè)個(gè)細(xì)胞,無(wú)數(shù)的細(xì)胞組成一個(gè)生物體。無(wú)論這個(gè)生物體有多大,其基本思想是一致的,換句話說(shuō),一個(gè)大系統(tǒng)是通過(guò)遞歸和組合的方式,由一個(gè)個(gè)對(duì)象建立起來(lái)的。

這種想法可能過(guò)于超前,它的代表語(yǔ)言Smalltalk火了一陣以后就被Java、C#、Python、C++等取代。

后來(lái)只能在Actor模型和Erlang中找到一些痕跡了。

圖片

?

Bjarne Stroustrup發(fā)明的C++就是“新式面向?qū)ο蟆钡拇恚@里的對(duì)象變成了數(shù)據(jù)類型(class)的實(shí)例,沒(méi)有類,對(duì)象根本無(wú)法存在。程序關(guān)注的重點(diǎn)也變成了接口、繼承、多態(tài)。

由于其更接近于 程序= 數(shù)據(jù)結(jié)構(gòu)+算法 ,再加上大公司的推動(dòng),占領(lǐng)了更多程序員的心智,成了主流。?

責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)翻身
相關(guān)推薦

2013-05-24 09:44:31

喬布斯追求極致管理者

2012-03-21 21:04:50

喬布斯

2015-06-15 14:32:27

喬布斯傳記恩怨

2010-08-02 10:49:52

喬布斯

2010-08-12 21:38:31

2013-09-09 17:37:11

喬布斯Keynote

2011-08-29 14:44:06

喬布斯

2009-08-11 10:25:18

蘋(píng)果喬布斯

2015-06-04 11:06:15

喬布斯電商

2015-01-07 09:53:03

蘋(píng)果喬布斯

2011-12-05 22:58:33

蘋(píng)果

2013-08-30 13:40:42

喬布斯蘋(píng)果

2011-09-15 12:13:42

喬布斯蘋(píng)果

2011-10-14 16:19:08

2010-03-22 09:24:59

2011-08-22 10:16:07

雷軍喬布斯小米

2009-05-31 09:11:00

蘋(píng)果喬布斯回歸

2009-01-05 09:47:17

2011-02-22 10:48:48

2015-06-12 11:34:57

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)