2010-07-16 71 views
22

我最近學會了JavaScript,突然之間我聽到有關Python的所有信息......Python在JavaScript上? (請說明)

我應該去學習Python還是堅持使用我的基本JavaScript知識?

如果你有一些「事實」,我很樂意聽到他們!就像效率,difficultylevel等等,一等等...

謝謝:)

+5

當我看到標題時,立刻想到了http://skulpt.org – 2010-07-16 15:14:06

+8

提示:說出你想要完成的事情。如果它需要在瀏覽器窗口中運行,我肯定會使用Javascript。 – extraneon 2010-07-16 15:18:13

+3

@Eli Bendersky:有點神勇的聖地 – thepandaatemyface 2010-07-16 15:46:56

回答

14

如果你只是在學習一門語言,那麼沒有比Python更好的了。這是一種容易理解的語言。這是有據可查的。它與一個大型,活躍和友好的社區相關聯。由於它是一種腳本語言,因此您可以輕鬆嘗試並立即查看結果。您還可以從編程基礎開始,從學習函數開始,然後進入類。

JavaScript是很多程序員的存在的禍根。學習很容易,而且適用於爲特定用途設計的小型腳本。但一旦你開始做大事,就很難跟蹤。這就是爲什麼語言修改如CoffeeScript,TypescriptDart已經出現。

正如spinon所指出的,這些編程語言的使用方式非常不同。 Python是一種通用的腳本語言,有時可以用來做服務器端的工作。 JavaScript以前只能用於在網頁上構建交互性。但是,現在,它在服務器端和桌面應用程序中也很受歡迎,如Node.js

+12

我會說JavaScript是非常先進的,如果你發現一個大型項目難以跟蹤,那麼你沒有正確地維護你的資源。一個框架可以在那裏幫助,參見http://www.sproutcore.com是一個很好的例子,說明一個大型項目是多麼容易。即使你沒有使用高級庫,JavaScript的副本http://www.amazon.com/exec/obidos/ASIN/0596517742/wrrrldwideweb也會使你保持正軌。 – 2010-07-16 18:36:40

+0

聖sh **,@Pullets永遠!你見過sproutcores外部JavaScript文件之一嗎?我不會輕易地稱這種簡單;)當我不在閱讀時,我花了大約5分鐘的時間向下滾動,只是按住了小滾動箭頭(按鈕右下角):D – Latze 2010-07-17 08:14:29

+0

您是在談論一個構建的SproutCore項目,或者源代碼?我每天使用的文件都很容易修改,因爲它們被MVC,邏輯函數和最終對象分成許多小文件。 – 2010-07-17 21:47:17

3

JavaScript是主要用於客戶端(瀏覽器),Python是主要用於服務器端 - 所以他們服務於不同的需求(不考慮Python到JS轉換器等)。

雖然我會推薦學習Python,因爲它影響ECMAScript並且語法非常相似,都是面向對象的,都是很棒的語言。

http://hg.toolness.com/python-for-js-programmers/raw-file/tip/PythonForJsProgrammers.html

+0

雖然我希望它是 – JnBrymn 2010-07-16 15:09:21

+0

你的意思是像DLR上的Python? http://msdn.microsoft.com/en-us/magazine/cc163344.aspx – 2010-07-16 15:11:51

+0

JavaScript可以是客戶端。它本質上不是客戶端。 http://en.wikipedia.org/wiki/Server-side_JavaScript – Quentin 2010-07-16 16:07:39

15

兩個一般都採用完全不同。 Javascript主要用作客戶端腳本語言,而Python是一種基於服務器的語言。所以在一個網站你可以使用兩個。但不知道這是你想知道的。

+13

2014年,這已經不是真的了。請參見[NodeJs](http://nodejs.org/)。 – Domi 2014-10-28 12:13:39

+0

JavaScript和Python都是通用腳本語言,至少在2015年是這樣。 – 2015-07-15 00:11:53

0

JavaScript和Python都是針對不同問題的優秀語言。

JavaScript知識在處理網頁,編寫網頁和在DOM DOM中瀏覽時非常有用。

Python是一種腳本語言,適用於任何機器上的大量事物。

1

國際海事組織的Python可能更容易學習(既教雙方介紹類)。

此外,JavaScript的一個主要煩惱是在瀏覽器中運行。這固有地使調試問題變得更加困難。

就生產級語言而言,Python更多的是通用編程語言,而JavaScript則是針對構建動態Web應用程序。

如果你想進入編程,你一定要學習更通用的語言,如Java或Python。

+1

JavaScript越來越多地被用作非瀏覽器,服務器端語言 - 請參閱node.js以獲取入門知識。不知道爲什麼,但有。 。 。 – JulesLt 2010-07-16 15:16:27

+0

有趣的是,我發現在瀏覽器中的JavaScript比幾乎任何服務器端的邏輯更容易調試。 – 2010-07-16 16:08:25

1

爲了什麼目的? Javascript在某些圈子中是國王(例如網絡開發)。

JavaScript和Python不是互斥的。爲什麼不同時學習?

2

JavaScript通常用作客戶端腳本語言 - 也就是說,它會被瀏覽器下載並執行。但是,Python通常不會連接到網絡。它可以用作服務器端腳本語言,以及任何類型的腳本和應用程序。但它是而不是的客戶端語言,因此不能直接與具有完全不同受衆的Javascript進行比較。

從語言層面來看,Javascript非常糟糕,功能異常(很難調試,笨拙的面向對象),而Python很漂亮和富有表現力。這當然是主觀的:-)

