A. 為什麼我認為每個程序員都應該用Mac OS X
原因如下:
1、操作系統的競爭到了一個新的階段
Windows雖然仍舊是實質上的老大,但是操作系統的戰爭早已不是10年前的樣子。隨著Web應用的大行其道,很多人的電腦,都已經成了名符其實的上網本或者上網機。
Window/Mac OS X/linux/Unix幾大主流平台上都有了流行的Web瀏覽器,只要不是一個執著的IE粉絲,那麼如果你的主要任務是Web瀏覽,現在幾大操作系統的體驗已經非常接近了。其他的基於互聯網的流行軟體,一般也都有比較好的跨平台支持。例如,聊天工具,Gtalk全平台覆蓋,Msn全平台覆蓋,現在甚至連一向被人看作很封閉的QQ,實際上也有Linux版本(雖然口碑很大,但是還有lumaQQ這樣的替代產品),Mac版本(口碑不錯),iPhone版本了(最近剛更新過,很不錯)。
我們甚至看到了上網本這一硬體類別的產生。互聯網成了計算機的中心,這很大程度上降低了微軟的壟斷優勢。
3-4年前,切換到Mac OS X的時候,除了招商銀行等少數應用以外,沒有覺得任何的痛苦。那時候,主要開發伺服器端程序,程序的運行環境是Linux,在Mac OS X這個Unix上面開發,其實很方便。
程序員可以在不同平台切換並不重要,重要的是,我們這些程序員的衣食父母已經可以自由的在各種平台上切換了。這就給了我們去嘗試Windows以外平台的可能性。
很多人在比較Windows和Mac OS X的時候,有一個誤區。因為他們自己是長期的Windows用戶,對很多Mac OS X的細節很不喜歡(右鍵、按鈕位置等等)。但是作為一個開發者,要注意的是用戶。希望你們設想一個場景,一個從來沒有用過電腦的人,他們學習Windows和Mac OS X,他們會更喜歡什麼。想更多人會喜歡Mac OS X,如果設想是對的,那麼未來是屬於Mac OS X的。
2、iPhone以及未來的iPad
iPhone是近10年來,看到的最革命性的硬體產品。雖然他的功能,除了多點觸摸、加速度感測器以外,大多數我們都在Nokia和其他競爭者的產品中見到過。用過Nokia2002年的產品7650,iPhone的所有功能它幾乎都有(沒有wifi,但是有gprs),但是用起來跟iPhone就是不一樣。
那麼區別在哪裡呢?05年我買iPod Nano的時候,看到盒子的時候,吃了一驚,因為盒子最顯眼的地方寫的不是「容量:4G」,而是「可以容納1000首歌,xxx張照片」。這家賣水果的公司突然明白,用戶其實關心的是那個叫mp3的東西可以容納多少歌,而不是從比特的角度,從存儲的角度他的容量是多少G。多少G多少M的容量,是實現「容納多少多少歌」這個目的的一種手段。我們總是太過care手段,忘了我們的目的是什麼。
做產品的時候,很多人也是這樣。如果你是第一次看電視購物賣手機,也許你就會想把手裡面的iPhone扔掉,去買那些垃圾。因為你聽介紹的時候,你會覺得全世界最好的手機就在那電視里,叫做「XX全能王」。從功能列表來看,它們簡直是世界上最好的產品,但是如果你真的拿到手,你也許會發現那東西3分鍾死機,也許什麼操作都很慢,也許摔了一下就壞了。那個時候,我估計你會領悟到,功能多當然好。但是功能列表不會包括「不會3分鍾死機」,「操作不會很慢」,「摔一下不會壞」。手機,或者任何產品對你最重要的不是功能多,而是好用。
iPhone讓我發現原來手機上也可以有這么好用的瀏覽器。這是個純技術問題么?不是,要知道Nokia很多手機用的瀏覽器內核和iPhone毫無二致,都是Webkit。但是操作起來看看,大家知道iPhone出來沒有多久,所有網站手機流量最大的就是iPhone了,這不是靠運氣啊。我有個Nokia E61i歐版手機,可以用wifi,但是用它的瀏覽器,實在是不方便,每次都要重新選擇wifi,打開網站也很慢,打開了以後,放大縮小也很不方便。
好的體驗僅是其一。更重要的是水果公司在iPhone這個產品上開發了AppStore,這是近10年來,我認為在軟體行業最重要的一個東西。1976年2月3日比爾蓋茨發表了著名的《An Open Letter to hobbyists》(給愛好者們的一封信),事實上開啟了商業軟體的道路。然而,商業軟體從誕生起,就受到盜版的詛咒。從全球看,表面上微軟是盜版的最大受害者。沒錯,從金額上看,是這樣的。但是實際上所有的第三方開發者,才是盜版的最大受害者,他們中的很多人因為盜版而喪失了成長為微軟這樣企業的機會。
AppStore不能完全杜絕盜版,但是它從發行和支付渠道出發(跟iTune Store如出一轍),很大程度降低了盜版對第三方開發者成長帶來的風險。很多單槍匹馬的第三方開發者,憑借做iPhone軟體發家(當然一個市場是有容量的,你不能指望它超越自己的機極限)。很多開發Mac軟體多年的人,沒因為開發Mac軟體發家,但是因為移植了一個簡單版本到iPhone發了家。據說,因為開發iPhone只能用Mac OS X,這成了近兩年對Mac電腦銷售最大的拉動。很多人為了開發iPhone程序而購買Mac電腦。
就在這時iPad來了。價格在2000-3000之間的上網本,應該是最近和未來,電腦市場一個很重要的增長點。這個價位可以吸引很多買不起電腦(可能更多是不捨得買電腦)的人。另外,關註上網這個概念簡化操作,也可以讓很多覺得電腦太難用的人們,來購買電腦。可惜,基於Windows的上網本在用戶體驗上實在是乏善可陳,往往僅僅是一個屏幕更小的Windows而已。
Windows在PC上面的優勢本來有機會拓展到其他平台。在WinCE和Palm,微軟實際上獲勝了。但是之後就固步自封了,現在iPhone出來了,WinCE實際上已經沒有什麼大機會了。上網本和觸摸設備,本來也是Windows有巨大優勢的,但是微軟實在缺乏在用戶體驗方面的努力(你去看看各種基於Windows的觸摸查詢設備吧,居然需要點一下然後滑鼠游標蹦過來,然後才能點!!!!!!!)。
iPad的發布會,並不讓人多麼驚喜。這是因為iPad和iPhone戰略在水果公司是緊密結合的,iPad包含了iPhone的所有革命性,然後把尺寸放大。發布會開到結尾,說到電池時間和價格的時候,我才開始興奮。
iPad意味著什麼?意味著一台便宜的上網本;有電腦的用戶也不介意購買一個,買不起或者不捨得買電腦的人可能會買;因為便宜,所以醫院和餐館等可能會購買作為內部管理系統(醫院信息系統,點餐系統);學校可以買做教育用途(電子書包)。意味著,我們可以在電腦上面寫文檔累了的時候,躺在床上抱著它聽歌,看看書,玩個游戲。
這個產品如果操作的好的話,可以造就一個比iPhone更大更好的軟體市場。
3、Mac OS X是Unix
對於大多數做伺服器端開發的開發者,伺服器端開發也許就意味著Linux下的C/C++和Java。Mac OS X是真正的Unix(符合標准,有授權,合法的可以用Unix商標)。大多數這類開發,你可以在Mac OS X下做,在Linux下執行。少數涉及到Linux和BSD內核不同的應用,稍微麻煩一點。但是如果你做到這個級別的話,我想你也不在乎了。
大多數基於Linux的開源軟體,大多數為Unix架構設計的程序,都可以在Mac OS X下正常工作。雖然有很多軟體編譯起來,會遇到很多稀奇古怪的問題,但是放心,你在不同的Linux版本間編譯的時候遇到的會更多。雖然Mac OS X下面的自動軟體安裝工具也會有各種各樣的問題,但是放心,Linux下的也是。
Unix文化最經典的管道和腳本,Mac OS X也支持的很好。
Mac OS X是一個非常好的平衡,Unix式的命令行、腳本能力它全部具備,而且帶有一個非常好用高效的GUI。所以不管你是CLI(命令行界面)控,還是GUI控,你都應該可以玩的很好。
有人問我Mac OS X是不是一個很好的學習Linux的途徑。我不得不說,你要是真的玩轉了Mac OS X(CLI+GUI)的話,你真的無需去學習Linux,用就是了。尤其是,學習Linux是為了學習伺服器管理的人們,真玩轉了Mac OS X,Linux有什麼區別?
4、開拓你的視野
一段時間以來,我研究自己發展的過程中的瓶頸的時候,發現一切瓶頸都不來自能力,都來自視野,來自於給自己設置的愚蠢的極限。這么說,是因為我發現,我想做一輩子的程序員,而我也樂意學習新的知識,我也確實擅長不停的學習新的知識。
只是每經一個階段,一旦我發現自己長期沒有什麼進步的時候,就會發現原因就是我已經不知道前面的路在哪裡了。在.net出現之前,我已經是一個微軟幾乎所有產品的專家(但我不是MVP),我可以不藉助ATL自己寫Com組件,我寫過IE和Outlook插件,等等。但是到了.net時代,我的心疲憊了,我決心不再跟隨微軟的腳步。
這兩年,尤其是09年,做了一些iPhone開發,Cocoa開發(Tiny4Reader),做了些伺服器端開發(GinkgoTek.com),我又開始像剛開始接觸電腦那樣的激情澎湃了。
對大多數純Windows程序員,Mac OS X的GUI和基於Unix的CLI都是新的天地,哪怕你不真的從事這兩方面的開發。在這些領域看到的東西對你的開發都是有利的。
騰訊是一個大家印象中很不注重用戶體驗的公司(老程序員視角)吧?但是現在QQ已經有了Mac版,iPhone版,而且iPhone版本已經多次打磨,已經是一個相當好用的iPhone應用了。年前我去了趟深圳,見了他們的iPhone開發team,他們很重視用戶體驗,也做了很多的嘗試。而騰訊更多其他平台開發的工程師,也開始更加關注用戶體驗了。
對絕大多數Windows程序員,關注用戶體驗的經驗和意識都不足,使用Mac OS X有利於提高這些方面的素養。
B. 為什麼國外程序員愛用Mac
這和Mac的很多因素都有關, 首先, Mac運算速度快, 程序員從來受不了速度慢的電腦, 第二, Mac本身支持很多很好的編譯器, 例如蘋果自己出的Xcode是一款非常好的編程環境, 其它的還有Dash之類的, 都是極好的, 第三, 蘋果上可以注冊Developer的賬號, 注冊完可以在網站上找到很多編程上用得著的資源, 多且精, 但是這些都只在Mac上支持, Win不行, 第四, Mac的OS X系統是Linux內核的, 而Linux是很多程序員最喜歡的操作系統, OS X採用Linux的操作內核, 但是又比Linux界面更加友好美觀, 自然就導致很多程序員喜歡Mac, 其實不止是國外啦, 很多國內的程序員也是Mac的用戶
C. 程序員心聲:我為什麼偏愛蘋果電腦和Mac OS X
我愛蘋果的界面
但是這里有一點要注意當我只用Windows的時候,我並不知道Windows的缺點,我以為自己生活在一個完美的世界裡。
這個邏輯是非常詭譎的:世界上一個完美的東西因為另外一個不完美的東西變得不完美了。換句話說,我原本擁有一個完美的東西,現在擁有的兩個東西都是
不完美的。但是,我因此就損失了么?在換一句話說,我退步了么?答案相反,我比以前進步了。
很多人認為Mac
OS
X最大的不同就是華麗的Aqual界面。但我認為這只是Mac的表面,不足以說明Mac
OS
X系統的優秀。實際上經過配置的Linux和Windows甚至能夠做到更加華麗的效果。
我愛蘋果的簡單直接
Mac
OS
X真正閃光和留住用戶的是他的設計哲學。那是簡單,盡量不要讓一些不必要的概念來干擾用戶。
再比如,在沒有任何網路設備的情況下,兩台筆記本電腦可以通過各自的無線網卡就可以連接,在Mac
OS
X的操作很簡單,就是其中一台創建一個網路,另一台加入這個網路,馬上就能看到對方電腦的圖標。很多朋友說,Windows上好像沒有這個功能把,答案
是:有的,Windows是無所不能的,但是Windows下需要一堆的概念,首先你要了解無線網卡有兩種連接方式,然後是各種網路協議,設置IP,網段
等等,我們面對這一堆問題的時候,首先會懷疑自己的愚蠢,但我們有沒有想過,這么多的概念,難道都是必須的嗎?
我以程序員的身份發言
這樣的感覺,在做Mac編程的時候更加強烈。Objective-C是蘋果官方的首選語言,它和C++一樣是C語言的超集,非常簡潔漂亮地在C的基
礎上添加了面對對象的特性,沒有多餘的模板,運算符重載的概念(這些是我們一定需要的么?我們需要的只是面對對象而已)。在Mac
OS
X底層Cocoa
API中,這種精神得到了更加強烈體現,甚至一條語句就可以實現多線程,MFC相形之下顯得非常笨拙,。Net可以比一下(但仍然概念比較多)。但別忘
了。Net和Cocoa不是同一個時代的產品,Cocoa的前身OpenStep早在Java出現之前就有了。隨著Leopard的推出,蘋果推出了
Objective-C
2.0,
這是Objective-C多年來的第一次升級,只是小心謹慎的添加了為數不多的幾個概念。
我愛蘋果的文化
天才就是在別人習以為常的問題上多問了幾個為什麼,這叫獨立思考。我欣賞蘋果Think
Different的文化。這里我理解有兩層意思,第一層是Different,
但Different的東西是不是一定就好?我見到很多年輕人標榜自己很Different,我的地盤我做主什麼的,非常hip-hop,很有個性,
發型很另類,但關鍵時候人生的選擇一來都跑去考公務員了,圖個穩定,爹媽也放心雲雲這只是Different,沒有Think。Think是什
么?Think就是獨立思考。比如說,別人講做公務員工作穩定,獨立思考的人就應該想一下,公務員真的就穩定么?為什麼會穩定?我們那麼年輕,需要穩定
么?
很多人覺得蘋果電腦應該是搞設計的人用的,我覺得不是,PC的Photoshop今天也很棒,一樣可以做出不俗的設計出來。蘋果電腦Mac
OS
X現在在中國,大多數人是不適用的,主要原因是還沒有普遍獲得中國軟體/游戲開發商的認同,暫時還是少數人的玩具。但還是有一些人合適,就是那些有獨立思
考的能力,喜歡了解新事物,不害怕打破習慣,接受世界不太完美,但希望對世界有更多認知的人,當然你還要願意為了解新事物付一點錢和時間。
D. 程序員為什麼偏愛蘋果電腦和Mac OS X
作為一個經常使用蘋果電腦,並且在Mac OS X上做開發的人,我一直想找個機會出來說一下,我為什麼偏愛蘋果電腦和Mac OS X。我愛蘋果,愛Steve jobs,但同時我也愛微軟,崇拜Bill Gates,他是我兒時的偶像。作為一個以寫程序為生的人,Windows對我來說一點障礙也沒有,基本上我知道如何重裝,知道如何處理Windows上 的任何問題,一時半會不知道的也能通過搜索引擎知道,我知道如何抵抗病毒,保護我自己的系統,我知道如何在Windows上開發程序,滿足老闆的需求,坦 白說,我在Windows上的工作效率還要高。 我總是和朋友說,我其實是雙痛苦:用Mac的時候,我很痛苦,因為我用不了招商銀行的網上銀行,也不能看鳳凰寬頻,有些應用程序的效率在Mac上實 在是不怎樣;用Windows的時候我也很痛苦,我習慣了使用Expose的功能,我把滑鼠甩到屏幕的右上角,但是Windows沒有反應,所以我是雙痛 苦,我既了解Windows也了解Mac OS X,我很清楚各自有什麼缺點和優點。 我愛蘋果的界面 但是這里有一點要注意――當我只用Windows的時候,我並不知道Windows的缺點,我以為自己生活在一個完美的世界裡。 這個邏輯是非常詭譎的:世界上一個完美的東西因為另外一個不完美的東西變得不完美了。換句話說,我原本擁有一個完美的東西,現在擁有的兩個東西都是 不完美的。但是,我因此就損失了么?在換一句話說,我退步了么?答案相反,我比以前進步了。 很多人認為Mac OS X最大的不同就是華麗的Aqual界面。但我認為這只是Mac的表面,不足以說明Mac OS X系統的優秀。實際上經過配置的Linux和Windows甚至能夠做到更加華麗的效果。 第2頁:我愛蘋果的簡單直接 我愛蘋果的簡單直接 Mac OS X真正閃光和留住用戶的是他的設計哲學。那是簡單,盡量不要讓一些不必要的概念來干擾用戶。 比如Windows軟盤是A:、B:,硬碟是C:盤,在Mac OS X上沒有這樣的概念軟盤就是一個軟盤的圖標,硬碟就是一個硬碟的圖標。我們用Windows的時候有沒有想過,為什麼一定要存在A: B: C: D: E:盤這樣的概念呢? 再比如,在沒有任何網路設備的情況下,兩台筆記本電腦可以通過各自的無線網卡就可以連接,在Mac OS X的操作很簡單,就是其中一台創建一個網路,另一台加入這個網路,馬上就能看到對方電腦的圖標。很多朋友說,Windows上好像沒有這個功能把,答案 是:有的,Windows是無所不能的,但是Windows下需要一堆的概念,首先你要了解無線網卡有兩種連接方式,然後是各種網路協議,設置IP,網段 等等……,我們面對這一堆問題的時候,首先會懷疑自己的愚蠢,但我們有沒有想過,這么多的概念,難道都是必須的嗎? Mac OS X在整個系統處處體現出這種精神,更少的概念,更簡化,更直接的操作,所以Mac OS X沒有注冊表,Mac機不需要區分是不是交叉線就可以雙機互聯(為什麼一定要讓用戶去識別交叉線?)。 我以程序員的身份發言 這樣的感覺,在做Mac編程的時候更加強烈。Objective-C是蘋果官方的首選語言,它和C++一樣是C語言的超集,非常簡潔漂亮地在C的基 礎上添加了面對對象的特性,沒有多餘的模板,運算符重載的概念(這些是我們一定需要的么?我們需要的只是面對對象而已)。在Mac OS X底層Cocoa API中,這種精神得到了更加強烈體現,甚至一條語句就可以實現多線程,MFC相形之下顯得非常笨拙,。Net可以比一下(但仍然概念比較多)。但別忘 了。Net和Cocoa不是同一個時代的產品,Cocoa的前身OpenStep早在Java出現之前就有了。隨著Leopard的推出,蘋果推出了 Objective-C 2.0, 這是Objective-C多年來的第一次升級,只是小心謹慎的添加了為數不多的幾個概念。 第3頁:我愛蘋果的文化 我愛蘋果的文化 天才就是在別人習以為常的問題上多問了幾個「為什麼」,這叫獨立思考。我欣賞蘋果Think Different的文化。這里我理解有兩層意思,第一層是Different, 但Different的東西是不是一定就好?我見到很多年輕人標榜自己很Different,「我的地盤我做主」什麼的,非常hip-hop,很有個性, 發型很另類,但關鍵時候人生的選擇一來都跑去考公務員了,圖個穩定,爹媽也放心雲雲……這只是Different,沒有Think。Think是什 么?Think就是獨立思考。比如說,別人講做公務員工作穩定,獨立思考的人就應該想一下,公務員真的就穩定么?為什麼會穩定?我們那麼年輕,需要穩定 么? 很多人覺得蘋果電腦應該是搞設計的人用的,我覺得不是,PC的Photoshop今天也很棒,一樣可以做出不俗的設計出來。蘋果電腦Mac OS X現在在中國,大多數人是不適用的,主要原因是還沒有普遍獲得中國軟體/游戲開發商的認同,暫時還是少數人的玩具。但還是有一些人合適,就是那些有獨立思 考的能力,喜歡了解新事物,不害怕打破習慣,接受世界不太完美,但希望對世界有更多認知的人,當然你還要願意為了解新事物付一點錢和時間。
E. 為什麼程序員大多數都喜歡mac
我覺得大家都忽略了一個東西。用戶群
mac適合編程(寫Windows軟體的當我沒說,在mac上裝Windows也當我沒說),除了Unix哲學,還有用戶群體本身。
有一大群的黑客/技術宅他們自己就在用mac,相信你看youtube上的各類技術分享,常見到mac,我記得前幾年Hacker News上有個問卷,黑客們都用的什麼操作系統,mac OS X 是排第一位的,甚至超越了linux
操作系統為用戶提供編程環境,反過來,優質用戶又為自己使用的操作系統貢獻優質工具
如此循環,就成為今天我們體驗良好編程環境。
F. 為什麼矽谷程序員都喜歡用Mac
Mac的優勢在於穩定性,在中國Windows的市場更大,是因為Windows進入中國市場的時間更早。在國際上,你注意觀察的話,會發現mac的用戶多是用做比較專業性的工作。
另外,跟用戶體驗有很大的關系。在用戶體驗上mac做的更好,至少暫時是這樣。mac有很多獨有的軟體,在編曲方面有logic,在碼方面有xcode這些東西都是mac獨有的,而且在win下可能暫時沒有更好的替代軟體。
G. MAC 很難用啊 ,為什麼那麼多人還喜歡買蘋果的MAC
因為mac系統不是娛樂系統,主要是生產力工具。macbook續航和重量都是一流的,當然系統也是很不錯的。你用虛擬機無法體驗到macbook的優勢。mac很多軟體是比windows要好,但是娛樂功能要差很多。程序員很多喜歡用mac寫程序。
H. 為什麼那麼多人推薦程序員用Mac
因為系統的緣故啊,蘋果那麼多人用還是有點道理的,因為系統是真的特別好,相比起微軟的系統就挺差的了不穩定不說還特別差
I. 程序員用mac還是windows
相信很多人都見證了Windows從xp到現在win10的變化,不過就是習慣來說,還是喜歡win7。
MAC,對於linux開發的程序員來說有先天優勢。在其他方面也有很多優點。
為什麼很多程序員都覺得用上MAC才會高大上,或者很多人推薦使用MAC呢?
第一:MAC很省心
用過MAC的小夥伴都知道,幾乎不用裝殺毒軟體的,甚至有網友稱:用了 MAC,都沒見過病毒長啥樣。其次,幾乎不需要維護,磁碟碎片整理?裝驅動?重裝系統貌似也很少人折騰吧。另外,續航能力比一般筆記本時間更長,就是要持久。
第二:操作很簡潔
習慣了windows的用戶,肯定很熟悉這幾個過程。當你需要切換無線功能,需要點很多滑鼠,包括一切可有可無的確認對話框;卸載(移除)優盤,除了在右下角尋找,接著還有一些繁瑣的操作。
對於MAC來說,操作都簡潔到了極致,盡量不會干擾到用戶。比如切換無線,MAC只需要一次滑鼠點擊就可以了,卸載優盤,也只需要一次滑鼠點擊。最大程度提高程序員的生產力。
第三:Linux下開發更優秀
MAC OS是基於Unix的。對於Linux開發者來說,想用的工具唾手可得,不用再安裝復雜的環境了。
對於常見的編程語言,c/c++/Java/python/Ruby等等,都是支持的,linux下開發效率會更高;同時,還有一款優秀的編輯器vi/vim,用過的應該都會說好吧。
雖說Windows下的VS很強大,但是如果真的要兼容,還需要下載很多插件,煩不勝煩。
第四:蘋果本身
蘋果本身給消費者帶來的感覺就是流暢,這一點實踐已經證明了。除了系統本身,MAC從包裝外觀到電腦內部,都是精心設計的,甚至於微小的機箱上的螺絲。對於很多大陸產品來說,包裝並沒有那麼好。
同時,蘋果的數據保密措施也不錯的。如果你有不同的蘋果設備,數據間是可以互通的。當然,現在很多企業都可以做到。
說道這里,必須要說明的是,我不是崇洋媚外,只是抱著欣賞的角度客觀的分析一些MAC的好處。除了個人見解,在看看一些網友的說法,有些說法真的很精闢。