如果您想开始或在编程职业生涯中取得进步,学习一门新的语言是一个明智的主意。但是,正在使用的语言数量庞大,引出了一个问题:哪种编程语言是最好的选择?为了回答这个问题,让我们从一个简化的问题开始:您想从事哪种编程?
如果您想在客户端进行 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 语言都会让您学到不仅仅是一种编程语言。
您认为哪些编程语言对于了解很重要?您是否同意或不同意这些建议?请在评论中告诉我们!
21 条评论