為什麼要學習Ruby:初學者應該先學習“思維”而不是“語言”
初次接觸編碼的人總是問類似的問題。
“為什麼要學Ruby?
為了就業,學習Java、JavaScript或Python不是更好嗎?”
這個問題非常合理。
而且一半是對的。
在就業市場上經常出現的語言是
Java、JavaScript、Python。
許多公司在這些語言上構建系統並使用它們。
但是
“現在學習什麼可以最快地提高未來的技能和思維能力?”
如果從這個角度來看這個問題
答案將完全不同。
**在學習編程中最重要的是
不是“語言的難度”,而是“思維框架”**
當人們第一次學習編程時需要的是
無論如何美化,最終都是以下兩個方面。
理解編程是什麼能力
能夠閱讀和寫作編程語言的思維框架
這兩個方面
根據語言的難度
會有截然不同的情況。
如果語言復雜
在達到思維的本質之前就會遇到困難。
為了記住語法關鍵字,
為了記住機械規則,
忘記了“為什麼要這樣做”。
那麼
最好的入門語言是什麼呢?
正是
一種“讓思維學習無需不必要負擔”的語言,
即以思維為中心的語言。
Ruby是這樣一種極端的語言
“根據人類思維結構設計的語言”。
僅需比較Hello World,Ruby的優勢就顯現出來了
Java的Hello World
public class Main {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
對於初學者來說,這裡有太多“未知領域”的單詞。
public
class
static
void
main
String
args
System.out
println
沒有一個對初學者來說容易解釋。
並且必須理解所有這些才能
最終實現“輸出一行字符串”。
換句話說,在學習代碼之前
語言就成了障礙。
JavaScript的Hello World
console.log("Hello World");
JavaScript簡單得多
但學習的複雜性在後期急劇增加
例如Web環境/運行時/異步等。
Python的Hello World
print("Hello World")
Python非常簡單。
但Python的本質是“腳本語言+數據科學用途”。
要完成整個Web服務的架構
需要進行許多額外的學習。
Ruby的Hello World
puts "Hello World"
就這樣。
沒有不必要的關鍵字。
讀起來像句子。
puts是“put string”的縮寫。
字面上意思是“在屏幕上放置字符串”。
Ruby代碼和人類的思維結構幾乎是一致的。
也就是說,初學者的大腦
可以將精力投入到“形成思維結構”而不是“記住語法”。
**Ruby具有決定性優勢:
學習者達到“本質”速度極快**
初學者的目標是
不是成為“寫三行代碼的人”
而是成為“能夠自己設計和實現功能的人”。
如果語言復雜
到達這一點需要花費很長時間。
Ruby幾乎縮短了這個過程。
循環 →
5.times do ... end條件 →
if ... else函數 →
def greet類 →
class User模塊 →
module Payment
Ruby
將人類已經使用的自然語言思維直接投射到代碼中。
結果是
方法、類、模塊等核心概念
可以通過“思維結構”而不是語法來理解。
這種能力
在以後學習Java、Python、JavaScript時
將產生壓倒性的快速學習速度。
換句話說,
從Ruby開始,學習其他語言的速度本身就會有所不同。
**最關鍵的原因:
Ruby讓人最快速地熟悉“服務開發整體流程”**
Ruby獨立時也很美麗
但真正的力量來自Ruby on Rails。
Rails極大地簡化了Web服務開發
這是一個極簡化的框架。
URL → 控制器 → 模型 → 視圖
數據存儲 → CRUD
認證 → 中間件
路由 → 自動映射
部署 → 自動腳本
幾乎沒有比Ruby/Rails更快地理解整個現實服務流程的工具。
要學習相同概念的Java嗎?
Spring
JPA
Tomcat
Gradle/Maven
依賴注入
Bean生命週期
需要學習的元素太多了。
對初學者來說難以承受。
Python也是一樣的:
Django ORM
URL調度器
設置結構
WSGI
模板引擎
我不是在批評這些工具。
我在說明對初學者來說哪個工具最優化。
Ruby on Rails是
對於“初次學習開發的人”來說
掌握整個Web服務結構的世界級工具。
Ruby向初學者展示“代碼的本質”
Ruby排除了複雜的語法
只留下思維結構的語言。
這樣一來,學習者可以
了解為什麼需要函數
了解類如何對世界進行建模
了解模塊如何分離共同功能
了解流程如何構建整個服務
可以直接體驗和學習本質。
一旦掌握了本質
無論是Java、JavaScript還是Python
任何語言都會很快熟悉。
因為學習的是“語法”而不是“思維”。
思維已經在Ruby中完成。
**結論:
**Ruby不是就業語言
而是“創建第二個理解編碼的大腦的語言”**
就業不僅僅由一種語言決定。
相反,思維能力、問題解決能力、設計能力更為重要。
Ruby最快地培養了這些能力。
因此,首先學習Ruby
不是走捷徑,而是快速的道路。
您現在學習Ruby的所有內容
將極大地加快您對任何語言的理解速度。
並且在某個時刻您將意識到。
“啊… Ruby並不是教我編碼
而是幫我建立理解編碼的‘大腦’。”