自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Python編程語言與Ruby之間的比較

開發(fā) 后端
Ruby比pyton更容易上手。從語言特征看,Ruby有很多有意思的創(chuàng)造。但是還是有不少的人選擇了Python編程語言。下面我們就來一探究竟。

Python編程語言在使用中有不少的問題需要我們?nèi)W(xué)習(xí)。當(dāng)然在和其他的編程語言比較的時(shí)候,Ruby就是首要的比較對(duì)象。下面我們就來看看Python編程語言和Rub之間的比較。

最近,我需要一種快速開發(fā)語言,目前炙手可熱的快速開發(fā)語言就是Python和Ruby了。Ruby和Python編程語言都是非常優(yōu)秀的腳本語言,雖然他們的設(shè)計(jì)哲學(xué)幾乎完全不同,但他們效率差不多,應(yīng)用領(lǐng)域也差距不大,似乎天生就是競爭對(duì)手。到底選那個(gè)呢?我做了一些簡單的比較。

我們比較兩種語言的時(shí)候,拋開性能問題不說,一般最在意的大概就是資源和學(xué)習(xí)曲線。

總體的印象,用一個(gè)不大恰當(dāng)?shù)谋扔鳎喝绻鸓ython編程語言是Java,那么Ruby就是.net。我們知道,Java世界非常復(fù)雜,非常多樣性,任何一個(gè)需求,都會(huì)有很多開源項(xiàng)目,他們用不同的思想來實(shí)現(xiàn),性能特點(diǎn)迥異,到底選那個(gè),總是令人犯難?,F(xiàn)在Python也是如此,而由于Python編程語言開發(fā)難度遠(yuǎn)遠(yuǎn)低于Java,導(dǎo)致Python的相關(guān)項(xiàng)目比Java還要多得多。#t#

資源上,兩者社區(qū)都很強(qiáng),有趣的是,現(xiàn)在Java社區(qū)存在被Ruby同化的危險(xiǎn),至少我訂閱的幾個(gè)Java blog聚合中談Ruby比Java還多。Ruby的社區(qū)較為集中,Python則比較分散。我總懷疑Ruby的日本用戶較多,但因?yàn)椴欢瘴?,很難確認(rèn)這個(gè)想法。對(duì)于一個(gè)母語非英語的創(chuàng)始人,我總是有點(diǎn)恐懼,怕很難理解他,怕很難得到最新消息等等等,雖然這個(gè)擔(dān)心目前看來并無必要,不過,誰知道會(huì)怎么樣呢。

Ruby之所以現(xiàn)在突然變得熱門,和rails這套架構(gòu)是分不開的??紤]Ruby,就要考慮到Ruby on rails。rails提供了一套非常好的web開發(fā)框架,開發(fā)效率非常高。Python雖然有很多類似的架構(gòu)實(shí)現(xiàn),但并沒有出現(xiàn)一個(gè)能夠一統(tǒng)江湖的架構(gòu)。Python編程語言的zend雖然完整,但更偏向于web服務(wù)器,不能用來和rails比較。

Ruby比pyton更容易上手。從語言特征看,Ruby有很多有意思的創(chuàng)造,比如說block,但大規(guī)模的應(yīng)用這些好玩的東西讓程序變得混亂。Python語法強(qiáng)調(diào)簡單,但是由于太靈活,簡單得太過分,于是傳統(tǒng)程序員經(jīng)常會(huì)看到一些令人大吃一驚的表達(dá)方式。我不知道這應(yīng)該算優(yōu)點(diǎn)還是缺點(diǎn),至少我認(rèn)為語法過于靈活,容易導(dǎo)致不同程序員的代碼風(fēng)格差異過大,增加了學(xué)習(xí)成本。

初期入門,Ruby更容易,但一旦達(dá)到一定復(fù)雜度,那么Ruby的難度驟然加大。Python編程語言入門不容易,復(fù)雜的時(shí)候也不會(huì)太痛苦。rails有入門簡單,深入難的問題。rails生成的目錄是做什么用途?o/r mapping如何實(shí)現(xiàn)的?如何把數(shù)據(jù)從web中傳遞到數(shù)據(jù)庫的。這些都是Ruby程序員早晚要面對(duì)的問題。 Python則不會(huì)這樣,如果搞不清楚這些,大概根本沒辦法開始。集成度太高的快速開發(fā)工具都有這個(gè)特點(diǎn),無論是VB、Delphi,還是.net,有多少使用了半年以內(nèi)的開發(fā)人員可以說清楚工程目錄下面所有的文件的用途、每個(gè)文件中的語法?我相信很多很有經(jīng)驗(yàn)的用戶也未必說的清楚。

從架構(gòu)上看,二者雖然實(shí)際上相差甚遠(yuǎn),但最后表現(xiàn)出來的結(jié)果反而很相似。Ruby是純粹的OO語言,而Python是函數(shù)和OO混合型。雖然Ruby也能用函數(shù)風(fēng)格的編碼方式,但實(shí)際上是模擬出來的。他們的這個(gè)差距對(duì)于普通的程序員影響并不大,畢竟看起來差不多。

總體來說,如果是非專業(yè)人員初嘗開發(fā),Ruby是合適的。對(duì)于專業(yè)的程序員,我還是建議選擇Python。

對(duì)于未來發(fā)展,我認(rèn)為Python編程語言的發(fā)展可預(yù)見,會(huì)較為平穩(wěn)。Python編程語言已經(jīng)屬于一個(gè)社區(qū),而非一個(gè)人,但Ruby由于種種原因,Ruby的作者maze的意志仍然會(huì)對(duì)Ruby的發(fā)展造成較大影響。Sun控制著Java,但由于sun的資源強(qiáng)大,且組織了jcp進(jìn)行統(tǒng)籌,所以Java發(fā)展很不錯(cuò),但Ruby能不能作到這一點(diǎn),還需要時(shí)間來證明。

 

責(zé)任編輯:張浩 來源: CSDN
相關(guān)推薦

2021-11-28 18:07:44

PythonRuby編程

2010-03-11 10:51:19

Python編程語言

2010-03-10 17:43:41

Python編程語言

2010-03-10 16:35:23

Python編程語言

2009-12-14 13:33:49

Ruby與Python

2023-06-11 17:29:45

BASIC編程語言

2009-08-14 13:45:03

Ruby和Python

2017-10-09 08:45:13

編程語言Amazon AtheSharePoint

2017-02-24 19:08:48

PythonPHPRuby

2009-08-28 15:35:31

C#與VB.net

2022-07-25 17:44:59

編程計(jì)算機(jī)

2011-07-21 13:21:32

PHP

2022-01-05 16:05:44

編程語言PythonRuby

2012-11-09 08:58:29

Ruby編程語言動(dòng)態(tài)語言

2023-05-24 09:31:51

CGo

2010-03-11 11:10:14

Python函數(shù)式

2012-11-07 09:41:30

2009-04-02 17:21:52

RubyGoogle編程

2010-03-15 14:33:09

Python線程編程

2009-06-15 11:03:10

Java語言C#語言
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)