当然是全都要啊~

Python 显然是最佳选择,除非更好的选择是 Java 或 JavaScript。我们比较一下。

理解计算机并使它们服从我们的意愿的最好方法是学习说它们的语言,以便它们理解我们的命令。喜欢奇幻小说的人有时会想象他们正在学习魔法咒语和咒语。注重实际的人使用更接地气的语言来表示数字和数据的逻辑结构。在任何情况下,关键是要了解哪些按键和鼠标点击的顺序将使计算机跳过比喻性的箍并执行虚拟舞蹈。

每所学校和培训场所都需要为年轻的学生提供第一语言。有些地方,比如陈旧的哈佛,仍然坚持70 年代的 C 语言,但许多学校在JavaScript、Python和Java之间摇摆不定。一个埋藏在每个浏览器中,一个是社会科学的干净选择,一个是更多具有数学头脑的人的类型丰富的偏好。

一个是最好的选择吗?一个明显优于其他的吗?或者他们是否都同样有可能让大量学生在晚上尖叫到他们的枕头上?让我们来看看学习 Java、Python 或 JavaScript 的最佳理由。

最经典的是Java

Advanced Placement 考试很久以前就选择了 Java,当时 Java 还很年轻,而且还很火爆。也许 Java 从未达到其初始轨迹的顶点,当时每个人似乎都认为它会完全占据主导地位,但它仍然是许多网站、智能手机、电视和小型设备的支柱。

选择一种拥有强大追随者的语言,可以让学生跳上已经拥有完善的开发工具的潮流。此外,还有无数行开源代码可供学生学习、修改和扩展以用于自己的工作。他们正在加入一场大运动,他们很容易融入其中。

Python是新的

事实上,Python 并不是那么新——这个项目在 30 多年前就开始了——但它感觉很新,因为它的成功来得很缓慢。直到最近,Python 才爆发并被休闲程序员广泛采用。这种新颖性意味着采用 Python 的学校正在制定新的课程计划、编写新的考试并开发新的幻灯片。他们并没有通过引用 Pets.com 和 MySpace 来挖掘 1990 年代的一些尘土飞扬的老问题。

最新的 AP 课程,称为计算机科学原理,让老师选择计算机语言,许多人选择Python是因为它的新鲜度。新事物可能是肤浅的,但所有语言都只是一些巧妙的语法,隐藏了汇编代码的 if-then-else 决策结构。

所有这些成功都建立了一个积极的反馈循环。将在TIOBE指数2020年11月版标志着第一次了Python爬进数个插槽(仅次于C),认识到如何措词比Java日益流行。

JavaScript 无处不在

它位于浏览器中,而浏览器是桌面、手机以及随处可见的所有自助服务终端的基础。在过去的十年中,JavaScript 占据了 Web 服务器的前线,因为 Node.js Web 应用程序成为开发人员编写可以在客户端和服务器群上运行的“同构代码”的最流行方式。JavaScript 几乎与 Java 处于同一时代,但服务器端的人们花了数年时间才发现它的强大。它是新的和旧的。

Java 是类型化的

可能不喜欢花时间指定每个变量的类型,但是单击三个键将“int”添加到代码中并不会花费太多时间。当这样做时,将获得让编译器立即仔细检查您的代码并在部署之前发现愚蠢错误的所有功能。类型检查语言迫使我们更严格地思考代码中的逻辑,这对新程序员来说是必不可少的一课。Java 的类型结构减少了错误并构建了更好的代码。

Python 未输入

类型语言爱好者很聪明,他们编写了很好的代码,但是如果你认为你的代码足够好,可以在没有每个变量的数据类型的额外信息的情况下顺利运行,那么 Python 已经为你准备好了。当将数据存储在变量中时,计算机可以确定数据的类型。为什么要为自己做额外的工作?

请注意,这种随心所欲的方法可能正在改变,尽管速度很慢。Python 文档宣布Python 运行时不强制执行函数和变量类型注释,但它们仍然可以使用。也许随着时间的推移,添加类型将成为使用该语言进行编程的主要方式,但就目前而言,这完全是您的选择。

JavaScript 两者兼而有之

JavaScript 本身是无类型的,但最近 JavaScript 世界的一些知名成员已经转向TypeScript,这是原始语言的超集,使能够在需要时设置类型。如果不想,那么常规 JavaScript 也可以正常运行。这是类型检查的轻松版本。

Java 规则设备

世界上最流行的手机平台是 Android,这是一个构建在 Java 之上的大量代码。但这只是最明显的平台。机顶盒、新的 Chromebook,甚至一些台式机都像智能手机一样运行 Android 应用程序。Java 的近亲 C# 统治着 Windows 世界。C# 与 Java 并不完全相同,但非常接近。如果您要为固定硬件编写应用程序,那么 Java 很有可能是最佳选择。

Python 规则数据科学

如果正在编写处理数据的软件,那么很有可能想要使用 Python。简单的语法吸引了许多科学家,并且该语言在全国各地的实验室中都拥有强大的追随者。既然数据科学已经在商业世界的各个层面占据一席之地,Python 也在紧随其后。

Jupyter Notebook是创建和共享交互式文档的最佳发明之一,它始于 Python 社区,然后才采用其他语言。这是将软件、数据和解释正在发生的事情的文本混合在一起的最佳方式之一。读者可以吸收单词,然后按下按钮来运行数据上的软件。

JavaScript 统治网络

