新聞中心
?1985年,喬布斯被自己親手創(chuàng)建的蘋果公司掃地出門。

合肥網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。
不甘心的他成立了一家新的計算機公司NeXT,制造下一代個人電腦,一臺漂亮、強大、出色的機器,讓蘋果感到后悔和羞恥。
可惜,NeXT并沒有取得想象中的成功,6500美元的高昂價格只讓它賣出了5萬臺。
1993年,NeXT被迫退出了硬件行業(yè)。
失之東隅,收之桑榆,雖然NeXT機器不行,它的操作系統(tǒng)NeXTSTEP卻因為優(yōu)秀的GUI和面向?qū)ο蟮木幊汰h(huán)境,極大地影響了業(yè)界。
Tim Berners-Lee用它開發(fā)了世界上第一個WWW服務(wù)器,編程語言是Objective-C。
id software 在上面開發(fā)了開創(chuàng)性的 PC 游戲Doom、Doom II和Quake。
NeXTSTEP后來成為Mac OS X的基礎(chǔ),為蘋果所有的平臺提供了強大動力,包括iOS 、iPadOS、watchOS和tvOS。
簡單來說,NeXTSTEP提供了三項非常出色的功能:
1. Objective-C這個面向?qū)ο蟮恼Z言和運行時
2. 面向?qū)ο蟮膽?yīng)用層
3. 面向?qū)ο髮拥拈_發(fā)工具。
請大家注意,這三項功能都和面向?qū)ο笥嘘P(guān)。
1994年,39歲的喬布斯在接受了一次《滾石》雜志的采訪。
他先是抨擊了蘋果的Mac電腦,說Mac不思進取,10年間改變了不到10%,就像一只坐著的鴨子。而微軟,居然花了10年才復(fù)制了一些“坐鴨式”的東西!
隨后他便開始為自家NeXTSTEP的面向?qū)ο蟠蚱饛V告來:
“我認為未來會有一天,所有的軟件都將使用面向?qū)ο筮@種技術(shù)來編寫..... ”
面向?qū)ο螅?/p>
這樣的技術(shù)術(shù)語如果從現(xiàn)在公司的CEO嘴里說出來,大家肯定覺得有些古怪,因為面向?qū)ο笕缃袷浅恋淼降讓拥募夹g(shù)了,CEO絕對不會提起它,他們嘴中應(yīng)該是時髦的微服務(wù)、云計算、人工智能.....
但是在80年代末,90年代初,面向?qū)ο笫莻€非常時髦的詞語。
記者不懂技術(shù),問道:“你能解釋一下什么是面向?qū)ο蟮能浖幔俊?/p>
喬布斯開始了一段精彩的演說:
Object 就像人,他們是活生生的,呼吸著空氣,在他們內(nèi)部保存著如何做事情的知識,他們也有記憶記住東西,你在一個很高層次的抽象級別和他們交互,而不使用底層的細節(jié)。
舉個例子吧,我是你的負責洗衣的對象,你可以把你的臟衣服給我,然后給我發(fā)一條消息,上面寫著:“請幫我洗衣服”, 剩下的事情你就不用管了。
而我知道舊金山最好的洗衣店在哪里,我會說英語,口袋中也有錢,我會叫個出租車去那個洗衣店,洗完衣服后,我回到這里,把干凈的衣服給你,同時告訴你‘這是你的干凈衣服’。
你并不知道我是怎么做到的,你對洗衣房一無所知,你不知道怎么叫出租車,怎么付費。所有的復(fù)雜性都隱藏在我的內(nèi)部。我們倆在一個高層次的級別交流。
這就是Object,它們封裝了復(fù)雜性,對外提供了高層的接口。
這是我看到的對面向?qū)ο蟮姆浅>实拿枋觯?/p>
喬布斯并不是技術(shù)天才,他最厲害的地方在于對用戶體驗和品味的感知,然后“糾集”一批天才把最酷的技術(shù)原型轉(zhuǎn)變成面向消費者的產(chǎn)品。
這段面向?qū)ο蟮闹v述可能是他自己悟出來的,也可能是從他的天才手下打聽來的。不管如何,他非常形象地展示了Object的兩大特性:
1. 封裝復(fù)雜的操作
2. 對外提供高層次的接口,通過消息傳遞交互。
你可能會說,我學(xué)習(xí)的面向?qū)ο笫欠庋b、繼承和多態(tài)??!
沒錯,這是因為面向?qū)ο蟪霈F(xiàn)過一次重大的分裂。
漫畫中的兩位都是大師,左邊這位是發(fā)明面向?qū)ο蠛蚐malltalk編程語言的Alan Kay,右邊則是C++之父Bjarne Stroustrup。
在Alan Kay的OO世界中,對象更像一個自治的“進程”,它擁有自己的狀態(tài),并可以和其他對象通過消息進行通信,正如喬布斯說的那樣。
這些對象各司其職,就像一個個細胞,無數(shù)的細胞組成一個生物體。無論這個生物體有多大,其基本思想是一致的,換句話說,一個大系統(tǒng)是通過遞歸和組合的方式,由一個個對象建立起來的。
這種想法可能過于超前,它的代表語言Smalltalk火了一陣以后就被Java、C#、Python、C++等取代。
后來只能在Actor模型和Erlang中找到一些痕跡了。
?
Bjarne Stroustrup發(fā)明的C++就是“新式面向?qū)ο蟆钡拇恚@里的對象變成了數(shù)據(jù)類型(class)的實例,沒有類,對象根本無法存在。程序關(guān)注的重點也變成了接口、繼承、多態(tài)。
由于其更接近于 程序= 數(shù)據(jù)結(jié)構(gòu)+算法 ,再加上大公司的推動,占領(lǐng)了更多程序員的心智,成了主流。?
網(wǎng)頁名稱:喬布斯 :我比在座的各位更懂面向?qū)ο螅?
鏈接地址:http://www.dlmjj.cn/article/ccosdpj.html


咨詢
建站咨詢
