如何選擇程式語言?(中文版)
6 |
寫程式已經成為全民運動,連歐巴馬都下海了。
前幾天在FB看到一則貼文分享,部落客Carl Cheo做了一張「如何選擇程式語言?」流程圖,依學習動機、鎖定的平台產業、想上班的公司…等等,建議初學者如何在Python、Java、C、C++、JavaScript、C#、Ruby、PHP及Objective-C等語言間做出抉擇,裡面還用魔戒角色妙喻不同語言,讓程式老骨頭會心一笑。徵得作者同意,我將它翻成中文版(嚴格來說是台灣鄉民版 XD):
點這裡看原尺寸圖檔 1666x1841
節錄我覺得最有趣的部分-程式語言與魔戒角色對照:
- Python 樹精
幫助哈比人(初學者)了解程式概念
幫助巫師(電腦科學家)進行研究
普遍認定為初學者最佳入門 語言
最容易學習
廣泛應用於科學、技術與學術領域,例如: 人工智慧
如要建立網站,Python上有Django架構可用 - Java 甘道夫
愛好和平,並與每個人攜手合作(可攜性)
具備優異的可攜性,在所有平台、作業系統及各種裝置上都可通行無阻
工作機會最多及待遇最好的程式語言之一
Slogan: Write Once, Work Everywhere.
口號:只要寫一次,到處都能跑 - C 魔戒
每個人都知道C的厲害
每個人都想擁有它的力量
程式語言界的國際語言
最古老且最廣泛使用的語言
大量應用於系統軟體及硬體程式開發
可視為C++的子集合(但有些微差異) - C++ 薩魯曼
每個人都覺得他是好人
多認識他一點,就會發現他想擁有力量,不是個好東西
C的複雜版,加入不少強化
廣泛應用於遊戲、工業及講究效能的程式
學習C++如同學習如何製造、組裝及駕駛一輛汽車
建議找個導師引你入門 - JavaScript 哈比人
力量常被人低估
給人「住在夏爾(瀏覽器),悠閒慢活度日」的印象
Java與Javascript的相似度,差不多相當於牛與牛蒡之間的關係
最流行的網頁前端程式語言
前端工程師的必備技能(還有HTML及CSS)
當前最火紅的語言之一, 並逐步拓展到後端(node.js) - C# 精靈
美麗的生物(語言),但只待在自己的Rivendell王國(微軟平台)
註: 此點在.NET開源之後將有所改觀
企業使用.NET平台建立網站及Windows程式的最主要選擇
可使用ASP.NET(微軟推出的網站架構)打造建置網站
在基本語法及一些特性上與Java相似
如果所開發程式以Windows平台為主,學C#準沒錯 - Ruby 人類
情感動物(語言)
他們(部分 Ruby開發者)覺得自己高人一等並負有統治中土的使命
以大受歡迎的網站架構Ruby on Rails(RoR)聞名
聚焦於快速搞定
開發過程有趣且具高生產力
個人閒暇專案、新創公司、快速開發的最佳選擇 - PHP 半獸人
醜八怪 (語言)且不尊重規範(缺乏一致性,難以預測)
(程式碼)難以管理,讓其他人(開發者)頭痛不已
但對中土仍然很有貢獻(最普遍的網站開發語言)
適合在很短時間內建置出小型簡單網站
容易找到網站寄放空間(Web Hosting Service),而且費用低廉 - Objective-C 史矛革(噴火龍)
孤獨而拜金
Apple主推,Mac OS X及iOS的主要語言
如果你聚焦於開發iOS或 OS X App,選擇它就對了
可考慮改學Swift (Apple 於2014推出) 做為下一個語言
魔戒角色比喻很有趣,但不少是作者的主觀看法及幽默,大家輕鬆看待就好,不然戰十天十夜也戰不完。倒是翻譯下來,重新認識了Python這個語言,前陣子在玩Raspberry Pi時剛好有接觸到。若依文中所提,Python非常易學好上手,學會等於在Linux平台有了寫小工具的腳本利器,值得關注。
個人英文能力有限,加上死性不改硬要亂加鄉民用語,翻譯不周之處歡迎留言回饋,但請大家鞭小力一點囉~
Comments
# by 別問我是誰
Java與Javascript的相似度,差不多相當於牛與牛蒡間的關係~~~ 這比喻實在恰當到不行!!
# by jptiancai
你好,台湾同胞,下面是我翻译的版本.共同学习 :) https://github.com/jptiancai/jptiancai.github.com/issues/13
# by Jeffrey
to jptiancai, 謝謝你的分享
# by mrweng
牛與牛蒡間的關係,一句話打死我過去常常提到 JavaScript 又要幫忙解釋來龍去脈搞得亂七八糟的....,對初學者來說 JavaScript 不是 Java 這點好像不能接受 xddd
# by 王英豪
好抽象- - - -
# by 52hzWhale
翻得超好,謝謝!