標籤:
今天看了 Udacity 的 iOS 學習路線介紹,作者的看法是,最好先學習 Swift,而不是 Objective-C,原因一方面是 Swift 要簡單一些,另一方面是因為 Apple 打算用 Swift 作為將來的官方語言取代 OC。
大學裡,程式設計語言課程就是 C 和 C++。我不知道這是誰定的,也許他們有足夠充分的理由。但是對於大多數人來說,這兩個語言——一個太底層,一個太複雜)其實不見得那麼重要。還不如學學 Ruby 和 Python 這樣的抽象度更高的解釋性語言,便於使用,而且內建了強大的工具,讓人更容易有成就感,同時也不影響掌握編程的方法,只不過犧牲一點底層知識而已——可以從電腦體繫結構課程中補回來。
學了兩個月的 Objective-C 之後,我覺得它實在是太麻煩了。Swift 倒是簡單一些,但是只限定於 Apple 的平台,不適合作為自己的核心基礎。核心基礎無非兩類:底層的 C,高層的 Python 和 Ruby 等。我相信從底層學起知識會更牢固,但是,從高層學起更符合人的認知規律。所以我決定從 Python 開始,從高層直覺逐步分解到機器層指令。
我實在是不知道該選擇哪些書作為教材,不過因為不想用盜版書,同時又希望用 iPad 搞定一切,所以乾脆就只買 Kindle 商店和多看商店裡的書了。也就有了這本《Python 學習手冊》。
作者一開始就講了一堆 Python 的好處,彷彿知乎上的語言大戰上演。不知道是不是老了,我開始想“這句話這個詞到底特麼什麼意思呢?”,什麼叫開發效率高?怎麼衡量開發效率?Python 的程式品質高?程式品質你怎麼量化?程式崩了怎麼知道是 OS 的問題,使用者的問題,硬體的問題,還是程式員的問題?…………
你看,好多事情本來很複雜,好多人把它往簡單了說,下幾個痛快的結論,然後這些事情看起來好像就簡單了。就好像朱清時說物理學家登上山頂,發現佛學已經在那兒等著了……我去,誰找個佛學大師來講講量子力學,算算暗物質在太陽系的分布唄?反正您已經在山頂上等著了嘛……
說實話,我很討厭定義模糊的概念——除了點和直線這樣實在是沒法兒定義的東西……
讀這本書的第一章,我的腦子就自動產生了一堆問題,不信你看:
- 注重可讀性(可讀的標準或者模板是什嗎?)、一致性(這是什麼意思?)、軟體品質(如何衡量軟體的品質?)、重用(如何重用?)
- 開發效率(相當於 C++/Java 的0.2~0.3)
- 可移植性(直接複製就可以?您確定?)
- 標準庫(NumPy)
- 組件整合(與 C/C++互相調用,與 Java 整合)
- 樂趣(”易用“是什麼意思?用來幹啥?,”強大內建工具“,幹什麼很強大?)
我沒救了。
不過作者的一句話倒是挺應景的:”20世紀90年代中後期互連網帶來的資訊爆炸,使有限的程式員難以應付繁多的軟體開發項目,往往要求開發人員以互連網演變一樣的速度去開發系統。“
我的同學在 BAT 每天累得不行了都……
《Python 學習手冊》筆記 1