应该学习哪些编程语言?

学习一门新的编程语言是提升职业生涯的好方法。但是应该学哪一门呢?
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 语言编写,其余部分用汇编语言编写。任何平台上的标准库也大多用 C 语言编写。例如,任何发出Hello, world!问候语的程序都是通过调用名为 write 的 C 库函数来实现的。

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

对于 C 语言的现代入门,请考虑我的书 C 编程:便携式汇编语言入门。无论您如何学习,学习 C 语言都会让您学到不仅仅是一种编程语言。

您认为哪些编程语言对于了解很重要?您是否同意或不同意这些建议?请在评论中告诉我们!

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

21 条评论

奇怪的是,您甚至没有提到 PHP,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% 的 Web 使用了 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.