Python、Ruby、Go語言哪個更值得學習?
感覺目前這三個語言都不錯,都學又覺得會貪多,想問問哪個更值得學習。能說說這三門語言的優缺點么?
不要讓自己沉入到語言的海洋裡面,要讓自己跳出來。
編程語言是你思考和設計的一種呈現工具。
這三門語言,你隨意的學一門都很不錯。但是你必須要深入進去。讀點框架源碼。不要只是去用。了解原理才是最重要的。我都是一起學的。
純編程 go在某個專業領域應用 python無聊想多學門語音 ruby
如果還沒學就學go吧,一是因為很多Python和Rub y的開發者轉向了go;二是因為和一門語言共同成長,感覺不錯。目前go的優勢已經逐步明顯了。
這麼多推go的。題主可連需求都沒說。go能幹的事Python都能幹,無非慢點,而Python能幹的事很多go不能(考慮生態問題)。
這裡不是說Python比go好,而是說在不了解需求的情況下就推薦題主學一門應用領域相對窄的語言並不明智。當然如果題主說想做backend那推薦go自然沒問題。我見過資料庫遷移和遊戲伺服器後台用python的
不用局限自己, 都可以去學, 主要看平時的工作需要什麼, 相信你掌握了一門語言後, 其它語言也能很快掌握.
真的是看需求。就我個人感覺:
1、Web開發:Go語言做Web開發聽說效果很好,我準備去試試,因為實在受不了Python蝸牛般的速度了,還有GIL這個奇怪的玩意2、科研:在我的另一個愛好——科研(機器學習、圖像處理)上,Python還是來得方便(真要求性能的時候我們就上C++了)
這三門語言其實都是不錯的而且都是開源的,實際中只要取決於你的需求。
Go應該是最年輕,它設計的目標主要是應用於系統編程,這也顯現的它的優點:速度一流,同時它的並行也是這幾個中最好的。
Ruby的速度相對慢點,它的目標是讓程序員快樂的編程,所以在使用的過程中是比較舒服的。在Ruby里的面對對象是最完全的,比如說正則表達式也是對象,真正的一切皆對象。而且還可以修改標準庫裡面的類和方法,這也就是它元編程的強大特性。同時還有很多函數式編程的特性,代碼塊的改善程序員更快樂的編程。
Python在實際的應用是最廣泛的,人生苦短,我用Python,說明它相對簡單,容易入門,而且有很多不同類型的庫和框架,在實際應用工程中比較廣。
PS:我比較推薦Ruby,它的一切皆對象有點讓人茅塞頓開的感覺。That depends。
如果希望學一門語言,就能觸類旁通其它,那應該學C++;
如果希望用於工程,學 Python,現在 Python 的相關的庫非常廣泛,從在線模塊到離線模塊,分析,繪圖;如果有時間,隨便學一門,其它兩門也都可舉一反三。想太多,不如馬上動手,1天時間已經上手了1門語言啦!
目前當下流行語言是Swift、Go、Julia、R與python ,其中最值得學習的應該是Python,以下是Python與這四種語言之間的對比:
Swift:作為蘋果原本為iOS開發設計的新興語言,Swift已經走向開源並引起了伺服器端開發者們的廣泛興趣。
在Swift中編寫代碼相當舒適,其類似於一種腳本語言而非作為前代方案的Objective-C那種編譯語言。Swift的決定性優勢在於執行速度——其採用與LLVM編譯器框架一致的方式進行機器碼編譯,因此能夠多線程支持,能力上超越Python。
如果開發者認為開發速度比執行速度更重要,那麼Python略有優勢,不過Swift也通過Xcode IDE提供相當便捷的「Playground」模式。
相較於Python,Swift仍然比較年輕,因此我們的老牌王者在群眾基礎上顯然更好。Swift目前尚無法運行在Windows平台上,因此在落地方面不及Python那麼便利。
Go: 谷歌公司打造的「直觀、簡潔、乾淨、高效」語言,目前已經得到諸多主流技術廠商的廣泛支持。與Swift類似,Go同樣可編譯為平台原生二進位代碼,因此在某些任務中擁有優於Python的運行速度,而且無需設定目標即可完成跨平台開發。Go語言的編譯速度也非常出色,從開發速度角度看,其更像是一種解釋型語言而非採用編譯機制。
雖然Go的歷史比Swift稍長一些,但其群體基礎仍然無法同Python相比。另外,Go的語法與錯誤處理方案對當前Python用戶來說可能不太友好。因此,其並不適合已經掌握了Python的程序員朋友。而Pyinstaller等工具的出現則讓Python應用的綁定工作變得非常便捷,更不用提在大多數Linux系統中,Python運行時已經被設為預置項目了。
Julia:發佈於2012年的Julia專門用於技術類應用,例如數據分析與線性代數計算。
Python的一類主要用例在於數學與科學應用,這主要歸功於Numpy等庫與交互IPython筆記本格式。Julia瞄準了同一用戶群體,但在核心速度上要超過Python。另外,其還提供愈發豐富的軟體包資源,不僅能夠實現數學與科學應用,同時也能像Python那樣實現面向雲環境下數據源的連接性。
Julia雖然發展速度很快,但Python的開發者社區也不會坐以待斃——圍繞Python進行的核心語言與環境開發一直未曾停歇。而且儘管Python的運行速度不及Julia,但大家仍然可以利用合適的庫來搞定合適的工作。
另外Julia的反對者也大有人在。舉例來說,Julia的數組為1索引而非0索引,這一點與幾乎所有現有語言都有所區別。
R:這是一個同時包含語言與開發環境的統計計算項目,R相較於Python擁有多項優勢,例如豐富的第三方軟體生態系統。另外,R在設計中考慮到了統計計算需求。雖然Python也很重視數學及統計處理,但R可謂在開發當中自上而下將二者進行了貫穿。
R還吸引到了眾多大牌廠商的支持。微軟就進行了一系列收購旨在利用R構建自己的雲數據服務。惠普方面則開發了Distributed R,能夠一次性運行在多個節點之上。隨著各相關技術成果的不斷演進,R完全有可能在統計計算領域將Python拉下馬。
不過有時候通用型語言的優勢還是值得強調。R雖然針對性更強,但也更具局限性——我們很難在R應用中實現交互性。另外,Python還能夠更好地與其它語言對接,使用RPy2等軟體包即可同時享受Python與R帶來的便利。
最後,儘管微軟確實對R給予了高度關注,但別忘了軟體巨頭同時也向Python伸出了援助之手,並計算將其運行在Azure當中。
推薦閱讀-多智時代:常見的七種Hadoop和Spark項目案例,大數據架構師必讀篇 - 大數據 多智時代
推薦Go,三個都學習下,做個小例子。對比下再深入學習其中一門。
我推薦C語言
本人還是喜歡haskell
python和ruby類似,腳本需要,直接執行,不需要編譯。
python寫法單一,ruby寫法每個人可能都不同,語法也更優雅,統一。比如python的len(python) ruby的ruby.size
ruby確實在語法上更統一,不像python各種奇怪的寫法,比較難受。就代碼量來說ruby也比python很少。
性能上python稍微強點,但很多場景不是編程需要的性能問題,而是架構設計問題。
當然這兩種需要都是腳本需要,很多系統級的應用,可能就需要go來搞了。
go是一門靜態編譯型語言,代碼需要經過編譯才能執行。不過go的編譯速度很快,幾乎都在幾秒完成。性能也非常好。靜態需要的一個特點是強類型,所以如果你習慣了動態腳本語言,需要適應靜態語言的強類型特性,需要處理好這些問題。
如果我來選,動態語言ruby更喜歡,python應用場景更廣,go就比較全能,系統級,web,小工具,運維領域都有go的影子。比較出名的有docker等。如果你的選項裡面有C,我會推薦C語言。至於你提到的三個,一起學吧。都是觸類旁通的事。
都值得學習,集百家長,觸類旁通…
GO。記住,人類,後來者總比前人聰明,因為有前人的經驗和教訓。
Rust,好好學習內存概念,其次python,想做什麼都有庫
go只是為了工程上的優勢,Python有非常多好用的功能,但是,每個都做不到最好(最!),Ruby這輛日本車很有魔力,一旦用起來就離不開了
1.從易用,易學角度來說,我推薦RUBY,只要會一點點英語單詞都可以快遞入門。
2.從歷史和開源庫的豐富程度角度來說,我推薦python,另外還有一點,python也是易學,易入門的語言,而且它對格式要求更標準,更規範。PS:現在是AI優先的時代,python的AI庫最多,所以學python還有一個好處是,如果未來向AI工程師發展,也有不少優勢。
3.從執行性能和並發編程角度來說,我推薦go語言,但這門語言目前來說,還是比較新,各種庫也許沒有python豐富。
4.語言都是相通的,學會一門,別的語言,其實花幾天或一周,也就大部分掌握了。
所以綜合考慮,我推薦:python.
這裡推薦一本python的書:
Python編程 從入門到實踐
價格:64.2
下單鏈接:https://union-click.jd.com/jdc?d=qa2RdL
預測一下未來5到20年的語言:後端-Go2.0/Ruby 3.0,底層-Rust/C/C++,什麼都能幹Kotlin
推薦閱讀:
※Ruby 更像 Perl 還是 Python?
※用於 Ruby on Rails 的 IDE 開發工具或者編輯器有哪些推薦?
※如何快速學習 Ruby on Rails?
※追求客戶端和伺服器編程語言的一致有多大的意義?