每个开发人员都应该学习的五种编程语言(下)

random
random
订阅者
10532
文章
0
粉丝
开发测试评论151字数 2234阅读7分26秒阅读模式
摘要在这个故事中,我将向您展示每个程序员都应该学习的五种编程语言。并用实例说明学习这些编程语言的好处。

每个开发人员都应该学习的五种编程语言(下)插图

​​上篇​​说了C/C++和Bash,下面继续讲剩下的三个语言。文章源自玩技e族-https://www.playezu.com/234348.html

三、JavaScript

WORA(一次编写,随处运行)现在是 JavaScript——而不是 Java。现在您可以使用 JavaScript 来构建几乎任何东西。您可以使用 JavaScript 构建网站、Web 服务、桌面应用程序、移动应用程序、CLI 程序、IoT 解决方案、机器人相关程序和智能电视应用程序。甚至还有一个原生支持 JavaScript 和 npm 模块的运行时 (NodeOS)。如果您学习 JavaScript,您将获得与各种软件项目合作的绝佳机会。文章源自玩技e族-https://www.playezu.com/234348.html

学习 JavaScript 开辟了一条新途径,可以用一种现代编程语言构建任何东西。面向互联网的企业软件公司主要使用 JavaScript 或维护至少几个用 JavaScript 构建的子项目。文章源自玩技e族-https://www.playezu.com/234348.html

Web 浏览器本身就理解 JavaScript 并提供大量基于 JavaScript 的 Web API 来构建现代功能丰富的应用程序。毫无疑问,世界上的每个程序员每天都在使用 Web 浏览器。程序员通常喜欢学习内部结构。JavaScript 确实是了解 Web 浏览器内部结构的必备技能。文章源自玩技e族-https://www.playezu.com/234348.html

下面的故事进一步解释了 JavaScript 的重要性。文章源自玩技e族-https://www.playezu.com/234348.html

抱歉Java,一次编写随处运行 (WORA) 现在是 JavaScript

在 James Gosling 创建 Java 之前,特定于平台的编译语言(如 C/C++)是占主导地位的高级语言。程序员必须使用特定于平台的 API 为每个平台编写代码。一些程序员通过使用条件语句分隔代码,为所有平台创建了一个单一的代码库。另一方面,一些程序员分别为每个平台编写代码库。尽管编写特定于平台的代码会带来很多好处,例如灵活性、可定制性和性能,但软件开发的业务方面需要一种快速发布跨平台软件产品的方法。文章源自玩技e族-https://www.playezu.com/234348.html

从业务的角度来看,制作软件产品就是通过有效地利用人力资源使其正确和快速。Java借此机会进入了软件开发市场。这与 OOP 无关(Java 不是第一个基于 OOP 的语言),也与性能无关(C/C++ 语言无疑比 Java 快)。这一切都是为了快速制作软件和快速交付产品。文章源自玩技e族-https://www.playezu.com/234348.html

在那之后,我们到处都看到了Java。Java 帮助程序员创建桌面应用程序、Web 服务器、移动应用程序、智能电视应用程序和 Web 应用程序(通过小程序)。但是现在,JavaScript 在所有这些方面都比 Java 做得更好。文章源自玩技e族-https://www.playezu.com/234348.html

JavaScript 是不朽的,Java 正在慢慢消亡

您可以使用不支持 JavaScript 的 Web 浏览器做什么?什么都不对?如今,几乎所有网站都是动态的;他们严重依赖 JavaScript。没有 JavaScript,您将无法正确使用您喜爱的网站。但是您将能够像多年前使用 56k 调制解调器一样查看纯文本和一些图形。文章源自玩技e族-https://www.playezu.com/234348.html

由于这个事实,JavaScript 是不朽的,除非有人制作支持 X 脚本的不同浏览器并强制每个人使用它。另一方面,Java 正在慢慢消亡。Applet 已经死了,大多数不使用 Java 制作桌面应用程序,Java EE 有令人印象深刻的竞争对手,并且 JavaScript 被用于制作 Android 应用程序而不是 Java。此外,Java 的新许可模式并不是对每个人都有吸引力。另一方面,JavaScript 完全没有商业限制。文章源自玩技e族-https://www.playezu.com/234348.html

JavaScript,一切皆有可能

你可以用 JavaScript 比 Java 更好地做以下事情。

  • Web 应用程序:Vanilla JavaScript、React、Angular 等。lWeb 后端:Nodejs 和 Deno。
  • 桌面应用程序:Electron、NW.js 和 Neutralinojs。
  • 移动应用程序:Ionic、React Native 和 NativeScript。
  • 物联网/机器人编程:NodeMCU、NoDuino等。

