程式語言百百款,但哪種語言能讓菜鳥好上手?Noah Lorang 一位在 Basecamp 的數據分析師,要來告訴你,其實 Google 大神的「Go」要比 Ruby 還好用好上手!

Basecamp 是在管理 Ruby 程式語言的公司,所有的客戶在編寫 Ruby on Rails 時所面對的應用問題,我們都會使用 Ruby 自動化系統去找到解決方法,然而我們能利用 Capistrano 在 Ruby 上解決最基本的 Ruby 編譯程式問題。

然而,Go 也找到了一條進入我們後台伺服器和基本架構的方式:

  • 當我們在 Ruby 上把收集時間軸上的數據和儲存 daemon 用 Go 重寫時是 2013 年 1 月。
  • 透過伺服器裡的 Docker 來建立 Ruby 的程式碼所架構的 Ruby package。
  • 我們透過 Go program 的集合日誌分析器和儲存管道寫入 Kafka、HDFS 和 HBase。
  • 利用工具寫入 Go 來備份 Dynect 的 DNS 記錄。
  • 透過基於被動式檢查 bridge 和多主機通知的 Go 系統運行一個多主 Nagios 安裝。
  • 當使用 Go program 時,我們會保持 GitHub 處在一個巔峰的狀態上。
  • 我們利用 Go 來在監控端監測網頁瀏覽量和追蹤系統使用量。
  • 我們定期下載、解密,並用 Go 來測試離線資料庫備份的完整性。

其實有很多關於 Go 的實驗,像是:持續運作多個 memcached 的情況下同時截取封包、透過 Websockets 來服務 Campfire 等等。當然我們還有一些重度第三方 Go 應用使用者(像:etcdsentinel)。

我們對於 Go 是完全自主使用的,沒有一天是坐下才決定說要用才用的,只要大家想要寫就可以馬上進入 Go 的世界。

就個人來說,我會喜歡使用 Go 是因為我不用在伺服器負載端那想太多,對於撰寫程式語言上,Go 擁有簡單的語法、龐大的資料庫也很如意去重新架構,而我也問了幾個朋友為什麼喜歡用 Go 這個程式語言:

Will:「Go 給我的感覺是個完美工作架構,在我想寫的系統軟體上也都能順利的完成,而且再多核心的處理器上也很有效率。開發環境也非常的簡單,讓我現在想把在 Ruby 上所架設的版本轉移到 Go 上。」

Taylor:「當你剛接觸程式語言時,你往往都會想去寫出一個能解決問題的程式,而 Go 就是一個夢幻般的語言,能讓新手快速上手,在 Ruby 上可能得花上好幾個小時來 debug,而在 Go 上只需要花幾分鐘!這根本就是程式語言的福音。」

你或許從未見過 Go 程式語言的強大威力,但事實上 Go 就是這麼的給力,你還沒嘗試過就快來小試身手一下吧!

(資料來源:Signal v. Noise;本文作者:Noah Lorang;圖片來源:atotto,CC Licensed)