❶ python與java,C,Ruby,PHP等編程語言有什麼區別
Python與Java的區別
學習起來Python要比Java簡單快速的多,java從c++這樣的系統語言中繼承了很多語法和復雜性,而Python的語法非常簡潔,大大提高編寫效率。
Python與C#語言的區別
Python是解釋型語言,不需要額外的編譯過程,而C#必須編譯後執行。另外,Python程序全部是開源的,但是C#就不是了,Python程序可以跨平台,不需要修改就可以運行在Windows和Linux等系統平台。
Python
&
C++,Perl
Python比C++等這類語言,更容易學習,語法規則簡單,語意化,易讀易懂,容易維護。
Python
&
Ruby
Python與Ruby確實有些相似,但是前者比後者更加成熟,語法的可讀性是後者沒法比的。與Ruby和Java不同的是,面向對象編程在python里不是必選的,這就更加增加了這門語言的靈活性。Ruby語言只適合編寫,但是維護的時候你會非常頭疼,更不用說多人編寫和維護的項目代碼了。
❷ 自學Ruby,Python 之前必須先學 C/C++ 或 Java 嗎
完全沒有必要,python,ruby比c/c++和java簡單多了
❸ python和ruby哪個語言和JAVA整合開發更好些
python, 你網路一下知道, 搜索"phthon", 那裡有說了, phthon是一個潤滑劑. 比如c++做網游傳輸要求速度的部分, python做整合等等. java是一門很龐大語言, 很強大, 不適宜做底層的工作.
❹ 自學Ruby、Python 之前必須先學 C/C++ 或 Java 嗎
java、python、ruby、javascript之類的吧,初學需要把經歷集中在邏輯上,C/C++沒用的東西太多,不適合初學。
❺ 新互聯網網站用Java還靠譜么對比Php,Python,Ruby的話
本文從RoR對Ruby的影響、Ruby的優勢等多個角度分析了Ruby比Python成功的原因。
伴隨著RoR的風行,Ruby語言受到越來越多的開發者的關注,同為腳本語言,Python的地位卻略顯尷尬,什麼樣的原因,造成了這樣的局面?
筆者認為有以下幾個方面:
一、 RoR的推波助瀾
筆者認為,Ruby的成功,很大一部分是由於RoR的帶動。
幾年前,如果你沒聽過RoR倒是情有可原,但如果今天,RoR對你來說,還是一個陌生詞彙的話,那你就有點危險了。:)
什麼是RoR呢?
全稱,Ruby on Rails,簡稱,RoR或者Rails。
它是個全棧的(full-stack)web應用框架,它為開發者提供了構建一個web應用所需的完整基礎結構,並且嚴格按照MVC(模型-視圖-控制器)架構進行開發。
RoR致力於提高開發者的開發效率,希望通過盡量少的代碼,完成盡可能多的功能。基於這樣的考慮,RoR有兩大設計原則,一是,不要重復自己 (Don''t Repeat Yourself);二是,慣例優於配置(Convention Over Configuration)。
使用RoR,你甚至可以通過簡單的幾條命令行、幾行代碼,就完成一個功能強大的web應用程序,這極大地提高了開發者的開發效率。
2004年7月,RoR一經發布,在短期內,便受到很多開發者的追捧。時至今日,RoR已經被全世界的開發者們所關注,它帶給開發者的效率提升,是前所未有的;它帶給業界關於軟體開發的思考,也是意義深遠的。
在RoR如此風行的大背景下,Ruby on Rails,這個需要使用Ruby進行開發的web框架,也自然地帶動了Ruby語言的發展。
在下面的「Ruby語言受關注程度趨勢圖」上,可以清晰地看出,Ruby語言在RoR發布也就是2004年7月後,進入了高速發展期。
Ruby因為有了RoR這樣的「殺手級」應用,變得春風得意,那麼Python呢?
在《淺談Python語言》一文中,我們提到了Python具有豐富的API庫,在web開發方面,也有Django、Turbogears這樣的一些框架,就運行速度而言,
Python比Ruby快;就社區而言,Python也比Ruby成熟,可是為什麼Python沒有產生一個像RoR這樣的「殺手級」應用呢?
Python語言的創始人Guido在接受InfoQ采訪時,是這樣解釋的:
「我不喜歡Killer
Application,因為那會讓多數人或者社區將精力集中於一個地方。Python是一個應用廣泛的語言,基於Python已經產生了很多好用的
Web框架,比如Django等。但是Python不Killer
Application,至少目前是這樣,而且我相信隨著Python社區的發展,會有很多Killer
Applications自然出現。我喜歡多樣化的應用。」
通過這個觀點,我們可以看出Python在其發展道路上,追求的是一種均衡,一種「大而全」。
「會有很多Killer Applications自然出現」,這點,我想我們需要拭目以待。單就「均衡」而言,筆者認為這很危險,作為一門腳本語言,試圖做Java之類傳統語言做的事情,不太可取。
以Java為例,在web應用上,有太多的框架可供選擇,不錯,「在不同的場景用不同的框架」,這想法很好。可是,在實際應用中,有多少開發者可以根據項目特點,正確、合理地選擇框架?
與其到最後,用戶還不知道該如何選擇,還不如一開始就替用戶做出一個選擇。
作為Python的使用者,我更願看到有個Python的「殺手級」應用出現,進而帶動Python更快速地發展。
你可以說RoR成就了Ruby,可是Rails為什麼偏偏選擇了Ruby?!Ruby優勢何在?
二、 Ruby的優勢
1. 比Perl更強大,比Python更面向對象
「比Perl更強大,比Python更面向對象」,這是Ruby創始人Matz設計Ruby的初衷。
Python既支持面向過程的編程也支持面向對象的編程,而Ruby則是完全面向對象。
在Ruby中,任何東西都是對象,包括Python中的基本數據類型;每個過程或函數都是方法。
例如,取-3的絕對值,在Python中,是這樣的:abs(-3)。
而在Ruby中,則是這樣的:-3.abs。這種OO的方式,顯得更加直觀。
2. 強大的語法功能
單就語法的簡單性而言,Ruby不及Python。但解決一些較復雜的問題,Ruby強大的語法功能,有助於降低問題的復雜度。
例如:
Ruby以「塊」的方式來實現列表內的條件、循環語句,比Python的更靈活、更具通用性。
Ruby具有類似Lisp的徹底的函數方式的條件、循環語句等。
Ruby的迭代器功能可以將流程式控制制結構抽象化。
3. 強大的字元串處理、正則表達式功能
Matz認為:Ruby > (Smalltalk + Perl) / 2。
Ruby類庫是對Perl語言功能的面向對象方式的重組,因為借鑒了很多Perl的東西,使得字元串處理、正則表達式這塊,Ruby同樣強大。
4. 不會僵住的「膠水語言」
同樣是「膠水語言」,Ruby比Python更靈活。
使用過一段時間的Python,你會發現,Python比較依賴第三方的東西。相比較,Ruby則更依賴自身。例如,Ruby可以使用(UNIX的)絕大部分的系統調用,單獨使用Ruby也可以進行系統編程等。
有優勢,Ruby就一定可以成功了?Python同樣也有很多優勢!對,還得看當時所處的環境。
三、 時勢造英雄
這點還得回到RoR的崛起。
Ruby,1995年12月正式發布,2000年進入美國;2004年7月,RoR正式發布。
RoR的出現時間,值得玩味。
在下面的「Java語言受關注程度趨勢圖」上,可以看到,2004年7月前後,Java處於一個相對「衰退期」。
提到Java,大家應該都會想到J2EE。
J2EE應用程序的廣泛實現是從1999、2000年開始的,它的出現帶來了諸如事務管理之類的核心中間層概念的標准化,但是因其開發效率、學習難度和實 際性能的問題,在實踐中沒有獲得完全的成功。作為J2EE核心技術的EJB(2.x),更是因其高昂的學習代價、極低的開發效率和極高的資源消耗,備受指 責。
在這樣一個大背景下,2003年,Spring框架誕生了。
Spring的設計思想在於「使J2EE開發更加簡單」。這個設計思想,在包括Java領域在內的眾多軟體開發領域引起了廣泛關注。軟體開發者們開始思考,如何讓開發向著一個更簡單的方向發展。
RoR在這一時期出現,無疑是順應了這樣一個潮流。
可以這么說,是歷史選擇了RoR,當然也選擇了Ruby。
遇到合適的機遇,還不夠,俗話說得好:「眾人拾柴火焰高」。
四、 眾星捧月
Ruby的出現,受到了兩大主流平台Java和.NET的極力追捧。
2006年9月,SUN僱傭了JRuby的主要開發者Charles Nutter和Thomas Enebo;一年不到,2007年6月14號,JRuby 1.0正式發布。SUN在其Java IDE NetBeans 6.0 M10中,更是集成了對Ruby/JRuby的支持。反觀Python的Java實現——Jython,則沒有這么幸運,發展至今,它並沒有得到SUN的 支持。
而Microsoft,也在2007年7月,推出了Ruby的.NET實現——IronRuby的預覽版。
相信SUN和Microsoft對Ruby的競相推崇,必然推動Ruby的進一步發展。
基於以上幾點,筆者認為Ruby的成功不是偶然,並且相信這樣的成功還會持續下去。對於Python的未來,我們也將拭目以待。
❻ 自學Ruby,Python 之前必須先學 C/C++ 或 Java 嗎
不需要,Ruby,Python是腳本語言和高級語言的語法差異比較大,沒有關聯性。
❼ 跟Python,Ruby,PERL相比,java是不是已經過時了
不太清楚你問這個問題的初衷,技術沒有好壞,只是每種技術有不同的適應場合。
單從你的問題出發,Perl是比java出現的早的腳本語言,現在很少有人用它來開發中大型的系統,但是仍然在很多場合應用。
Ruby這種腳本語言出現也好幾年了,一直沒有被廣泛關注,直到Ruby on Rails被提出來快速開發web程序的時候才被廣泛關注。
Python也是很好的腳本語言,幾年前方正的防火牆里就跑Python腳本
你說的這些都不是新技術,也無所謂過時不過時
❽ 在評判Java, Python, Ruby等不同編程語言之前,有哪些文章值得一看...
Java超越了所有咒罵它的「動態語言」
也許是因為年輕人的逆反心理,人們都不把自己的入門語言當回事。很早的時候,計算機系的學生用Scheme或者Pascal入門,現在大部分學校用 Java。這也許就是為什麼很多人恨Java,瞧不起用Java的人。提到Java,感覺就像是爺爺那輩人用的東西。大家都會用Java,怎麼能顯得我優 秀出眾呢?於是他們說:「Java老氣,龐大,復雜,臃腫。我更願意探索新的語言……」
某些Python程序員,在論壇里跟初學者講解Python有什麼好,其中一個原因竟然是:「因為Python不是Java!」 他們喜歡這樣宣傳:「看Python多簡單清晰啊,都不需要寫類型……」 對於Java的無緣無故的恨,盲目的否認,導致了他們看不到它很重要的優點,以至於迷失自己的方向。雖然氣勢上占上風,然而其實Python作為一個編程 語言,是完全無法和Java抗衡的。
在性能上,Python比Java慢幾十倍。由於缺乏靜態類型等重要設施,Python代碼有bug很不容易發現,發現了也不容易debug,所以 Python無法用於構造大規模的,復雜的系統。你也許發現某些startup公司的主要代碼是Python寫的,然而這些公司的軟體,質量其實相當的 低。在成熟的公司里,Python最多隻用來寫工具性質的東西,或者小型的,不會影響系統可靠性的腳本。
靜態類型的缺乏,也導致了Python不可能有很好的IDE支持,你不能完全可靠地「跳轉到定義」,不可能完全可靠地重構 (refactor)Python代碼。PyCharm對於早期的Python編程環境,是一個很大的改進,然而理論決定了,它不可能完全可靠地進行「變 量換名」等基本的重構操作。就算是比PyCharm強大很多的PySonar,對此也無能為力。由於Python的設計過度的「動態」,沒有類型標記,使 得完全准確的定義查找,成為了不可判定(undecidable)的問題。
❾ 所有編程語言中…哪種最易學優點多用最廣泛Ruby和python能完全取代java和c嗎
目前我所知道的易學裡面,肯定是python了,不過python是不可能取代c的,畢竟不是同一類的語言,c目前無可替代,java也許會,但是c很難被替代。
❿ Python與Java,C,Ruby,PHP等編程語言有什麼區別
Python與Java的區別
學習起來Python要比Java簡單快速的多,java從c++這樣的系統語言中繼承了很多語法和復雜性,而Python的語法非常簡潔,大大提高編寫效率。
Python與C#語言的區別
Python是解釋型語言,不需要額外的編譯過程,而C#必須編譯後執行。另外,Python程序全部是開源的,但是C#就不是了,Python程序可以跨平台,不需要修改就可以運行在Windows和Linux等系統平台。
Python & C++,Perl
Python比C++等這類語言,更容易學習,語法規則簡單,語意化,易讀易懂,容易維護。
Python & Ruby
Python與Ruby確實有些相似,但是前者比後者更加成熟,語法的可讀性是後者沒法比的。與Ruby和Java不同的是,面向對象編程在python里不是必選的,這就更加增加了這門語言的靈活性。Ruby語言只適合編寫,但是維護的時候你會非常頭疼,更不用說多人編寫和維護的項目代碼了。