+1

我不確定爲什麼大家都在說Python不是客戶端語言。這是一種通用的語言,可以適應任何需求 - 像wxPython這樣的東西,Python可以真正在客戶端創造奇蹟。 「不是」和「不是最好的」之間有區別。 – 2010-07-16 15:24:35

+0

「我不確定爲什麼每個人都說Python不是客戶端語言。」 - 我認爲他們的意思是「客戶端」,意思是「在Web瀏覽器中運行」。我不知道任何瀏覽器都比運行Python運行JavaScript更像JavaScript。 – 2010-07-16 16:09:50

+0

除此之外 - 還有幾個python-to-JS「編譯器」。 PYJS來命名一個。 – Chozabu 2013-05-11 11:31:58

0

這取決於。

你想使用專門針對Web瀏覽器的語言進行編程嗎?使用JavaScript

堅持你想寫除了網絡瀏覽器的...好東西嗎?學習Python。

Python是一個很好的初學者語言,不只是一個初學者的語言。 Google使用它,NASA使用它,許多其他組織使用Python。

0

隨着Python的一般是服務器端和JavaScript客戶端,Python的設計不僅簡單易學,而且容易閱讀,並鼓勵更高效的環境。

4

關鍵的事實是,Javascript非常難以改變(因爲瀏覽器中存在數十億的舊實現),所以在早期(並且瘋狂地匆忙;-)階段進行的設計錯誤仍然在今天的語言中。 (見克拉克福德的Javascript: the good parts由JS專家和愛好者對其好壞部分進行合理討論)。喜歡寫Python代碼運行不變,所有的方式 - 如果事情像use strict;指令永遠做它的方式進入的ECMAScript(雖然編程,支持老,並經常有錯誤,瀏覽器的方式,將仍然像拔牙這可能會改變從Python 1.0到3.1將是! - )。 Python是以更傳統的方式部署的,所以多年來逐漸的語言變化增強了它(它也被設計成不那麼着急,並且[[可以說,不是「事實」;-)]]最終以從一開始就有更好的設計,在許多方面)。

其結果是,使用Javascript(到目前爲止)還沒有享受過多少成功「服務器端」,其中程序員們選擇(即使他們仍然必須使用JS的「瀏覽器端」代碼)。但沒有什麼內在的。 JS是迄今爲止世界上使用最廣泛的語言(那些數十億的瀏覽器......),許多公司和開源組織在競爭實現和支持框架中進行了鉅額投資(Python對此也沒有任何懈怠,但差別仍然存在),實際改進(速度,警告)繼續堆積在JS方面(即使語言本身無法改進)。

憑藉嚴格的自我強加的編程原則(由JS Crockfor的「皮棉」程序例如執行)和良好的支撐框架(jQuery的,道場,封閉,...)和工具(Firefox可能是用於JS跟蹤和調試的最佳附加組件,但其他瀏覽器也朝着這個方向發展),JS近年來變得可用。可能這些日子裏有一個快速的服務器端實現(可能是「嚴格使用」或類似的東西,一旦正式祝福;-)將開始獲得實質性的立足點,只是因爲這麼多的web程序員已經有一些JS知識(他們必須做出好的網絡應用程序)。

請注意,很多JS的糟糕代表(除了承認「不能刪除的壞部分」;-)來自那些並不真正「屬於」JS的語言:有問題的實現,混亂HTML DOM通常可以(尤其是具有越野車瀏覽器的障礙)等等。沒有理由將來的服務器端部署應該重現這些令人生厭的缺陷! - )

+3

這個答案是過時的方式,你應該刪除它。 ES2015增加了大量的語言功能,並且人們開發了極其複雜的Babel轉換器,以實現早期採用,證明JavaScript能夠像Python一樣改變。 JS現在也廣泛用於服務器端。 – Andy 2017-02-13 18:38:29

+0

完全同意你@Andy。 – 2017-08-26 12:59:00

3

Python是學習JavaScript之後的良好第二語言,因爲它們有相當數量的相似性,例如

  • 他們都是內存管理
  • 它們具有類似的數據結構 - JavaScript的對象和數組很像Python的字典和數組
  • 他們都用了相當多的網絡相關的工作 - 瀏覽器中的JavaScript以及服務器端上下文(如node.js),Python框架(如Django)中的Python。

然而,Python的面向對象...的東西與JavaScript基於原型的面向對象的東西完全不同。

如果您所做的唯一編程操作是在Web瀏覽器中操作網頁,那麼Python將不會直接用於您(只有JavaScript在瀏覽器中運行)。但是學習另一種編程語言通常會爲您提供思考您已知語言的新方法。學習Python可以幫助您編寫更好的JavaScript。

-1

如果你需要問一下,那麼我會說不,因爲你沒有必要記住它的用法。