应该学习哪些编程语言?

学习一门新的编程语言是提升职业生涯的好方法。但是应该学习哪一门呢?
247 位读者喜欢这篇文章。
magnifying glass on computer screen

Opensource.com

如果你想开始或在编程生涯中取得进步,学习一门新的语言是个明智的主意。但是,大量使用的语言引发了一个问题:哪种编程语言是最值得学习的?为了回答这个问题,让我们从一个简化的问题开始:你想做什么类型的编程?

如果你想在客户端进行 Web 编程,那么专门的语言 HTML、CSS 和 JavaScript(以及它看似无限的方言之一)是必不可少的。

如果你想在服务器端进行 Web 编程,那么可以选择所有熟悉的通用语言:C++、Golang、Java、C#、Node.js、Perl、Python、Ruby 等等。当然,服务器端程序会与数据存储(如关系数据库和其他数据库)交互,这意味着诸如 SQL 之类的查询语言可能会发挥作用。

如果你正在为移动设备编写原生应用,了解目标平台非常重要。对于 Apple 设备,Swift 已经取代 Objective C 成为首选语言。对于 Android 设备,Java(带有专用库和工具集)仍然是主流语言。还有一些特殊的语言,如 Xamarin,与 C# 一起使用,可以为 Apple、Android 和 Windows 设备生成特定于平台的代码。

通用语言呢?在通常的分类中,有各种各样的选择。在动态脚本语言(例如,Perl、Python 和 Ruby)中,有较新的产品,如 Node.js。Java 和 C# 比它们的粉丝愿意承认的更相似,它们仍然是以虚拟机(分别为 JVM 和 CLR)为目标的静态编译语言中的主导者。在编译成原生可执行文件的语言中,C++ 仍然在其中,以及后来的 Golang 和 Rust。通用的函数式语言比比皆是(例如,Clojure、Haskell、Erlang、F#、Lisp 和 Scala),通常带有热情奉献的社区。值得注意的是,诸如 Java 和 C# 之类的面向对象语言已经添加了函数式结构(特别是 lambda 表达式),而动态语言从一开始就具有函数式结构。

最后,让我为 C 语言做个推介,它是一种小型、优雅且可扩展的语言,不要与 C++ 混淆。现代操作系统主要用 C 语言编写,其余部分用汇编语言编写。任何平台上的标准库也大多用 C 语言编写。例如,任何发出Hello, world!问候语的程序都是通过调用名为 write 的 C 库函数来完成的。

C 语言充当可移植的汇编语言,暴露了其他高级语言有意隐藏的关于底层系统的细节。因此,理解 C 语言可以更好地掌握程序如何争夺执行所需的共享系统资源(处理器、内存和 I/O 设备)。C 语言既是高级的,又是贴近底层的,因此在性能上无与伦比——当然,汇编语言除外。最后,C 语言是编程语言中的通用语,几乎每种通用语言都以某种形式支持 C 调用。

对于现代 C 语言入门,请考虑我的书 C 编程:可移植汇编器入门。无论你如何学习,学习 C 语言都会让你学到的不仅仅是另一种编程语言。

你认为哪些编程语言是重要的?你同意还是不同意这些建议?请在评论中告诉我们!

标签
User profile image.
我是一名计算机科学领域的学者(德保罗大学计算与数字媒体学院),在软件开发方面拥有广泛的经验,主要是在生产计划和调度(钢铁行业)以及产品配置(卡车和巴士制造)方面。关于书籍和其他出版物的详细信息,请访问

21 条评论

奇怪的是你甚至没有提到 PHP,它是在服务器端用于 Web 开发最多的语言...

我也想知道为什么在这篇精彩的文章中完全忘记了 PHP。

回复 作者 Bernard (未验证)

哇,在 Web 语言中甚至没有提到 PHP。即使它是迄今为止使用最广泛的语言。对 PHP 的仇恨太多了。你知道他们怎么称呼 PHP 开发人员吗?“已就业”

这不是仇恨!
主题是:你应该学习哪些编程语言。
好吧,PHP 已经过时了,现在有很多更好的替代品。所以,是的,如果你想成为一名员工,至少应该学习它们而不是 PHP...

回复 作者 Patrick Thurmond (未验证)

PHP 作为你的第一门语言来说是一门糟糕的语言。它会教会你如何对你正在使用的工具感到愤怒。

在你的其他评论中,人们使用了许多其他语言,并且该行业正在远离 PHP。

有关为什么你不应该学习 PHP 的更多详细信息
https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

回复 作者 Patrick Thurmond (未验证)

如果你想开发 Android 移动应用,Kotlin 是必备语言,你甚至可以用它编写后端/Web 前端和原生桌面应用程序 :)

Android 开发缺少 Kotlin,我相信 Kotlin 现在是它的默认选择。

那么使用 Flutter 的 Dart 呢?它有很大的发展势头!

很好的建议——应该引用 PHP。然而,很难确定哪种服务器端语言占主导地位。

奇怪的是你没有更多地谈论 Web 上的 php,超过 50% 的网站使用 php。

我在 1997 年左右决定学习编程,当时互联网显然要成为“大事”。我读了 Ivor Horton 的《Beginning C》。第一次阅读时没有掌握太多,所以又读了第二遍。我继续掌握了 Perl、Php、Bash 和系统管理。但是,你启发了我再次拿起 C 语言.... 谢谢。

我更喜欢关注简单性而不是复杂性的语言。C 和 Go 这样的语言是我的选择,它们的简单性使它们成为开源项目的理想选择。

我想获得编程技能,因为我是一名数学和计算机科学专业的学生

不考虑 PHP 就有可能写出这些行吗?我不这么认为...

看起来你只是讨厌它!?

我发现 C 语言作为入门编程语言非常难啃。我不知道我有多少关于 C 或 C++ 的书,而且很难在其中任何一种语言中取得很大进展。我认为 Perl 或 Python 更适合入门。Perl 和 PHP 在结构上有很多相似之处。
我认为起点应该是想出一些你可能想用这种或那种语言做的事情的想法。搜寻一些能做一些有趣事情的短程序,并且你实际上可能会使用它们,然后慢慢地修改程序以自定义其输出,或者只是看看当你更改一行或多行时会发生什么。

还有许多其他语言使用 C 语言作为模型,可以帮助其他语言,如着色语言 Open Shader Language 和 GLSL。几乎每个 CPU 都有 C 编译器。许多科学模拟仍然使用 Fortran,也非常快。

1. Ruby|Python|Perl|Forth(Postcript)
2. C|汇编语言|C++|Pascal
3. Haskell|Scala|Prolog

对我来说,编程不仅仅是学习特定语言的语法,这些东西可以在谷歌上搜索到。更重要的是理解编程的逻辑,然后能够将任务分解成可定义的块,这些块可以编程以解决问题。为要解决的特定问题选择正确的语言也很重要。另外,学习 Python,它很有趣!

我认为“学习 C 语言,你将学到的不仅仅是另一种编程语言”。

没有提到 PHP 真是令人惊讶。opensource.com 本身就是用 PHP - Drupal 构建的

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.