軟體工程師的鄙視鏈(程序员的鄙视链)

最近這幾年在世界各地突然吹起了一股全民寫程式的風潮,連美國總統歐巴馬都在寫 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。

 

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

 

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

 

看了這篇文章哈哈大笑的工程師鄙視看完這篇文章會說「程式語言只是工具,互相鄙視沒有意義,每個語言都有它適用跟不適用的地方」的工程師。

 

---

 

如果你看了以上這些慘絕人寰的鄙視鍊之後,仍然沒有擊倒你想要學習 coding 的心,那我必須提醒你一件最重要的事:先去交一個女朋友,再來學寫程式;因為一旦你成為軟體工程師之後,就交不到女朋友了。

 

P.S.

有在用 GitHubTwitter 的朋友一起來交流交流。或是 Facebook

 

  • 千秋

    用Arch Linux的工程師不鄙視人,也沒有人可以鄙視他們,因為他們已經是神一般的存在了

    • 用 Arch Linux 的工程师鄙视用 Ubuntu 的工程师
      上次因为开源哲学都开战了

    • damn

      slackware 表示:

    • pichuchen

      你把Gentoo放到哪去了?

      • 沒人用所以沒人戰

      • 這麼說來,好像有個前輩到現在還在用XP,而且鄙視所有人

    • Anonymous

      gentoo 呵呵

    • Arch 難道不是自我鄙視麼? 當年怎麼手賤,養成習慣現在出不來了。

    • 用 Arch 的工程師鄙視其他還在 apt & yum official repository、還在勾選安裝套件、還在安裝時選擇要裝 KDE(不是 Plasma) 的工程師

  • 更新了了了!

    • Nemo

      沒有人鄙視labview工程師 因為所有使用文字刻程式的工程師腦海中都沒有出現過labview這個字眼過

  • RJ

    應該是「用 Ubuntu 的工程師跟非 LTS 版本的 Ubuntu 的工程師互相鄙視」才是
    因為我就是那個鄙視用 Ubuntu 的工程師的非 LTS 版本的 Ubuntu 的工程師...

  • "有 Swift 一年經驗的工程師鄙視有 Objective-C 五年經驗的工程師" 現在如果有一年Swift經驗工程師... 應該只有建立Swift 的團隊... 我想他們應該都很威啊.......

  • Anonymous

    用傳統Unix的工程師鄙視用MacOSX的工程師。

  • 用 Mac OS X 的工程師鄙視用 Linux 的工程師,用 Linux 的工程師鄙視用 Windows 的工程師。
    用 Debian 的工程師瞧不起用 Ubuntu 的工程師,用 Ubuntu 的工程師瞧不起用非 LTS 版本的 Ubuntu 的工程師。

    用 MacBook Pro Retina 的工程師鄙視用 MacBook Air 的工程師,用 MacBook Air 的工程師鄙視用 ThinkPad 的工程師

    顆顆 好像鄙視到超多人der

  • 補一個 用15吋mac pro的鄙視用13吋的

    • Anonymous

      乾 被鄙視了 XDD

    • Anonymous

      牛牛

  • WST

    怎麼沒有用Formal Method鄙視還在做Testing的這條呢

  • Anonymous

    非動漫宅的工程師歧視那些動漫宅又愛自稱工程師的鍵盤工程師

  • 靠!我會C/C++ 也會VB會Java,web 前端同時兼後端,也會Android加Desktop Application,也會subVersion + Git。
    那我應該神經錯亂兼鄙視自己囉

    • alfie

      專精的工程師鄙視什麼都碰一點的工程師

      • 哈哈哈

      • 我還真的因為這樣被鄙視過XDDD

      • 被鄙視了 QAQ

        • 被黑了(X
          不對 是被鄙視了

      • Danny

        什麼都專精的工程師鄙視只專精一種的工程師

    • YES!

  • 千秋萬世經典好文!我從頭笑到尾。
    那麼問題來了 ...... 學挖掘機到底哪家強?

    • 山东济南找蓝翔

    • 哈哈哈大部份的台灣的工程師都看不懂這個梗啦

      • 哈哈,不虧是偶像!不同常人。
        我是用網易新聞 App 跟知乎日報與對岸同步,感覺自己萌萌噠。

    • 中國山東找藍翔wwwww
      這個梗怎麼又出現了啦(煩躁)

      • Anonymous

        这梗都火到台湾去啦233

  • Rico

    捕獲 TWXX2K

    • Rico

      按太快.....應該是捕獲TWXX2K 的RJ

      • RJ

        居然還有人記得...

  • 能做出 鄙視鏈 的圖就好了。

  • Anonymous

    結論:
    有女友朋的軟體工程師可以鄙視其它所有軟體工程師

    • osk2

      有女友的不能算工程師(鄙視

  • Anonymous

    『會說「蛤?什麼物件導向?不是把重複的 code 寫成一個 function 就好了嗎?」的工程師』重覆了

    • 其實沒有重複啦,只是那個句子太長

      • kwx

        寫得很精準,無意冒犯,想問一聲是原創的嗎?

        • 是啊,這個部落格上的文章都是啊

  • Anonymous

    寫 Ruby on Rails 的工程師鄙視所有使用其他語言的工程師。
    什麼?你說 Ruby?Ruby 只是 Ruby on Rails 的一套框架,才不是什麼程式語言呢!

    這段應該改成
    寫 Ruby on Rails 的工程師鄙視所有使用其他語言的工程師。
    什麼?你說 Rails?Rails 只是 Ruby 的一套框架,才不是什麼程式語言呢!

    • RJ

      這是故意的吧~說那些獨尊Rails的人,像是XD**e、X**te還有X*it*等人

      • Anonymous

        原來如此XDD
        再看一次還真的有這樣的感覺

      • XiaoJun

        直接這樣打出來沒有問題嗎 XD
        怎麼沒有打星字號呢? 欸,不對! 原來有打 XDD

    • Anonymous

      我好像看得懂 星字號 後面的字

    • 我也覺得是反諷,更好笑xD

  • Chuck

    建議把Spark>Hadoop>NoSQL>RDBMS>Excel也補上

  • Anonymous

    使用倉頡的工程師鄙視使用嘸蝦米的工程師,使用嘸蝦米的工程師鄙視使用注音的工程師,使用注音的工程師鄙視使用新注音的工程師

    • RJ

      使用新酷音的使用者、使用gcin/HIME的使用者、使用小麥注音、Yahoo注音的使用者都不見了...

  • 用 Github 的人, 要鄙視誰呢?

    • 鄙視為了免費的 private repo 而去用 BitBucket 的人

      • svn的呢www

        • Anonymous

          svn就是Subversion的縮寫...

  • 已笑尿

  • Pingback: 【转载】軟體工程師的鄙視鏈 - 鄙视链 - 嗅探实事()

  • 有女朋友的鄙视没有女朋友的。。

  • 哈庫拉瑪塔塔

    • Anonymous

      What a wonderful world~

  • 一直以來,我以為我鄙視是別人,原來我鄙視的是我自已

  • Anonymous

    在座的各位,都是雷雷

  • Anonymous

    hahah , LMFAO

  • Anonymous

    有沒有web service的鄙視鍊?

    • RJ

      啊就 Nginx 鄙視 Apache,lighttpd 鄙視其他人...

  • Anonymous

    Fortran工程師表示......

  • Anonymous

    有女朋友的工程師鄙視所有正在寫程式的工程師

  • Lisp不鄙视各位,大家都平等(飘过)

    • 都是一家人

      友善的Clojure也同样不鄙视任何一方...

    • Anonymous

      寫Lisp的宅宅們都超猛...

  • Anonymous

    都是it介我認識的人都沒有互相鄙視。大家只會互相用力指教。提升戰鬥水平。都是為了生存。我的群定義是能從哪裡活的更強的資源通通吸收。不適合的就離開。覺得OK就繼續留下。這樣解決問題速度也蠻快的。

  • Anonymous

    但沒人會鄙視steve jobs或是bill gates

  • Anonymous

    哥先去調個妹回來,你們慢慢鄙視~

  • 文人相輕,自古而然........................曹丕 - 典論論文

  • ARON

    ............

  • Twed2k 現在還在啊!而且銀行的高匯率讓我錢多到花不完!倒是還有人記得辛蒂摩兒嗎?我比較喜歡 phpBB 啊!

    • RJ

      Twed2k 根本沒地方可以花虛擬幣吧XD
      Cyndi一去不復返阿...O.Q
      East Share 現在也幾乎沒人記得了吧...當年的 ed2k 台灣三大站阿...

  • Pingback: diary @ 2014-12-12 | irene's diary()

  • xin

    總體看來做硬體和會組語是在鏈的最頂端啊。那做硬體的又要來比一下鄙視鏈了。在高上去可以到量子物理呢,身為工程的以前就被讀物理的鄙視過。。。想公式的鄙視用公式的。

  • Jobs與bill互相鄙視

  • Anonymous

    我印象PHP的人鄙視ASP.Net人
    但...我真的很少聽到有人鄙視PHP

  • Swift

    Swift 都還沒出一年勒

  • Anonymous

    寫COBOL的路過Q_Q

  • Pingback: 软件工程师的鄙视链()

  • Php的確。。。。
    但react同angular就像蘋果跟橙,又點會。。。。。

  • 用 block diagram 的工程師 鄙視 用 UML 的工程師 ... and ... 用 UML 的工程師 鄙視 用 flow chart 的工程師 ... XD

  • 用 Microsoft Office 2013 的人鄙視用 Office 2010 的人
    用 Office 2010 的人鄙視用 Office 2007 的人
    用 Office 2007 的人鄙視用 Office XP 的人
    用 OpenOffice 的人鄙視用 Microsoft Office 的人
    用 Google Docs 的人鄙視用 OpenOffice 和 Microsoft Office 的人

    中英文之間會空一格的人和不空一格互相鄙視

    用 Adobe Creative Cloud 和還在用 CS6 的人互相鄙視

    用 Android 和用 iOS 的人互相鄙視
    拿到(手機) root 權限的人鄙視不 root 的人,已經解鎖 bootloader 的人鄙視不解鎖的人

    用 Spotify 和用 KKBox 的人互相鄙視,而這兩種人又鄙視只在 YouTube 聽音樂的人,
    而這三種人又鄙視用天天動聽抓音樂的人

    用 Nginx 的人鄙視用 Apache 的人,用 Apache 的人鄙視用 AppServ 的人,用 AppServ 的人鄙視用 IIS 的人
    用 WordPress 的人鄙視用 BSP 的人
    用 VPS 的人鄙視租用網頁空間的人

  • Annonymous2

    PHP改進很多,不該把他和最新的框架比
    如果把它制度化,和最新技術搭配得宜,功能還是可以很強大
    http://www.gcos.me/2012-12-04_phil-sturgeon-anwser-why-some-people-hate-php.html

  • Pingback: 程序员的鄙视链 | 我爱互联网()

  • Anonymous

    用vim的工程師羨慕能用sourceInsight的工程師

  • Pingback: 程序员的鄙视链 - 开源中国社区 - 小敗 IT 部落格小敗 IT 部落格()

  • Pingback: 程序员的鄙视链关注乐说微信,每天收到精彩!微信公众号:funsay 。扫一扫,惊喜不断! | 乐说()

  • Pingback: 程序员的鄙视链 | 乐说()

  • Zoe

    不寫tests的工程師鄙視不跑tests直接push to master然後break the build的工程師!

  • Anonymous

    重點是女朋友.............= =

  • 好險, 我有交到女朋友, 才開始寫程式

    • wi1d5ky

      ++

  • Pingback: 程序员的鄙视链 - 赵榕笔记()

  • kkma

    用 tmux/screen 的工程師鄙視用數個 terminal 的工程師。用數個 terminal 的工程師鄙視用同一個 terminal 去寫 code /compile 的工程師。

  • 這真是它媽的太好笑了, 我可以把你這篇文章翻成英文轉給朋友看嗎哈哈?

  • “有 Swift 一年經驗” 这是鄙视所有不懂相对论的程序员么?

  • Pingback: 软件工程师的鄙视链 | 小样儿(ShowYounger)()

  • 好文!!!!
    請問我可以轉載嗎?

  • Pingback: 软件工程师的鄙视链 | 谭冉冉的小窝()

  • Pingback: 好站與連結分享 2014/12 | Vixual()

  • 很好的长文,不仅仅在软件工程师中存在,在工作和生活也存在“相互歧视”的人和事。

  • 明明覺得是 vanilla JSer 鄙視用 Angular 和 jQ 的工程師

  • Pingback: Reading other people’s blogs | hennaojiisan()

  • Pingback: 软件工程师的鄙视链 | 网站采集()

  • haha
    用j2ee的工程師 鄙視用 asp.net的
    用Teamcity 的工程師鄙視用 TeamFoundationServer
    用Git的工程師鄙視用 CVS 的
    用Oracle DB的工程師鄙視用 MSSQL DB 的

  • Pingback: 程序员鄙视链条 | Linoel Yang's Blog()

  • 可以補一個,
    寫 JavaScript 的工程師鄙視寫 Javascript 的工程師;
    寫 GitHub 的工程師鄙視寫 Github 的工程師。

    XD

  • ff

    使用IAR與Keil互相鄙視
    而使用GCC的工程師鄙視這二者

  • 其實用 ThinkPad 的工程師也滿鄙視用 MacBook 的工程師的……

  • Anonymous

    覺得感動,更新了!!!!!!!!

  • 老新

    从头笑到尾,太写实了~ 原来台湾和大陆的程序员文化,都差不多哎。哈哈!

  • 我鄙視在這裡回覆這無聊文章的人們!(蛤!?我鄙視我自已

  • Anonymous

    用LaTex的工程師鄙視用NotePad的工程師…

  • Anonymous

    我備工程師鄙視了XDDDD
    因為我是前端設計師(靠

  • Anonymous

    啊哈哈哈哈哈

  • 赞!Dvorak 用户表示 Mac 那个还要单算一个键盘布局吗? :)

  • Jiazhi Guo

    文章裡有誤,Ruby是程式語言,Ruby on Rails才是框架......

  • Pingback: 程式之道 – 個人篇 – Code Ranch()