我的2020年寫Java Web程式的筆記型電腦採購策略如下。
本指南是以身為Java後端工程師的自己來考量,因此僅適用於後端網頁應用程式的開發人員(Java,Python,Node.js,RoR,PHP,Go..),不適用Windows桌面應用程式、IOS、Android手機開發人員。
2015年剛入行時,靠公司補助30,000元(實際上只有15,000,因為我做半年就閃了)買了一台工作用的筆電ASUS P2420LA-0051A5200U。當初買來是工作用,但實際上僅有兩份工作要自備電腦,其餘都是用公司的。
當時只買4GB的等級,很快不夠用,所以自己加了4GB總共8GB RAM,硬碟還是7200 RPM的傳統機械硬碟。這台筆電至今仍是我的"主力"電腦。
這台筆電用到現在完全沒故障過,狀況良好,但最近因為一些原因打算買新的筆電,原因包括作業系統舊,記憶體太少,硬碟不是SSD,需要Linux Core及bash指令介面,還有外接的USB port接觸不良。
舊電腦的作業系統是Windows 7專業版。之前也用過Windows 10,但我還是比較喜歡Windows 7的樸實。直到最近安裝Docker才發現不太方便,很需要原生的Linux Core及Bash環境。而Windows 7只能透過Virtual Box虛擬機安裝,而Windows 10用Hyper-V其實也是個虛擬機。
此外許多主流程式語言在Linux環境比較友善,如Node.js,Python,各前端框架工具等,Gradle及Maven指令操作上用bash也比較容易。
以及git的使用也是在Linux Bash比較方便。我習慣使用git命令,而在Windows上必須另外使用git bash,操作上並不直接,例如複製貼上就不是按Ctrl + C、Ctrl + V。
而8GB的RAM在開發上工作上顯得很吃力了,例如同時跑前端Angular及後端Spring Boot,或Spring Cloud多開幾個Spring Boot實例,多開一個IDE,開MySQL Workbench或Oracle SQL Developer,開Postman,開Docker,開VM,加上一堆Chrome分頁根本不夠。
至於硬碟是否是SSD比較無感,即使在Windows 7用傳統硬碟我也沒感到什麼不舒服的慢,而且這台ASUS Windows筆電我也從不關機,當機次數也非常少。
所以新的筆電要有Linux Bash,這意思幾乎等同於買Mac。但買Mac要克服一個既簡單又困難的問題,也就是錢錢$$。MacBook價格超貴,買一台要存好幾個月,與同硬體規格的PC硬是多了10000-15000元的價差,而且還要另外加上Apple Care約10,000元的費用,總之就是貴,捨不得買。
所以又思考要不然買PC筆電裝Windows 10和Ubuntu雙系統,但這做法可能要搞定Ubuntu的安裝,Linux驅動安裝等問題,此外Linux也缺少很多強大商業軟體的支援,總之要用到上手有一段長路要走
而另個可能比較簡單的方案是使用Windows 10的WSL安裝Linux Ubuntu子系統,但子系統在環境變數,檔案目錄,系統配置,連接埠等是否和Windows 10有掛勾是另外個問題。
總之這陣子在網路上逛了一圈,結論還是只能買Mac了,因為問題最簡單,把錢砸下去就沒問題了。
衍伸出的下一個問題是,該買什麼樣的Mac?因為需求是macOS作業系統提供的Linux環境,有16GB的RAM,256GB的SSD,Core i5 CPU,而滿足這些要求的方案有以下選擇,一是2020年版本的MacBook Air,一是即將推出的2020年版本的MacBook Pro 13吋。
- MacBook Air 10th Gen Core i5 16GB記憶體 512GB SSD,官網價格47,900元(41,900元 + 6,000元(+8GB RAM))。
- MacBook Pro 8th Gen Core i5 16GB記憶體 256GB SSD,官網價格47,900元(41,900元 + 6,000元(+8GB RAM))。
- MacBook Pro 8th Gen Core i5 16GB記憶體 512GB SSD,官網價格53,900元(47,900元 + 6,000元(+8GB RAM))。
- MacBook Pro 10th Gen Core i5 16GB記憶體 512GB SSD,官網價格57,900元。
下面則是Geekbench Browser各Mac型號CPU的效能跑分。
- MacBook Air 10th Gen Core i5-1030NG7:單核:1060;多核:2680。
- MacBook Pro 8th Gen Core i5-8257U:單核:907;多核:3740。
- MacBook Pro 10th Gen Core i5-1038NG7:單核:1133;多核:4230
效能最好的MacBook Pro 10th Gen Core i5與MacBook Air 10th Gen Core i5價差為10,000元。
MacBook Air 2020 10th Gen Core i5的多核效能其實相當於iMac 27吋 2013(Intel Core i5-4570),甚至還勝過MacBook Pro 15吋 2013(Intel Core i7-3635QM),且僅略低於MacBook Pro 2015 Retina(Intel Core i7-3720QM)。此外就算在我這台只有Intel Core i5-5200U 2 core的ASUS 2015年舊筆電上開發Java程式也是夠用。
另外查資料時發現目前工作公司配的是MacBook Pro 13吋 2017 Core i5-7360U(單核853,多核2022),雖然比2020年 MacBook Air Core i5 i5-1030NG7差一點,但每天在Java Web程式開發的工作中用起來仍很順暢,沒有卡頓的感覺。
綜合在私人及工作開發Java Web應用程式的經驗及MacBook及Intel CPU的產品週期來看,預期MacBook Pro 10th Gen Core i5 最多用7年;MacBook Air 10th Gen Core i5 最多用5年。
MacBook Pro 10th Gen Core i5 加上AppleCare約67,900元,則以7年來算每年使用成本為9,700元。從PTT MacShop來看MacBook Pro 2013 Core i5 16GB RAM 的二手價約15,000元,代表MacBook Pro 2020 Core i5 16GB RAM保存良好則成本為52,900元(67,900 - 15,000),每年使用成本為7,557元。
MacBook Air 10th Gen Core i5 加上AppleCare約57,900元,則以5年來算每年使用成本為11,580元。從PTT MacShop來看MacBook Air 2013 Core i5 8GB RAM 128GB SSD的二手價約11,000元,代表MacBook Air 2020 Core i5 16GB RAM保存良好則成本為44,900元(57,900 - 12,000),每年使用成本為8,980元。
算下來買MacBook Pro 10th Gen Core i5比較划算,效能較好且成本較低,如果預算允許乾脆把RAM加到32GB吧。
以下回答我自己原先的問題:
- Q:買Mac還是PC?
A:Mac,你最重要的原始需求是Linux bash環境。 - Q:買PC裝Ubuntu不行嗎?
A:你時間很多嗎?你要專注在程式開發上而不是搞底層硬體驅動的問題。 - Q:MacBook Air可以用在Java Web程式開發上嗎?
A:可以,但CPU要Core i5以上,RAM加到16GB。 - Q:買MacBook Air還是MacBook Pro?
A:有錢買MacBook Pro,且要買Intel 10th Gen Core i5版本。 - Q:買MacBook Pro 10th Gen i5還是買MacBook Pro 8th Gen i5?
A:10th Gen i5,不過預算真的不夠的話MacBook Pro 8th Gen 256GB SDD的版本也可,RAM加到16GB。 - Q:那打遊戲呢?
A:醒醒吧你根本沒時間玩遊戲,這幾年你有在玩遊戲嗎?要玩遊戲去買PS4PS5。 - Q:哪來那麼多錢呢?
A:在省吃儉用的情況下保守四個月應該可以存夠,還有你可以選擇信用卡12期分期一個月約5000元。 - Q:何不貼一點直上MacBook Pro 16吋?
A:Web開發其實不用那麼好的CPU,只有在編譯時才會用到CPU,而且通常只用單核,還不如把RAM加大。除非你要當Youtuber剪影片﹔要大螢幕就外接螢幕就好。
沒有留言:
張貼留言