2021 总结：学习新编程语言的 5 个小知识
借助开源的力量，任何人都可以编程。找到一个你想做的项目，并让它成为你进入编程的第一个项目。
编程
借助开源的力量，任何人都可以编程。找到一个你想做的项目，并让它成为你进入编程的第一个项目。

> 
> 借助开源的力量，任何人都可以编程。找到一个你想做的项目，并让它成为你进入编程的第一个项目。
> 
> 
> 


![](/data/attachment/album/202201/14/151030layqs229euy206sc.jpg "Woman sitting in front of her computer")


任何人都可以开始学习编程。[我们都是从某个起点开始的](https://opensource.com/article/21/8/first-programming-language)，而且你不需要有计算机科学背景就可以学习编程。这就是 Linux 和开源的力量：任何人都可以学习一点编程。


如果你想学习一种新的编程语言，我们有几篇可以让你起步的很棒的文章。下面是我们最受欢迎的几篇文章，它们可以帮助到你。


### 比较编程语言


大多数编程语言都有某些相似之处。当你知道如何用一种编程语言做一件事，学习下一种编程语言主要是弄清其语法和结构。


#### 不同的编程语言如何做同样的事情


学习一种新的编程语言的一个好方法是写一个简单的测试程序，如一个游戏，以探索该编程语言的工作原理。我经常写的一个示例程序是一个简单的“猜数字”游戏，即计算机在 1 到 100 之间挑选一个数字，让我猜出来。今年早些时候，我们发表了 [一系列文章](https://opensource.com/article/21/4/compare-programming-languages)，探讨如何用几种编程语言编写猜数字游戏。了解这些不同的编程语言如何实现“猜数字”游戏的主要步骤。


#### 不同的编程语言如何读写数据


[Alan 的](https://opensource.com/users/alansmithee)文章比较了不同的编程语言如何在相同的思想下 [读写数据](https://opensource.com/article/21/7/programming-read-write)。无论这些数据是来自于配置文件还是用户创建的文件，在存储设备上处理数据对于编码者来说是很常见的。Alan 的比较文章提供了对几种流行的编程语言，如 C、Java、Groovy 和其他语言所采取的不同方法的深入了解。


### 学习一种新的编程语言


无论你是想学习一种新的编程语言，还是想探索一种现有的编程语言，请看看下面这些关于学习编程的好文章。


#### 如何用 WebAssembly 编写 “Hello World”


WebAssembly 是一种字节码格式，几乎所有的浏览器都可以将其编译为主机系统的机器代码。与 JavaScript 和 WebGL 一起，WebAssembly 满足了将应用移植到网络浏览器中独立使用的需求。[Stephan](https://opensource.com/users/hansic99) 解释了如何用 WASM-text 创建经典的 [Hello World 程序](https://opensource.com/article/21/3/hello-world-webassembly)。


#### 用 Golang 轻松实现交叉编译


[Gaurav](https://opensource.com/users/gkamathe) 写了关于通过将脚本转换为 Go 程序来学习 [Go 的交叉编译支持](https://opensource.com/article/21/1/go-cross-compiling)。你可以一次写好你的程序，并通过交叉编译为另一个环境进行编译。


#### 为什么我使用 D 编程语言来编写脚本


D 编程语言由于其静态类型和元编程能力，常常被认为是一种系统编程语言。然而，它也是一种非常高效的脚本语言。[Lawrence](https://opensource.com/users/aberba) 写了关于如何利用 D 编程语言进行 [普通的脚本编写](https://opensource.com/article/21/1/d-scripting)。


借助于开源的力量，编程可以被任何人所接受。找到一个你想做的项目，并让它成为你进入编程的第一个项目。




---


via: <https://opensource.com/article/22/1/learn-programming>


作者：[Jim Hall](https://opensource.com/users/jim-hall) 选题：[lujun9972](https://github.com/lujun9972) 译者：[geekpi](https://github.com/geekpi) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

