应该学习哪些编程语言?

学习一门新的编程语言是提升职业生涯的好方法。但是应该学哪一门呢?
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 现在是它的默认选择。

那么 Dart 和 Flutter 势头强劲呢?

很好的呼吁——应该引用 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

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

我认为“学习 C 语言你将会学到比仅仅另一种编程语言更多的东西。”

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

知识共享许可协议本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.