有些人喜欢学习新的编程语言。另一些人则无法想象必须学习哪怕一门语言。在本文中,我将向您展示如何像程序员一样思考,以便您可以自信地学习任何您想学的编程语言。
事实是,一旦你学会了编程,你使用的语言就变得不再是一个障碍,而更像是一种形式。事实上,这只是教育工作者说要尽早教孩子们编码的众多原因之一。无论他们的入门语言多么简单,逻辑对于孩子们(或成人学习者)以后可能遇到的任何其他事物来说都是相同的。
只需一点编程经验,您可以从 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 条评论