當前位置:
首頁 > 知識 > 程序員的鄙視鏈

程序員的鄙視鏈

最近這幾年在世界各地突然吹起了一股全民寫程序的風潮,連美國總統奧巴馬都在寫 JavaScript 了,但是身為一介靠寫程序(以及在上班時間胡亂上網)來謀生的 developer(所謂的 developer 就是「軟體工程師」的比較潮的說法),想要提醒那些想學習寫程序的人一件重要的事:慎選你的第一個程序語言。

在軟體工程師(中國叫做「程序員」或「碼農」)的圈子裡,文人相輕的現象可是非常嚴重的,在程序設計的各個領域裡都有著錯綜複雜的「鄙視鏈」。

從程序語言、編輯器、平台到 { 是寫在 if 的同一行還是下一行,不同陣營的人都習慣鄙視來鄙視去。而其中「你用什麼程序語言?」更是大家最熱衷的一條鄙視鏈,所以對於剛踏入程序設計領域的初學者來說,萬一程序語言選得不好,可是會一開始就落入鄙視鏈的底層啊。

軟體工程師的鄙視鏈到底有多慘烈、多殘酷呢?

程序語言篇

懂 Functional Programming 的工程師鄙視老是把設計模式掛在嘴邊的工程師,老是把設計模式掛在嘴邊的工程師鄙視會說「你這樣寫就不 OO 了啊」的工程師,會說「你這樣寫就不 OO 了啊」的工程師鄙視會說「蛤?什麼面向對象?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師,會說「蛤?什麼面向對象?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師鄙視把同一段 code 到處複製貼上的工程師,把同一段 code 到處複製貼上的工程師鄙視 PM。

寫靜態語言的工程師鄙視寫動態語言的工程師。

寫彙編語言的工程師鄙視寫 C 語言的工程師,C 語言工程師鄙視 C 工程師,C 工程師鄙視 Java 和 C# 工程師,Java 工程師和 C# 工程師則互相鄙視,而 C# 工程師又鄙視 Visual Basic 工程師和會把 C# 念成「C 井」的工程師,會把 C# 念成「C 井」的工程師則鄙視認為 HTML 是一種程序語言的設計師。

用 Python 3 的工程師鄙視還在用 Python 2 的工程師,用 Python 2 的工程師鄙視遇到 UnicodeEncodeError 的工程師。

寫 iOS 的工程師鄙視寫 Android 的工程師,寫 Android 的工程師鄙視寫 Windows Phone 的工程師。

有 Swift 一年經驗的工程師鄙視有 Objective-C 五年經驗的工程師,寫 Objective-C 的工程師鄙視用 PhoneGap 包裝成 native app 的工程師。

用 React.js 的工程師鄙視用 AngularJS 的工程師,用 AngularJS 的工程師鄙視用 jQuery 的工程師,用 jQuery 的工程師鄙視用 Vanilla JavaScript 的工程師,用 Vanilla JavaScript 的工程師鄙視 IE 的用戶。

會用 debugger 的工程師鄙視用 assert 的工程師,用 assert 的工程師鄙視只會 print() 的工程師;用 console.log() 來 debug 的工程師鄙視用 alert() 來 debug 的工程師。

寫 Ruby on Rails 的工程師鄙視所有使用其他語言的工程師。

什麼?你說 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什麼程序語言呢!

所有的工程師都鄙視 PHP 工程師。

工具篇

用 text editor 的工程師鄙視用 IDE 的工程師。

用 Vim 的工程師鄙視用 Emacs 的工程師,用 Emacs 的工程師鄙視用 Vim 的工程師,無論是用 Vim 或 Emacs 的工程師都鄙視所有用其他編輯器的工程師;用 Atom、Notepad 、Sublime Text 的工程師鄙視用 Windows 記事本的工程師。

用 Android Studio 或 IntelliJ IDEA 的工程師鄙視用 Eclipse 的工程師,用 Eclipse 的工程師鄙視用 NetBeans 的工程師。

程序代碼用 space 縮排的工程師鄙視用 tab 縮排的工程師,用 tab 縮排的工程師鄙視混用 space 和 tab 來縮排的工程師。

用 Git 或 Mercurial 的工程師鄙視用 Subversion 的工程師,用 Subversion 的工程師鄙視用 Dropbox 來做版本控制的工程師,用 Dropbox 來做版本控制的工程師鄙視根本不知道什麼叫做版本控制的工程師。

知道 GitHub 的工程師鄙視不知道 GitHub 的工程師;在 GitHub 有 private repo 的工程師鄙視為了免費的 private repo 而去用 BitBucket 的工程師。

用 Zsh 的工程師鄙視用 Bash 的工程師,用 Bash 的工程師鄙視用 Cygwin 的工程師,用 Cygwin 的工程師鄙視用「命令提示字元」的工程師,用命令提示字元的工程師鄙視用 GUI 介面的工程師。

用 IRC 的工程師鄙視用 HipChat 的工程師,用 HipChat 的工程師鄙視用 Slack 的設計師和 PM。

用 reStructuredText 寫文件的工程師鄙視用 Markdown 寫文件的工程師,用 Markdown 寫文件的工程師鄙視用 HTML 寫文件的工程師,用 HTML 寫文件的工程師鄙視不寫文件的工程師,然後用 LaTeX 寫文件的工程師鄙視所有工程師。

用 Nginx 的工程師鄙視用 Apache 的工程師,用 Apache 的工程師鄙視用 IIS 的工程師。

用 Spark 的工程師鄙視用 Hadoop 的工程師,用 Hadoop 的工程師鄙視用 Hadoop 處理只有幾 GB 數據的工程師,用 Hadoop 處理只有 1GB 數據的工程師鄙視用 NoSQL 的工程師,用 NoSQL 的工程師鄙視用關係資料庫的工程師,用關係資料庫的工程師鄙視用 Excel 的 PM。

用 Docker 來部署 server 的工程師鄙視用 Ansible 或 Puppet 來部署 server 的工程師,用 Ansible 或 Puppet 來部署 server 的工程師鄙視用 Fabric 來部署 server 的工程師,用 Fabric 來部署 server 的工程師鄙視手動 SSH 的工程師。

OS 篇

用 Mac OS X 的工程師鄙視用 Linux 的工程師,用 Linux 的工程師鄙視用 Windows 的工程師。

用 Debian 的工程師瞧不起用 Ubuntu 的工程師,用 Ubuntu 的工程師瞧不起用非 LTS 版本的 Ubuntu 的工程師。

硬體篇

用 MacBook Pro Retina 的工程師鄙視用 MacBook Air 的工程師,用 MacBook Air 的工程師鄙視用 ThinkPad 的工程師,然後用 Raspberry Pi 的工程師鄙視用 MacBook Pro Retina 的工程師。

用 Dvorak 鍵盤的工程師鄙視用 Mac 鍵盤的工程師,用 Mac 鍵盤的工程師鄙視用 QWERTY 鍵盤的工程師,用 QWERTY 鍵盤的工程師鄙視鄙視不知道 QWERTY 鍵盤是什麼的工程師,不知道 QWERTY 鍵盤是什麼的工程師鄙視用手寫板的設計師。

坐 Aeron 椅子的工程師鄙視坐普通辦公椅的工程師,坐普通辦公椅的工程師鄙視跟他一樣做普通辦公椅的 PM,然後站著寫程序的工程師鄙視坐 Aeron 椅子的工程師。

職場篇

搞硬體的工程師鄙視搞軟體的工程師。

寫 OS 的工程師鄙視寫 Web 的工程師,寫 Web 的工程師鄙視寫 desktop application 的工程師。

後端工程師鄙視前端工程師。

工程師跟設計師互相鄙視。

信奉 Test-Driven Development 的工程師鄙視先寫 code 再補 tests 的工程師,先寫 code 再補 tests 的工程師鄙視不寫 tests 的工程師,不寫 tests 的工程師鄙視又他媽亂改需求的 PM。

沒有證照的工程師鄙視考了一堆證照的工程師。

上班穿休閑服的工程師鄙視上班穿西裝的工程師,上班穿西裝的工程師鄙視上班穿系服的工程師。

轉載請在公眾號中,回復「轉載」

版權歸原作者所有,轉載僅供學習使用,不用於任何商業用途

如有侵權請留言聯繫刪除,感謝合作

選購數學科普正版讀物

嚴選「數學思維好物」

送給孩子的閱讀禮物|辦公室神器

有益孩子一生的玩具|居家高科技

走進數學:人物、趣談、科技、發展史

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 超級數學建模 的精彩文章:

當演員真的不易,究竟是怎麼憋住不笑的?
愛的味道,是怎樣的?

TAG:超級數學建模 |