找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 2975|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

Programming in Objective-C

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51773 發(fā)表于 2013-8-16 12:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
今年沒有看著什么新的有點思想的東西,雖然前不久買了兩三本關(guān)于實時系統(tǒng)的和FPGA的,可是都忙著工作,都沒怎么看著,當然,這些也都是些application(應(yīng)用)的了,并不是一些basic(基礎(chǔ))型的。呵,經(jīng)常去圖書館借離散數(shù)學(xué)和偏導(dǎo)回來,可是翻都沒翻又還回去,而且是過期先,真是暈死。不知為什么現(xiàn)在的心都不如幾年前了,那時雖然也是如饑視渴,但是還是可以一步步地慢慢從基礎(chǔ)開始,現(xiàn)在可不行了,總靜不下心來學(xué)些基礎(chǔ)的……(費話還有很多很多)
言改正傳。前不久,不知算不算心血來潮,突然就想玩玩apply(蘋果),于是想到了買機器,裝MAC OS X(蘋果的操作系統(tǒng)),載XCode(Mac OS X下的一個開發(fā)平臺),下文檔等等之類。當然,想了就做了(廣告語:Just do it)。呵,運氣不好,在淘寶找了兩個商家,一個說我不懂裝懂直接不賣我,另一個說著傳機器的照片過來的,結(jié)果照片沒過來機器賣別人了。也罷,本想再買個小白來陪一下現(xiàn)在這臺小黑的,沒辦法,他們都逼我省錢。只好在現(xiàn)在的小黑上裝上小白的心--Mac OS X and XCode, etc.
文檔下了一大堆,從Mac OS X的核darwin到上層的Cocoa等等。今天花了半天學(xué)會了基本的Objective-C。好久沒有看過english document(英文文檔)了,有些困難,不過還好,幾乎都只是看看文檔里的代碼就都差不多明白了,哈,一目十行不在話下。
說說對Objective-C的一點點感覺吧。幾年來我神游過很多種計算機編程語言,我覺得最好玩和最深奧的還是函數(shù)式的,像Lisp和Scheme,到現(xiàn)在我還沒得到其精髓所在;而最常用的就是C語言了,從最底層的bootloader到OS,到驅(qū)動再到應(yīng)用層,從單片機,到PC再到大型機,它都可以上任,而且做得很好;最實用的就是shell,如果shell也算一種語言的話。編程語言現(xiàn)在最流行的是什么?OO(面向?qū)ο螅�!不管是新興的python, php, java, c#,就連有點古老的pascal都加上了OO的支持,也就是delphi吧。如果你現(xiàn)在去書店里轉(zhuǎn)轉(zhuǎn)就會發(fā)現(xiàn)編程方面的書都幾乎被java和c#的書給占完了,而幾年前我出道的時候最流行的還是C++,不管網(wǎng)上還是網(wǎng)下,到處都是學(xué)習C++,論OO。C++學(xué)了幾年了,精算不上了,但是還算上熟悉吧。其實,不管是哪種語言,都脫離不了計算機這個不變的東西,如果你能達到和計算機一樣的思維再加上這些語言的思想那就是難達到真正地運用自如了。(呵,計算機這個東西我覺得我已經(jīng)理解得差不多了)
哎呀呀,又扯得遠了些,怪不得以前語文老師不是說我的作文寫得好就是寫得又臭又長的- -b
那天用XCode(就像M$的VS,Borland的delphi和BCB)生成了個程序,呵,看到objc(Objective-C的簡稱)代碼中一大堆方括號[],還真是給看暈了。心想怎么這么麻煩的,比起c++, java, c#來太不藝術(shù)了�?墒�,今年終于明白了很多。其實objc在OO方面是從OO的鼻祖smalltalk給直接繼承過來的(以前雖然也去研究了一下smalltalk,可是沒入門就又出來了),它還是沿用著message(消息傳遞)的方式進行OO處理,而不像現(xiàn)在流行的c++, java, c#使用function call(函數(shù)調(diào)用)方式進行。舉個例子:
object.function(argument); // function call
[object method: message]; // message
還有,學(xué)過C++的都應(yīng)該知道,C++是可以多重繼承的,可是objc和java一樣,只能單一繼承。
當然還有其它很多地方,現(xiàn)在還沒深入。
呵,不知是不是被C++, java, C#思想的毒害,總感覺objc的語法不優(yōu)雅不夠藝術(shù),寫得太復(fù)雜,也許這也是其不如前者流行的原因吧。但是,這種OO的思想真的是原汁原味的。
再多說一下,其實,objc與cocoa的關(guān)系就只是一種語言與一個庫的關(guān)系,就像C++與MFC,C#與.NET,JAVA與swing一樣。

附:
1,wikipedia中關(guān)于objective-c的詳細介紹:http://en.wikipedia.org/wiki/Objective-C
2,Introduction to The Objective-C 2.0 Programming Language:http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Introduction/chapter_1_section_1.html
3,F(xiàn)oundation Framework Reference:http://developer.apple.com/documentation/Cocoa/Reference/Foundation/ObjC_classic/index.html
4,Introduction to Cocoa Fundamentals Guide:http://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/chapter_1_section_1.html
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表