學會編程,從擁有一台mac個人電腦開始
基因
喬布斯認為,『完美的藝術品只有天才才能造出來』,於是他找來了一群天才。
他們相信『過程就是獎勵』,他們『每周工作 90 小時』只為能做出最『酷斃了』(Insanely Great)的產品,他們像海盜一樣行事:既為自己的工作感到自豪,又願意去竊取別人的靈感。他們和喬布斯一樣,都是充滿了朋克精神的天才極客。Mac 初始團隊的海盜
多年後喬布斯回憶到,『最初的Mac團隊讓我知道,最頂級的人才喜歡一起工作,而且他們是不能容忍平庸作品的』。到今天,Mac 的開發者與用戶或多或少地繼承了這種精英文化,他們是一群熱愛編程的人。
天才程序員王小波在他的《思維的樂趣》中對編程有著這樣的一番描述:『計算機編程和解幾何題有共通之處:對了馬上能知道對,錯了也馬上知道錯,乾乾脆脆。你用不著像孟夫子那樣,養吾浩然正氣,然後覺得自己事事都對。』
我竊以為,編程能力的提升有助於提升獨立思考與理性思維能力。而理性是一種科學的態度,它能讓我們和我們周遭的世界更加美好。
信仰
張國榮『我就是我,是顏色不一樣的煙火』
使用macbook,更多意味著一種信仰。
加點私貨,承認目前為止,Windows市場範圍更廣,兼容軟體更多,它的VS很不錯,也表示Linux開源大法好。用什麼樣的電腦並不能決定你是怎樣的一個碼農。但是越來越多的碼農小夥伴把筆記本換成了mac,恩,是的,性價比並不高,在咖啡館敲代碼怎麼看都是一件裝逼的事情。
但是在mac上敲久了代碼,久而久之,會有一種要把自己的代碼變得更高效,更好的錯覺。就目前為止市面上多數熱門遊戲都不兼容MAC OSX,mac與遊戲只能任選其一,選擇了mac,意味著註定與遊戲無緣。因為mac,戒掉了遊戲,以前花在遊戲上的時間,現在花到了琢磨技術上。以前很討厭敲代碼,因為總是覺得寫不好,現在打開Xcode看到自己很多project反而很開心,大概用了這麼多UI優美的mac軟體,和Unix下高效的軟體之後,即與善人居,如入芝蘭之室,久而不聞其香,即與之化矣。
Mac 『1984』宣傳片,宣傳的不是他的產品,而是一種自由多元化信仰,它幫助我打開了一扇通往人格獨立之門。從喬治·奧威爾到『邏輯思維』,從《烏合之眾》到《論美國的民主》,我逐漸成長為一名自由主義者。
『 Think Different 』廣告片中,Mac 被定義為敢於挑戰權威、富有創新精神的叛逆者。那些旗幟鮮明的人,願意買一台 Mac 來標榜自己的 『非同凡響』。
完美
Mac 是第一款使用圖形用戶界面(GUI)和滑鼠的個人電腦,在使用 Mac 的過程中,我也開始慢慢感受到了那『God is in the details』的完美體驗。
- Mac OS 的頂部菜單欄設計遵循了『費茨定律』,這是為什麼 Windows 的菜單功能難用的原因,因為它不敢抄得太像 Mac;
- Applications、Downloads 等內置目錄規則和 Spotlight 文件檢索,很好的平衡了文件管理與定位的效率;
- 一致的鍵盤快捷鍵設計與 UI 規範,提升了應用程序的可用性與美觀度;
- 有趣的 Dock、精美的擬物化圖標以及大量優秀的無襯線字體,讓 Mac 時尚感和設計感十足;
- 打開 Macbook 機身殼,你會看到那精美的電路板。喬布斯從他父親身上學到,即使是隱藏的部分也要做得很漂亮。這點重要麼?想想中國各大城市的下水道建設吧:)
關於 Mac 與 Windows 的對比,《喬布斯傳》中記錄了更多細節:
- Mac 電腦的包裝重做了 50 次,目的是要讓 Mac 在性能和外觀上都給人驚艷的感覺;
- 2000 年上市的 Power Mac G4 Cube 進入了紐約現代藝術博物館;
- Windows 抄襲 Mac 是合法的。1984年,為了不讓微軟停止開發 Mac 版的 Word、Excel 等應用,蘋果被迫簽署了一份合同,同意微軟有權在其即將推出的Windows系統中使用蘋果公司的部分圖形功能;
- 喬布斯認為最好的產品是『一體的』,是端到端的,軟體是為硬體量身定做的,硬體也是為軟體度身定製的,Mac 上的操作系統只能在自己的硬體上運行。這也是為什麼大家會覺得蘋果的產品體驗更好、性能更好,而 Android 上的動畫不論如何優化都無法獲得 iOS 的流暢度的原因;
- 『微軟唯一的問題就是他們沒有品位,一點都沒有。並不是狹義上的沒有品位,而是廣義上的,他們沒有獨到的見解,也不會在產品中注入多少文化……因此,我想自己之所以感到難過並不是因為微軟成功了,我對他們的成功沒有異議,大部分都是他們應得的。我難過的是,他們做的確實只是三流產品。』當然這段話只是喬布斯在 1996 年對微軟的看法:P
書中有幾個小故事,足以說明為什麼說 Mac 的締造者們是一群天才程序員:
Mac 在一開始就實現了桌面窗口效果,比爾·阿特金森(Bill Atkinson) 設計了重疊窗口『截取』演算法(讓 CPU 只計算窗口中顯示的部分,略去對未顯示部分的計算,從而節省了處理器的運算時間,提高系統運算速度),這一特性 Windows 在十年後的 Windows 95 中才實現。
Mac 的桌面窗口一開始就被喬布斯要求設計成圓角,而計算機畫圓形圖案涉及到平方根計算,當時的 CPU(摩托羅拉68000微處理器)並不支持平方根計算。為此,阿特金森研究出一個加法運算來代替平方根運算的演算法:一組奇數序列相加可以得到一組完全平方數序列(如,1+3=4,1+3+5=9,等等)。
蘇珊·卡雷(Susan Kare)主導設計了 Mac 上各種漂亮的字體,結合激光列印技術和強大的圖形功能,Mac 推動了桌面出版產業的誕生。字體技術不再只有印刷工人和其他與油墨打交道的人才能使用。
95年,阿維·泰瓦尼安(Avie Tevanian)領導改進了 Mac OS ,將 NEXTSTEP 操作系統核心技術整合其中。從此 Mac OS 成為了基於 Unix ,同時包含面向對象編程語言 Objective-C 和先進 GUI 的優秀操作系統。這也是為什麼使用 Mac 的程序員通常比使用 Windows 的程序員更熟悉 Shell 操作與各種編程模式,對美的設計形式也更加敏感的原因,而這些是成為全棧工程師的一些基礎要求。
2005年,Mac OS 在幾個月的時間內完成了對 Intel CPU 的支持。這件事成為 比爾·蓋茨 親自承認真正欽佩蘋果的幾個壯舉之一。
方便
mac內核是Unix Darwin,內置了很多Unix的軟體,原來Thinkpad上裝著Ubuntu和Windows 7,樓上有人說得很好,比Linux更舒服的界面,比Windows更簡潔的環境。1.自帶Vi和Emacs,所以只需要糾結自己做哪個派別就好。配置功能等只要follow普通用戶就好。2.自帶Apache伺服器,配置wordpress做自己的博客分分鐘的事情。3.自帶SQLite資料庫,MySQL也有mac客戶端,學習資料庫分分鐘的事情。4.支持Python、PHP等語言,本人在做Python科學計算和機器學習的事情,所以最開始接觸mac的時候順手學了Python語言。5.Xcode和VS,還是更喜歡Xcode,自帶openGL庫,配置boost庫,openCV庫是非常簡單的事情,恕我VS編程少,真的用不懂VS。6.macport和homebrew,可以讓你下載到大部分軟體,現在從wordpress轉到Hexo,表示Node.js大法好。7.自帶Git,直接從Terminal啟動Git服務,所有Xcode代碼可以備份。8.自己編寫iOS程序,然後在設備運行很爽。所以說,學會編程,從擁有一台mac個人電腦開始,每個程序員都應該有台 Mac 電腦,每家有理想的互聯網公司都應該給他的程序員配上一台 iMac 或 MBP。
當午後的陽光透過窗戶照在這些 iMac 精靈身上時,你能體會到當年喬布斯與 Sir Jonathan Ive 漫步於花園之中,看到那一排排迎著太陽轉動的向日葵時的那份喜悅之情。
最後,讓我以『 Think Different 』宣傳片的廣告詞《致瘋狂的人》作為本文的結尾來勉勵自己和各位同學:
他們特立獨行。他們桀驁不馴。他們惹是生非。他們格格不入。他們用與眾不同的眼光看待事物。他們不喜歡墨守成規。他們也不願安於現狀。你可以認同他們,反對他們,頌揚或是詆毀他們。但唯獨不能漠視他們。因為他們改變了尋常事物。他們推動人類向前邁進。或許他們是別人眼裡的瘋子,但他們卻是我們眼中的天才。因為只有那些瘋狂到以為自己能夠改變世界的人,才能真正改變世界。
推薦閱讀: