2022 年 Ruby 已死?一個優點讓工程師愛不釋手

閱讀時間約 5 分鐘
這幾年常會聽到「Ruby 已死」的言論,我想這可能與 Ruby 使用率逐年下降的討論有關,真的有下降嗎?如果是這樣,為何國際知名的 Airbnb、GitHub、Shopify 等還在使用?連 Twitter 和 Twitch 早期也是使用 Ruby 架構做為基礎開發。由於 Ruby 大叔就在 Ruby 公司工作,這問題還真的蠻常被問到,我想說:「Ruby 只是一種選擇,但我用了之後再也回不去。」
【圖一】 RUBY 的一個優點讓工程師愛不釋手(圖片來源 / 五倍紅寶石軟體開發提供)
Ruby 是一種通用程式語言,普遍以 Rails 框架應用在 Web 開發上,每次跟非業界的人介紹我是 Ruby 工程師時,他們總會困惑,這不是女生英文名嗎?或直覺是賣精品的那種紅寶石,給人優雅的感覺,我認為若用「優雅」形容 Ruby 並不為過,但怎樣都還是很難跟程式語言聯想在一起。
2004 年 Rails 框架誕生後,Ruby 曾紅極一時,因為 Ruby 的設計原則是「讓工程師開心」,因此強調「不做重複的事」(Don't Repeat Yourself),使工程師能用比較少的精力完成工作,記得在當年,我還沒接觸 Ruby 前,主要寫 PHP,後來被職場同事推坑入手後,覺得實在太好用,因為寫網站確實比其他程式語言快,平常要寫 10 行的 code,用 Ruby 可能只要 2-3 行,光是這個優點就讓我愛不釋手。
討論度沒增加不等於 Ruby 使用率下滑
其實不只 Ruby 被某些文章或媒體「單方面」宣布死亡,每年關於各種程式語言的衰退討論也沒少過,有國外網站做了調查,提到 Ruby 討論度正在逐年下滑,我對這些統計看法採保留態度,討論度沒有增加也不代表 Ruby 使用率在下滑,而是別的語言成長快速,如今其他程式語言都有開發出類似 Rails 的框架可以使用了。
有時朋友會開玩笑說,其他程式語言有「富爸爸」但 Ruby 沒有,雖然這是玩笑話,但以 User Base 來看,Ruby 確實不如其他知名程式語言,相較之下,它的商業推廣力還是較小,每種程式語言作風不同,我認為無法用排行榜來定義 Ruby,或判斷它的好壞,Ruby 只是選擇自己的路,它緩慢但穩定成長著。
Ruby 是能屈能伸的程式語言
Ruby 是一種高效語言,經常被用來開發網站後端,雖然不見得每方面都有人使用,但它好上手、開發速度快,不但可跨平台支援,還能跟不同的語言環境結合;Ruby 能屈能伸,語言特性使它在面對複雜強大的創新環境時,也能用自然的語法完成任務,節省大量開發精力,它很柔軟,不排斥與其他程式語言或跨平台工具的相容,它寫起來舒服,若 Ruby 程式語言寫的好,看起來就像英文字句那般優雅,相當人性化。
Ruby 也並非毫無缺陷,有三點是常被人詬病的,第一,普遍被認為執行速度較慢,10 年前的確有這類問題,但近年的改善非常明顯,雖然我認為硬體可以克服的問題都不是問題。第二,開發面向需要更完善,目前 Ruby 的運用大多數還是發生在 Web 上,它的開發生態圈沒那麼大,但這不代表 Ruby 做不到其他面向(e.g. App、AI 等)運用,而是需要更大的契機與資源投入開發,Ruby 還是一個潛力股的。第三,好上手但不易精通,以最多人使用 Ruby 開發的 Web 應用來說,當想要開發常見的功能,例如會員系統、圖片上傳等,其實 Ruby 10 多年前就有數種非常容易上手且功能完整的工具方便開發,但若需做較複雜的客製,就會需要花時間心力理解它背後的實作方式。
Ruby 不死,學得好就是一技之長
Ruby 是不會死的,至今它還是一個非常實用的程式語言,對於學習,Rails 也是非常理想的框架,只要有網路、大家都還在使用智慧行動裝置,Ruby 就會一直存在,如今 Rails 環境很成熟,有些人或許會覺得用起來很無聊,這有點像在玩一款線上遊戲,有趣的總是從 LV.1 開始的砍怪探索、跌跌撞撞的過程,到最後 LV.100 封頂後,各項技能值都點滿,開始感到無趣,其實等級高才能做更多有意義的事,像有些高手會開始帶新人練或開發其他事物。
有人問:「學了 Ruby 對工作真的有幫助嗎?」當然!這絕對無庸置疑。有些客戶不會在乎廠商使用哪種程式語言幫他們建置網站,客戶在乎的是需要花費多少及能否達成目標,以長遠考量來看,新人只需擔心自己能否好好磨練技術,程式語言不只要會寫,還要寫得好,花時間精通,才能在工作上備受信任。
Ruby 看似簡單卻複雜,像身體一樣
Ruby 雖是國際通用的程式語言,但台灣的 Ruby 工程師還是比較少,大致還是像我待的是以 Ruby 為主的公司,若要問我為何喜歡 Ruby,答案很單純,因為 Ruby 讓我感到快樂。它不僅是程式語言,從中還能感受到來自 Ruby 創辦人松本行弘(Matz)的思想與美德,他曾說過:「我嘗試著使 Ruby 更自然,而不是簡單;Ruby 看起來很簡單,但內部是非常複雜的,就像我們的身體一樣。」學習 Ruby 的過程也能瞭解自己。
這種美德我也拿來落實在工作上,當我在帶新人及實習生時,不會趕鴨子上架,只要求他們趕快做完,或請他們改東西卻不附上實際原因,導致他們因沒學好而感到挫敗,我比任何人都更希望新人可以領會 Ruby 的魅力,所以一定會給予新人有意義的回饋,並讓他們有時間思考及完成任務。
Ruby 不會死,因為還有一群人持續在用它、愛它。之前我們公司還有寫過一篇很有愛的文章:為什麼我們喜愛 Ruby?有興趣的朋友也可以拜讀!
為什麼會看到廣告
avatar-img
34會員
36內容數
畢業生別怕,雖然是新鮮人但沒關係!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
RUBY 大叔的沙龍 的其他內容
有鑒於畢業季過後,現在還是很多人在投履歷,Ruby 大叔不得不先跟各位分享這篇,請參加過 Coding Bootcamp 或正計劃要報名這類「工程師實戰訓練營」的人,務必點進來看一下!
上次朋友 A 子在社群動態上分享《 Z 世代經濟:未來最有影響力的新世代》這本書裡提到的案例:「美國一位 19 歲年輕快餐店經理不知如何解決顧客打來的客服問題,緊張到把電話掛掉。」結果有位 Z 世代同學看到立刻在下方留言反駁:「我才不會這麼笨。」關於 Z 世代,真的有人問過他們「怎麼想」嗎?
默默地 RUBY 大叔也寫文章滿一週年,回想動筆初衷,是希望幫職場後輩解惑,順便分享自己在技術領域的觀察,雖然量產不多,但每月發一篇也堅持了一年,謝謝大家的支持(鞠躬)
之前大部分寫的文章都著墨在職場新人,剛好最近有人跟我分享她的工作事,我聽完很有感啊,有些錯即使是工作 10 年以上的資深工作者,都會不小心犯下,人非聖賢孰能無過,能即時發現自己的問題修正才是重點,今天這篇要跟大家聊聊資深工作者該注意的事,尤其經驗越豐富越要注意。
本來這次想換題材寫工程師的八卦,但上週跟同事 S 子聊天,決定今天還是寫工程師面試的主題,S 子是我們公司管理階層,她上次面試完一個工程師,回到座位上表情複雜,我問她怎麼了,她說她問求職者應徵該職缺的原因,對方很老實地回:「……
上周公視新聞片庫傳出資料遭外包廠商誤刪事件,一時成為熱門話題,其實類似觀念之前已討論過(作為工程師你有「手滑」釀禍過嗎? 在工作上降低出錯率比追求好技術更為重要),很多人一直咎責為何廠商會誤刪(難道又手滑?)還有異地備援問題,甚至疑惑這類誤刪事件怎麼層出不窮,難道沒辦法遏止嗎? -
有鑒於畢業季過後,現在還是很多人在投履歷,Ruby 大叔不得不先跟各位分享這篇,請參加過 Coding Bootcamp 或正計劃要報名這類「工程師實戰訓練營」的人,務必點進來看一下!
上次朋友 A 子在社群動態上分享《 Z 世代經濟:未來最有影響力的新世代》這本書裡提到的案例:「美國一位 19 歲年輕快餐店經理不知如何解決顧客打來的客服問題,緊張到把電話掛掉。」結果有位 Z 世代同學看到立刻在下方留言反駁:「我才不會這麼笨。」關於 Z 世代,真的有人問過他們「怎麼想」嗎?
默默地 RUBY 大叔也寫文章滿一週年,回想動筆初衷,是希望幫職場後輩解惑,順便分享自己在技術領域的觀察,雖然量產不多,但每月發一篇也堅持了一年,謝謝大家的支持(鞠躬)
之前大部分寫的文章都著墨在職場新人,剛好最近有人跟我分享她的工作事,我聽完很有感啊,有些錯即使是工作 10 年以上的資深工作者,都會不小心犯下,人非聖賢孰能無過,能即時發現自己的問題修正才是重點,今天這篇要跟大家聊聊資深工作者該注意的事,尤其經驗越豐富越要注意。
本來這次想換題材寫工程師的八卦,但上週跟同事 S 子聊天,決定今天還是寫工程師面試的主題,S 子是我們公司管理階層,她上次面試完一個工程師,回到座位上表情複雜,我問她怎麼了,她說她問求職者應徵該職缺的原因,對方很老實地回:「……
上周公視新聞片庫傳出資料遭外包廠商誤刪事件,一時成為熱門話題,其實類似觀念之前已討論過(作為工程師你有「手滑」釀禍過嗎? 在工作上降低出錯率比追求好技術更為重要),很多人一直咎責為何廠商會誤刪(難道又手滑?)還有異地備援問題,甚至疑惑這類誤刪事件怎麼層出不窮,難道沒辦法遏止嗎? -
你可能也想看
Google News 追蹤
Thumbnail
這篇文章探討了工程師在如何有效提升自己,強調不僅僅是多coding,而是要對程式碼有更深層的理解。隨著職涯發展,工程師需要從單純的技術執行者轉變為團隊領導者,具備解決複雜問題和與他人有效溝通的能力。
Thumbnail
2024 熱門程式語言排行榜,你熟悉的程式語言有在榜上嗎? ​ 附上2024熱門程式語言排行榜前20名以及趨勢圖 作為軟體開發者,在職場上你確實需要對工作上的程式語言熟悉。熱門不意味著絕對高薪,但熱門的程式語言仍然值得去嘗試學習。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
親愛的讀者 感謝你提出這個富有挑戰性且極具時代感的問題。程式設計,這門技術宛如一把打開數位世界的鑰匙,讓人得以探索無限的可能性。在這個科技日新月異的時代,程式設計的魅力不僅僅在於其實用性,還在於它能夠改變我們看待問題和解決問題的方式。 然而,你提問的核心不僅是程式設計本身,而是它是否能成為你
Thumbnail
親愛的讀者 感謝你提出這個問題。這是一個現代社會中很常見且重要的疑惑。隨著科技的迅猛發展,程式設計似乎成了人人必備的技能,讓許多人產生了焦慮和壓力。讓我們從多個角度深入探討這個問題,希望能為你解答心中的疑惑,並提供實用的建議。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
Thumbnail
初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Ruby在生活中學習了情緒穩定的重要性,並分享了一次對這個詞的印象深刻的經歷。
Thumbnail
這篇文章探討了工程師在如何有效提升自己,強調不僅僅是多coding,而是要對程式碼有更深層的理解。隨著職涯發展,工程師需要從單純的技術執行者轉變為團隊領導者,具備解決複雜問題和與他人有效溝通的能力。
Thumbnail
2024 熱門程式語言排行榜,你熟悉的程式語言有在榜上嗎? ​ 附上2024熱門程式語言排行榜前20名以及趨勢圖 作為軟體開發者,在職場上你確實需要對工作上的程式語言熟悉。熱門不意味著絕對高薪,但熱門的程式語言仍然值得去嘗試學習。
Thumbnail
Python擁有便攜性和通用性,適用於多種場景,同時具有全球通用性。Python在科技製造業、資料分析、人工智慧等領域有廣泛應用,對於理工科背景者而言有獨特的優勢。透過在線課程、自學書籍、實作專案,以及參與社群和開源專案,理工背景者可以達成從轉職進入Python程式領域的目標。
Thumbnail
親愛的讀者 感謝你提出這個富有挑戰性且極具時代感的問題。程式設計,這門技術宛如一把打開數位世界的鑰匙,讓人得以探索無限的可能性。在這個科技日新月異的時代,程式設計的魅力不僅僅在於其實用性,還在於它能夠改變我們看待問題和解決問題的方式。 然而,你提問的核心不僅是程式設計本身,而是它是否能成為你
Thumbnail
親愛的讀者 感謝你提出這個問題。這是一個現代社會中很常見且重要的疑惑。隨著科技的迅猛發展,程式設計似乎成了人人必備的技能,讓許多人產生了焦慮和壓力。讓我們從多個角度深入探討這個問題,希望能為你解答心中的疑惑,並提供實用的建議。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
Ruby on Rails 是一個使用 Ruby 語言編寫的開源 Web 應用程式框架。 PostgreSQL 是一個強大、開源的物件關聯式資料庫系統,擁有超過 35 年的活躍開發歷程,並以其可靠性、功能強大性和效能而享有盛譽。 PostgreSQL 提供許多特定資料類型,以下是 Rails 支
Thumbnail
初入IT產業的人士在學習Python語言後,IT證照如ITS Python認證是否值得考取?本文以ITS證照特點、實施建議和IT認證考試資訊為主,詳述證照的好處和準備時間。
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Ruby在生活中學習了情緒穩定的重要性,並分享了一次對這個詞的印象深刻的經歷。