2010-07-16 54 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

如果你需要问一下,那么我会说不,因为你没有必要记住它的用法。