软件编程作为一种技能
Source: Dev.to
软件编程作为技能的用途有哪些?
当人们谈论软件或计算机编程时,通常会提到自动化、构建网站、创建应用或开发软件系统。
这些都是合法的用例,但它们只能说明问题的一部分。
在本文中,我将退一步,从第一原理来审视编程。
编程之所以成为一项必备技能,是因为我们在过去几十年里构建的强大硬件设备。要理解编程为何重要,构建一个关于这些设备的简单概念模型会很有帮助。
想象一个具有以下特征的设备:
- 它可以接受某种输入(任何向设备传递信息的信号)。
- 它可以对输入执行特定操作。
- 它可以选择性地存储一些信息。
- 它的操作会产生输出。
符合此结构的最简单设备是现代计算器。
现代计算器可以被想象为:
- 通过按钮接受输入。
- 执行数学运算。
- (可选)存储先前计算的结果。
- 在屏幕上显示输出。
这种基本结构适用于大多数计算设备:它们接受输入,使用内置操作进行处理,在必要时存储信息,并返回输出。
编程在其中扮演什么角色?
让我们回到计算器的例子。
今天的计算器能够做的远不止简单的加、减、乘、除。它们可以计算对数、三角函数值、平方根,甚至求解方程。
所有这些高阶功能的底层都是相同的基础:基本运算(+、–、×、÷)。在数学中,许多高级函数都可以分解为使用这些基础运算的一系列步骤。
以求 10 的平方根为例。一个计算方法是牛顿迭代法:先给出一个猜测值,然后使用公式反复细化,直到值趋于稳定。当你按下 √ 按钮时,计算器会自动执行这些步骤。
有某种东西指示计算器如何组合基本运算来计算平方根。
这东西就是 程序。
而设计它的人就是 程序员。
那么软件编程到底是什么?
软件编程本质上是一门艺术:
- 理解硬件机器能够执行的操作,
- 并以有意义、结构化的方式组织这些操作,使机器能够完成有用或复杂的任务。
随着硬件变得更快、更强大,编程的威力也随之提升。程序员可以把简单的操作组合起来,创建游戏、运行仿真、构建聊天机器人、驱动网站、执行高级数学运算,以及更多其他可能。