其他平台可能不错,但网络浏览器仍然是几乎每个人用来与世界联系的一个门户。它通常是台式机、智能手机和平板电脑上最常用的软件。JavaScript 一开始是这个本地客户端的老大,随着Node.js的发展,它的影响力扩大到完全统治,让开发人员更容易在客户端和服务器上运行相同的代码。

还有许多优秀的JavaScript 框架(Angular、React、Vue 等)为构建您的 Web 应用程序提供了基础,其中一些非常聪明,可以根据需要在客户端和服务器之间移动您的代码。

即使在由其他语言主导的世界中,JavaScript 也在以自己的方式进入堆栈。许多智能手机开发人员正在跳过 Java 和 Swift,用 JavaScript 创建他们的跨平台应用程序。毕竟,JavaScript 决定了浏览器矩形中发生的事情,并且几乎可以保证它会决定任何地方的大多数点击和击键会发生什么。

Java 运行一切

如果编写 Python 代码,它很有可能最终在Jython 中运行,Jython是一种用 Java 编写的语言的实现,以利用 Java 虚拟机的无所不在的优势。如果需要运行 JavaScript,还可以将其提供给Rhino和 Nashorn,这两个工具可以将 JavaScript 转换为 Java 字节码。

这两种语言并不是唯一依赖 JVM 坚如磐石的性能的语言。Scala、Clojure 和Kotlin等许多函数式编程语言也依赖于相同的基础。如果想在同一个项目中使用这些基于 JVM 的语言,这可以通过更简单地将这些基于 JVM 的语言链接在一起来帮助每个人。

Python 无处不在

Python 不是人们为其他语言编写模拟器的首选,甚至不是最后的选择。尽管如此,在许多计算机上还是很容易找到 Python。该语言的创建者一直将代码作为开源分发,并且包几乎无处不在。实际上,会发现 MacOS 和大多数功能齐全的 Linux 发行版中都包含 Python。虽然它不包含在 Windows 中,但安装起来却是轻而易举——只要以聪明的方式安装即可。

JavaScript 在浏览器中运行

很难相信为在浏览器中创建警报框而构建的玩具语言现在是许多语言的基础。开发人员希望接触用户,如果用户生活在浏览器中,那么找到一种让代码在 JavaScript 中运行的方法是接触每个人的最快方式。

不仅仅是像 CoffeeScript 和 LiveScript 这样的 JavaScript 表亲可以转换为 JavaScript。甚至像Lisp、OCaml和Pascal这样的语言也可以转换为 JavaScript 并在浏览器中运行。Python在 Jupyter notebooks 等项目的浏览器中很流行,甚至可以使用Google Web Toolkit等工具将 Java 转换为 JavaScript 。

Java 具有强大的 IDE

Eclipse、NetBeans 和 IntelliJ是一些最好的集成开发环境。它们由 Java 社区创建并经过多年的培育,以创建最支持编写代码的环境之一。代码完成和代码生成算法可能不会编写所有软件,但它们可以键入大量内容。所有这些手把手真的可以帮助新开发人员获得正确的语法。

这些 IDE 非常流行,以至于其他语言的开发人员找到了一种在其中运行代码的方法。如果成为一名专业的 Java 程序员,几乎肯定会使用其中之一。同时,如果想要更简单、更友好的 Java 编程体验,请尝试BlueJ 或 Greenfoot。这些“初学者 IDE”是专门为学习 Java 而设计的。

Python有云

Python 语言在 Unix 世界中找到了它的第一个家,因此充满 Linux 机器的云层是寻找大量 Python 代码的自然场所也就不足为奇了。一些最新的工具,如Jupyter,将代码、数据和解释捆绑在一起,这样人们就可以将他们的见解作为活跃的研究论文与他人分享。Jupyter 笔记本不是静态文档,而是用于探索的交互式工具。

其他人正在围绕该语言构建复杂的工具以加强研究。例如,PyTorch是一个深度学习工具包,其中包含用于分析的代码、数据和算法。这样的环境将主导数据科学的未来。

还有几个不错的笔记本主机,它们添加了额外的功能,用于共享数据和处理大而密集的计算数据分析工作。例如,谷歌运行Colaboratory,它将存储您的数据并提供对 GPU 的一些免费访问以加快计算速度。在土星云吹捧的性能可能比您的桌面快100倍。

JavaScript 有 JSFiddle

每个浏览器都具有足够的功能来充当 IDE。JSFiddle只是十几个允许与其他开发人员共享 JavaScript 代码的网站中最突出的一个。但是,网页不是静态的,因为可以摆弄代码并观察它在同一网页中运行。像这样的工具可以很容易地体验 JavaScript 的所有语法乐趣。

学习任何 - 或所有三个

GitHub 星标 115k+的 Java开发教程,超级硬核!

编程世界喜欢异花授粉。虽然在不同语言之间切换并保持语法清晰可能会令人困惑,但可以在项目中使用所有三种语言而不会陷入困境。分析数据的 Java 或 JavaScript 项目可以链接到用 Python 编写的数据科学库。或者 Python 项目可以调用 Java 或 JavaScript 代码。

聪明的开发人员还创建了自动翻译、链接和集成不同语言的工具。想在浏览器中运行 Python 代码吗?现在有几种 不同的 选择,可能还会有更多选择。Java 有一个ScriptEngine 类,它将评估 JavaScript。有数百种不同的语言将通过翻译或模拟作为 JavaScript 运行。

简而言之,这三种语言不一定是孤岛,彼此孤立。从长远来看,不需要只选择一个。但首先从一个开始。