在軟件工程師(中國叫作「程序員」或「碼農」)的圈子裏,文人相輕的現象但是很是嚴重的,在程序設計的各個領域裏都有着錯綜複雜的「鄙視鏈」。從程序語言、編輯器、平臺到 { 是寫在 if 的同一行仍是下一行,不一樣陣營的人都習慣鄙視來鄙視去。而其中「你用什麼程序語言?」更是你們最熱衷的一條鄙視鏈,因此對於剛踏入程序設計領域的初學者來講,萬一程序語言選得很差,但是會一開始就落入鄙視鏈的底層啊。前端
軟件工程師的鄙視鏈到底有多慘烈、多殘酷呢?程序員
懂 Functional Programming 的工程師鄙視總是把設計模式掛在嘴邊的工程師,總是把設計模式掛在嘴邊的工程師鄙視會說「你這樣寫就不 OO 了啊」的工程師,會說「你這樣寫就不 OO 了啊」的工程師鄙視會說「哈?什麼物件導向?不是把重複的 code 寫成一個 function 就行了嗎?」的工程師,會說「哈?什麼物件導向?不是把重複的 code 寫成一個 function 就行了嗎?」的工程師鄙視把同一段 code 處處複製貼上的工程師,把同一段 code 處處複製貼上的工程師鄙視 PM。windows
寫靜態語言的工程師鄙視寫動態語言的工程師。後端
寫組合語言的工程師鄙視寫 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 的工程師。app
有 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 的一套框架,纔不是什麼程序語言呢!
用 text editor 的工程師鄙視用 IDE 的工程師。
用 Vim 的工程師鄙視用 Emacs 的工程師,用 Emacs 的工程師鄙視用 Vim 的工程師,不管是用 Vim 或 Emacs 的工程師都鄙視全部用其餘編輯器的工程師;用 Atom、Notepadd++、Sublime Text 的工程師鄙視用 Windows 記事本的工程師。
用 Android Studio 或 IntelliJ IDEA 的工程師鄙視用 Eclipse 的工程師,用 Eclipse 的工程師鄙視用 NetBeans 的工程師。
用 Git 或 Mercurial 的工程師鄙視用 Subversion 的工程師,用 Subversion 的工程師鄙視用 Dropbox 來作版本控制的工程師,用 Dropbox 來作版本控制的工程師鄙視根本不知道什麼叫作版本控制的工程師。
用 Zsh 的工程師鄙視用 Bash 的工程師,用 Bash 的工程師鄙視用 Cygwin 的工程師,用 Cygwin 的工程師鄙視用「命令提示字元」的工程師,用命令提示字元的工程師鄙視用 GUI 介面的工程師。
用 IRC 的工程師鄙視用 HipChat 的工程師,用 HipChat 的工程師鄙視用 Slack 的設計師。
用 reStructuredText 寫文件的工程師鄙視用 Markdown 寫文件的工程師,用 Markdown 寫文件的工程師鄙視用 HTML 寫文件的工程師,用 HTML 寫文件的工程師鄙視不寫文件的工程師,而後用 LaTeX 寫文件的工程師鄙視全部工程師。
用 Docker 來部署 server 的工程師鄙視用 Ansible 或 Puppet 來部署 server 的工程師,用 Ansible 或 Puppet 來部署 server 的工程師鄙視用 Fabric 來部署 server 的工程師,用 Fabric 來部署 server 的工程師鄙視手動 SSH 的工程師。
用 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 鍵盤的工程師鄙視用手寫板的設計師。
坐 Aeron 椅子的工程師鄙視坐普通辦公椅的工程師,坐普通辦公椅的工程師鄙視跟他同樣作普通辦公椅的 PM,而後站着寫程序的工程師鄙視坐 Aeron 椅子的工程師。
搞硬件的工程師鄙視搞軟件的工程師。
寫 OS 的工程師鄙視寫 Web 的工程師,寫 Web 的工程師鄙視寫 desktop application 的工程師。
後端工程師鄙視前端工程師。
工程師跟設計師互相鄙視。
信奉 Test-Driven Development 的工程師鄙視先寫 code 再補 tests 的工程師,先寫 code 再補 tests 的工程師鄙視不寫 tests 的工程師,不寫 tests 的工程師鄙視又他媽亂改需求的 PM。
沒有證照的工程師鄙視考了一堆證照的工程師。
上班穿休閒服的工程師鄙視上班穿西裝的工程師,上班穿西裝的工程師鄙視上班穿系服的工程師。
若是你看了以上這些慘絕人寰的鄙視鏈以後,仍然沒有擊倒你想要學習 coding 的心,那我必須提醒你一件最重要的事:先去交一個女友,再來學寫程序;由於一旦你成爲軟件工程師以後,就交不到女友了。windows批量網站管理