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

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

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

 

工具篇

 

Read More

我的朋友都是智障 - 左邊網 on Facebook

 

大叔虎

 

粉絲專頁:真.他媽的

粉絲專頁:後娘砲主義

粉絲專頁:左邊網

 

前陣子花了一點時間研究了 Facebook 的 API,然後替「左邊網」寫了幾個新產品。不是我在說,那個 Facebook Developer Wiki 真的詳細到爆炸(我一直以為 IT 從業人員都不喜歡寫 documents),這是幾個比較有用的頁面:

 

 

我用的是官方的 PHP Client Library,一開始我也不知道該從哪裡下手,就傻乎乎地在 Facebook Developer 註冊了一個新的 app,然後看到那些 Authentication、Canvas 和 Connect 之類的鬼設定時,我就傻住了,撒小?這是撒小啊?這些東西到底是幹什麼用的啊?但是,按了那個 example code 之後,一切都豁然開朗了。

 

再多的文字說明也比不上一段程式碼範例。

 

 

左邊網 Facebook 產品線

 

Read More

Twitter 推特 是我心樂歌

 

Twitter LOGO

 

在人類掌握電力以來,最 powerful 的發明無疑是 computer;從 computer 出現到現在,最 wonderful 的發明一定非 Internet 莫屬;而 Internet 普及之後,最 magical 的產物,根本就是 Twitter 了,當然,還有 Google Search ─── 你瞧,身為一位稱職的 CSIE 的學生,總是要把句子裡很多沒有必要(完全沒有必要)的部份換成英文用詞,因為教授都是這麼說話的。

 

我要你們在下禮拜前搞懂怎麼用這個 sensor 傳 data。這是之前你們學長還沒寫完的 code,如果有什麼問題,網路上有很多 document 可以查。第二個 function return 的是 object 不是 address。這個 pointer variable 不能隨便 assign,它才不管你什麼 type,compiler 當然會 error 啊!

 

 

我舉幾個例子好了。

 

Read More