很棒的是 JavaScript 真正支持我之前提到的业务视角。开发如此简单,因为语言语法提供了非常好的抽象,并且设置也非常快。人力资源利用率令人印象深刻。例如,如果您可以制作网站,您就可以使用 Web 后端、桌面应用程序和几乎任何东西。

真正的 WORA,是 JavaScript

如今,一切都在向云端迈进。首先,WORA 口号告诉我们有关平台的信息。这是关于为所有平台编写相同的代码。但是,由于现代云运动,WORA 应该将 Web 浏览器视为全部。您可以编写 JavaScript 并在浏览器和平台中执行它。

Java 有 Java 虚拟机 (JVM) 来执行称为字节码的编译指令。因此,如果特定平台可以运行 JVM,它也可以运行 Java。同样,JavaScript 也有一个称为 JavaScript 引擎的虚拟机来执行中间代码或机器代码。事实上,JavaScript 引擎是 Web 浏览器的关键部分,但它是一个独立的组件。因此,JavaScript 带着 Nodejs 的概念从 Web 浏览器出来到了其他地方。

另一方面,Java 已经在其他地方出现了。但是,它试图通过 Applet 概念进入网络浏览器并失败了。

结论

JavaScript 也有不好的部分,就像任何其他编程语言一样。主要问题与膨胀软件有关,它在可用性方面消耗了大量资源。例如,我们经常发现用 JavaScript 构建的桌面应用程序变成了膨胀软件。这不是 JavaScript 造成的问题,而是程序员造成的问题。下面的文章解释了更多关于这个英国媒体报道问题的信息。

此外,您可能会争辩说 Web Assembly 将使 Java 永垂不朽。因为那时程序员将能够使用 Java 制作 Web 应用程序,而无需担心 JavaScript。我不认为新程序员会在不接触 JavaScript 的情况下学习 Java 来制作 Web 应用程序。

现在我们知道为什么他们将 LiveScript 重命名为 JavaScript。

*原文链接:https://medium.com/swlh/sorry-java-write-once-run-anywhere-wora-is-now-javascript-92641161a73f。

四、Python

Python 是一种对开发人员友好、简单且动态类型的解释型编程语言。许多 Web 开发人员、数据科学家、机器学习工程师和系统管理员在日常编程任务中使用 Python。Kivy 项目也支持 Python 进入移动开发者社区。有时,编写 Python 源代码比编写伪代码来实现特定算法更快。

Python 提供了很多内置函数来处理数据结构。此外,Python 是处理数据记录的最简单的编程语言之一。学习 Python 对所有程序员都有好处。Bash 非常适合自动化。如果你的自动化脚本想要处理数据,Bash 不适合——因为它是一种命令语言。另一方面,Python 可以用最少的语法处理数据,并像 Bash 一样用最少的语法调用其他进程。因此,如果您学习 Python,您就可以编写干净且功能齐全的自动化脚本。

此外,Python 非常适合在线编码挑战和技术面试以快速解决问题。例如,看看在 Python 中删除列表的重复项是多么容易,甚至不使用任何导入语句。

每个开发人员都应该学习的五种编程语言(下)插图1

五、Go

Go 是一种静态类型的通用编程语言,采用类似 C 的语法设计。它具有其他现代编程语言具有的许多功能,例如垃圾收集、内存安全和并发支持。Go 编程语言具有对开发人员友好的语法,但与其他流行语言相比仍然具有令人印象深刻的性能。Go 语言的设计为我们所有程序员提供了很多宝贵的经验教训。

Go 只有 25 个关键字,但它提供了构建任何软件系统所需的所有功能。大多数编程语言都添加了大量语言功能,使开发人员的生活更轻松。但实际上,新的语言功能很快就会过时你的代码库。此外,许多有经验的程序员通常并不关心语言的最新语法技巧和技巧。

Go 语言的设计教会了我们如何用最少和完整的解决方案来解决工程问题。试想,25 个关键字足以设计一个功能齐全的编程语言。另一方面,现在 C++ 有 97 个关键字,而 Rust 有 54 个关键字——开发团队可能会添加更多。

Go 支持面向对象编程,甚至无需将 class 定义为关键字。当您学习 Go 概念时,您总是倾向于使用简单有效的解决方案来解决问题。Go 语言的生态系统是学习更好的软件设计模式的好方法。

 
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证