如果程式設計師是士兵,程式語言是武器,那麼每種語言都是什麼武器?
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
PHP 3是電鋸。是面向致力於web app的士兵的第一批武器之一(甚至在“web spp”這個名詞變得流行之前)。可以完成工作,但看起來很雜亂,幸運的是現在有更好的選擇。(PHP 3的語法可能是噩夢,並導致很難維護程式碼。之後的PHP版本似乎已經改進了)。
Perl是戰士委託的殺手。優雅,強大,能夠快速讓目標(特別是如果文字檔案的話)保持緘默。一定要與這個殺手的命令保持良好的關係,否者你可能會發現難以掌握這個武器。(Perl既強大又靈活,但是語法和語義使之難以掌握,並導致難以讀取和難以維護程式碼。就像刺客,隱蔽但有效)。
Python是坦克。有著很好的防護,堅實,保證粉碎你的問題。如果你是一個初學者,通常也可以來瞄準和射擊(只要稍微訓練一下)。如果你是一個專家,你就可以有條不紊地部署來征服地形。然而,儘管它是如此有效,但它也是緩慢的。你可以選擇在揮舞武士刀的超級戰士即C-擴充套件(見下文)的支援下,解決任何潛在的緩慢問題。
JavaScript是戰鬥機的導彈。JavaScript花了一段時間才成為導彈。它最初是一個炸彈,只會導致惱人和巨大的泥漿噴濺,但多年的時間(特別是公佈V8,有了巨大的社群和一些非常好的框架,也可以當作是真正棒的戰鬥機技術)已經讓它變成了一個導彈,它可以提供了絕對的能量來快速完成工作,如果不要求優雅的話。
Java是子彈,意味著要從單支槍(JVM)中發射。然而,槍支製造商製作了不同的槍,因此不幸的是現在相似外觀的子彈也有了輕微的變異。不管怎麼說,完成工作還是很有效的。
Scala是從火影忍者中的“影分身術”能力。允許你建立自己的分身,並完全壓倒你的敵人。
ActionScript 2是拋石機。給人一種它很容易使用的幻覺,看起來很有吸引力,但是移動緩慢,並且擊中目標更慢。如果你有更好的選擇,那麼為什麼要使用它呢?
Objective-C是沒有力量的光劍。有幾分類似於C,但似乎更有一點風格,和一些額外的功能。你的敵人可能會認為你看起來很傻或真的很酷(如果你有Xcode並訪問所有的開發工具,那麼很有可能是後者)。
C ++是帶盾牌的劍。盾牌(OOP / RAII功能,模板等)可以稍微幫助你抵禦危險,但如果不能明智使用的話,它就會變得笨重和成為累贅。你可以選擇放棄盾牌,只用劍,增加衝刺速度(因為C ++是C的超集),但有經驗的士兵知道如何攜帶兩者衝刺。
C是武士刀,致命而鋒利,能夠獎勵專業人士超越現實的權力。但要注意,如果你在一個滿是其他武士刀的房間裡訓練的話,你可能會意外劃傷。(C語言在編譯器的幫助下最接近程式集,並且對執行程式碼最有潛力。但是注意初學者士兵可能會意外釋放指標)。
Assembly是你自己的身體。如果你是李小龍或超人,那麼你只需要它就OK了。但是,除非你出生在另一個擁有超人能力的星球上,或者已經將你的身體和心靈磨練達到武力完美的境地,否者你就需要使用武器(編譯器/直譯器)。
Swift是有力量的光劍。你現在可以偏轉爆破,移動物件,而不觸控它們,直接嚇唬敵人投降和敬畏。但是額外的力量帶來了黑暗面的誘惑(與Objective-C相比,Swift帶來了更多的自由和能力,但是增加的靈活性有可能導致難以理解和維護的程式碼)。
Go是星際迷航的相位槍。未來派,時尚又最小型,沒有太多的虛飾來完成工作。為了打倒那些更有經驗的敵人,現在你可能需要使用另一個武器(因為Go仍然在被排擠,並正在開發社群和支援基地,以便於成為被選擇的武器,儘管這似乎發生得很快)。有了Jean Luc Picard(Google)魅力和能幹的領導,你可以確定它將重拳出擊,很快就會有超出“打暈”和“殺死”(偉大的庫,工具,支援等)的設定。
Ruby是Halo中的幽靈機。當它擊中目標的時候非常滿足,並散發力量,但有時會痛苦地緩慢的機動飛行。(關於Ruby有很多吸引人的特點,但最大的批評是,當建立大的規模時,它還沒有匹配一些其他替代選項的效能)。
Bash是攜帶一些隱藏貨物的運輸飛機,並且主要是面向於那些需要運輸其他士兵或武器的士兵。在緊急情況下,你可以放下隱藏的貨物,破壞一些傷害,但在大多數情況下,用於部署和遠端觀察(Bash是偉大的粘合劑,也是憑藉自身能力立足的一種程式語言。但是它最好是做一些輕便工作,留下重活給一些其他語言)。
注意:所有圖片均由Google圖片搜尋提供。感謝大家的建議和意見。
譯文連結:http://www.codeceo.com/article/if-programmer-is-soldier.html
英文原文:If programmers were soldiers and the languages were weapons, which weapon would each language be?
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- Scala 函數語言程式設計(一) 什麼是函數語言程式設計?函數程式設計
- 什麼是Python?Python語言支援哪幾種程式設計方式?Python程式設計
- Python程式設計基礎(一)程式語言是什麼?編譯型語言和解釋型語言的區別|Python是什麼?Python程式設計編譯
- 什麼是程式語言,什麼是Python直譯器Python
- [譯] Bob,函數語言程式設計是什麼鬼?函數程式設計
- 什麼是程式語言?程式語言都有哪些?以及主要用途
- Python是什麼語言?Python底層語言是什麼?Python
- 為什麼自制指令碼語言是程式語言的最高境界?指令碼
- 什麼是r語言R語言
- python語言是什麼Python
- 程式設計師為什麼討厭這些語言程式設計師
- 什麼是Go語言?Go語言有什麼特點?Go
- 前端的你常用的程式語言是什麼?前端
- 程式語言成功的秘訣是什麼? -erik
- 搞安全開發都是用什麼程式語言?
- 瞭解 JavaScript 函數語言程式設計 -- 什麼是純函式JavaScript函數程式設計函式
- 什麼是Python?python是一門怎樣的程式語言?Python
- Go語言GOPATH是什麼Go
- 組合語言1 - 什麼是組合語言?組合語言
- 2022 年收入最高的程式語言是什麼?
- 中文程式語言——易語言,到底是用來幹什麼的?易語言值得學習嗎?易語言的優勢有什麼?
- python是函數語言程式設計嗎Python函數程式設計
- 面向領域專家的語言,而不僅僅是程式設計師的語言程式設計師
- 什麼是 ABAP 程式語言的 Used Memory 和 Allocated Memory
- [譯] 如果把程式語言看作國家,每種語言分別代表哪個國家?
- 什麼是大語言模型(LLM)?模型
- 何為程式語言?為什麼要學C語言?C語言
- 用語言 (非程式碼) 說清楚 IoC 到底是什麼
- 《黑神話·悟空》是用什麼程式語言開發的?
- [譯] JavaScript 的函數語言程式設計是一種反模式JavaScript函數程式設計模式
- JS函數語言程式設計究竟是什麼?JS函數程式設計
- 假如特沒普是一種程式語言
- 都說python是最佳程式設計入門語言,為什麼你學習卻是如此坎坷?Python程式設計
- 常見的程式語言python怎麼樣?各程式語言有什麼區別?Python
- 為什麼大部分的 PHP 程式設計師轉不了 Go 語言?PHP程式設計師Go
- 【譯】你的程式語言能做到這個嗎?(為什麼要學函數語言程式設計)函數程式設計
- 從程式語言排行看程式設計師信仰程式設計師
- ‘程式語言‘ ’程式設計工具’程式設計
- 什麼是linux?學習linux需要什麼語言?Linux