有些人喜欢学习新的编程语言。另一些人则无法想象不得不学习哪怕一门语言。在本文中,我将向您展示如何像程序员一样思考,以便您可以自信地学习任何您想学习的编程语言。
事实是,一旦您学会了编程,您使用的语言就不再是障碍,而更像是一种形式。事实上,这只是教育工作者建议尽早教孩子编程的众多原因之一。无论他们的入门语言多么简单,逻辑对于孩子们(或成人学习者)以后可能遇到的任何其他事物来说都是相同的。
只需一点编程经验,您可以从 Opensource.com 上的几篇入门文章中的任何一篇获得这些经验,您就可以在几天内(有时甚至更短)学会任何编程语言。当然,这不是魔法,您确实需要为此付出一些努力。并且诚然,要学习一种语言的所有可用库或学习如何打包代码以进行交付,需要的时间远远不止几天。但是入门比您想象的要容易,剩下的部分会随着实践自然而然地到来。
当经验丰富的程序员坐下来学习一门新语言时,他们会寻找五个方面。一旦您了解了这五个方面,您就可以开始编码了。
1. 语法

(Seth Kenlon,CC BY-SA 4.0)
语言的语法描述了代码的结构。这包括代码逐行编写的方式以及用于构造代码语句的实际单词。
Python 以使用缩进来指示一个代码块的结束和另一个代码块的开始而闻名
while j < rows:
while k < columns:
tile = Tile(k * w)
board.add(tile)
k += 1
j += 1
k = 0
Lua 仅使用关键字 end
for i,obj in ipairs(hit) do
if obj.moving == 1 then
obj.x,obj.y = v.mouse.getPosition()
end
end
while (std::getline(e,r)) {
wc++;
}
语言的语法还涉及诸如包含库、设置变量和终止行之类的事情。通过实践,当您阅读示例代码时,您几乎会在潜意识里学会识别语法要求(和约定)。
采取行动
在学习新的编程语言时,努力理解其语法。您不必记住它,只需知道在忘记时去哪里查找即可。使用好的 IDE 也很有帮助,因为许多 IDE 会在语法错误发生时提醒您。
2. 内置函数和条件语句

(Seth Kenlon,CC BY-SA 4.0)
编程语言就像自然语言一样,具有有限数量的单词,它将其识别为有效单词。这个词汇表可以通过添加额外的库来扩展,但核心语言知道一组特定的关键字。大多数语言的关键字都没有您可能想象的那么多。即使在像 C 这样的非常底层的语言中,也只有 32 个单词,例如 for
、do
、while
、int
、float
、char
、break
等等。
了解这些关键字使您能够编写基本表达式,这是程序的基础构建块。许多内置单词可以帮助您构造条件语句,这些语句会影响程序的流程。例如,如果您想编写一个程序,让您单击并拖动图标,那么您的代码必须检测到用户的鼠标光标何时位于图标上方。导致鼠标抓住图标的代码必须仅在鼠标光标位于与图标外边缘相同的坐标内时才执行。这是一个经典的 if/then 语句,但不同的语言可以用不同的方式表达它。
Python 使用 if
、elif
和 else
的组合,但不显式关闭语句
if var == 1:
# action
elif var == 2:
# some action
else:
# some other action
Bash 使用 if
、elif
、else
,并使用 fi
来结束语句
if [ "$var" = "foo" ]; then
# action
elif [ "$var" = "bar" ]; then
# some action
else
# some other action
fi
然而,C 和 Java 使用 if
、else
和 else if
,并用花括号括起来
if (boolean) {
// action
} else if (boolean) {
// some action
} else {
// some other action
}
虽然在单词选择和语法上存在细微差异,但基本原理始终相同。学习在您正在学习的编程语言中定义条件的方法,包括 if/then
、do...while
和 case
语句。
采取行动
熟悉编程语言理解的核心关键字集。在实践中,您的代码将包含的不仅仅是语言的核心单词,因为几乎肯定有库包含许多简单的函数来帮助您执行诸如将输出打印到屏幕或显示窗口之类的操作。然而,驱动这些库的逻辑始于语言的内置关键字。
3. 数据类型

(Seth Kenlon,CC BY-SA 4.0)
代码处理数据,因此您必须学习编程语言如何识别不同类型的数据。所有语言都理解整数,大多数语言都理解小数和单个字符(a、b、c 等)。这些通常表示为 int
、float
和 double
以及 char
,但当然,语言的内置词汇会告诉您如何引用这些实体。
有时,语言内置了额外的数据类型,而其他时候,复杂的据类型是通过库启用的。例如,Python 使用关键字 str
识别字符串,但 C 代码必须包含 string.h
头文件才能使用字符串功能。
采取行动
库可以为您的代码解锁各种数据类型,但学习语言附带的基本数据类型是一个明智的起点。
4. 运算符和解析器

(Seth Kenlon,CC BY-SA 4.0)
一旦您理解了编程语言处理的数据类型,您就可以学习如何分析这些数据。幸运的是,数学学科非常稳定,因此数学运算符在许多语言中通常是相同的(或至少非常相似)。例如,两个整数相加通常使用 +
符号完成,而测试一个整数是否大于另一个整数通常使用 >
符号完成。测试相等性通常使用 ==
完成(是的,那是两个等号,因为单个等号通常保留用于设置值)。
在像 Lisp 和 Bash 这样的语言中,明显的例外是值得注意的,但与所有其他事物一样,这只是一个心理转译的问题。一旦您知道表达式如何不同,您就可以很容易地适应。快速回顾一下语言的数学运算符通常足以了解数学是如何完成的。
您还需要知道如何比较和操作非数值数据,例如字符和字符串。这些通常使用语言的核心库完成。例如,Python 具有 split()
方法,而 C 需要 string.h
来提供 strtok()
函数。
采取行动
学习操作基本数据类型的基本函数和关键字,并寻找核心库来帮助您完成复杂的操作。
5. 函数

(Seth Kenlon,CC BY-SA 4.0)
代码通常不仅仅是计算机的待办事项列表。通常,当您编写代码时,您希望向计算机呈现一组理论条件以及一组在满足每个条件时必须采取的操作的指令。虽然使用条件语句和数学及逻辑运算符进行流程控制可以完成很多工作,但一旦引入函数和类,代码就会变得更加高效,因为它们可以让您定义子程序。例如,如果应用程序需要频繁显示确认对话框,那么将该框一次编写为类的实例,而不是每次需要在代码中显示它时都重新编写它,要容易得多。
您需要学习如何在您正在学习的编程语言中定义类和函数。更准确地说,首先,您需要了解编程语言中是否提供了类和函数。大多数现代语言都支持函数,但类是面向对象语言中常见的专用结构。
采取行动
学习语言中可用的结构,这些结构可以帮助您高效地编写和使用代码。
您可以学习任何东西
学习编程语言本身就是编码过程的一种子程序。一旦您理解了代码工作原理背后的理论,您使用的语言就只是一种传递逻辑的媒介。学习新语言的过程几乎总是相同的:通过简单的练习学习语法,学习词汇以便您可以逐步构建到执行复杂操作,然后练习、练习、再练习。
5 条评论