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