寫程式已經成為全民運動,連歐巴馬都下海了

前幾天在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 Jeffrey

to jptiancai, 謝謝你的分享

# by mrweng

牛與牛蒡間的關係,一句話打死我過去常常提到 JavaScript 又要幫忙解釋來龍去脈搞得亂七八糟的....,對初學者來說 JavaScript 不是 Java 這點好像不能接受 xddd

# by 王英豪

好抽象- - - -

# by 52hzWhale

翻得超好,謝謝!

Post a comment