什么是编码?

关于编码的所有问题都在这篇关于编码基础的深入指南中得到解答。

2022年7月13日
什么是编码

你可能听过“学习编程”这句话,但这是什么意思呢?什么是编码?它是如何工作的?它的用途是什么?为什么要学呢?学习需要多长时间?

如果您对编码有疑问,请继续阅读以找到答案。在本文中,我们将引导您了解编码所需的基本要素。我们将从了解编码的含义、工作原理和用途开始。然后,我们将介绍编码中使用的编程语言以及用于编码的不同级别的编程。最后,我们将考虑您可能想要学习编码的一些原因以及您可能需要多长时间。

根据您阅读本文的原因,您可能对编码职业感兴趣,或者您可能正在寻找能够帮助您完成编码项目的人。在这两种情况下,Fiverr都可以帮助您。我们提供在线编程课程从经验丰富的编码专家,我们的许多专家也提供编码服务。阅读本文可以为您提供背景信息,以帮助您聘请编码导师或顾问。但首先,你需要知道你在找什么

编程意味着什么?

编码可以定义为创建指令的过程,这些指令告诉计算机该做什么。这组指令称为代码。它也可以被称为程序。

正因为如此,编码通常是编程的同义词,或者是编写计算机程序的过程。然而,有时在实际编写代码和更广泛的编程任务之间是有区别的。

程序是用称为编程语言的代码编写的,这些代码将人类指令翻译成计算机可以处理的信息。

一个编码的例子

为了说明编码,让我们从一个简单的例子开始:

作业:写一行Python代码

假设你正在上编程入门课,老师给你布置了一项作业,让你写一行代码,告诉计算机让屏幕显示消息“Hello!”您将使用当今最流行的编程语言之一编写这些代码,Python

你需要用Python写什么

要创建代码,您将使用文本编辑程序,该程序允许您输入纯文本,而不需要在文字处理程序中使用的格式类型。一个流行的编程文本编辑器是崇高的文本,或者你也可以使用一个免费的程序,比如notepad++

您还需要在计算机上安装Python。许多计算机已经安装了它。如果你没有安装它,你可以下载它是免费的。如果没有经验,自己安装Python并查找文件可能会涉及到。如果您想在不尝试安装Python的情况下了解编码是如何工作的,您可以使用复制web开发人员站点提供的Python环境的在线界面W3Schools

如果你是用安装在电脑上的Python编程,你首先要在你的文本编辑程序中创建一个文件,方法是打开应用程序,给你的文件起一个名字,然后保存它。例如,您可以将文件命名为“Hello.py”。“py”扩展名表示这是一个Python文件。

创建Python代码

创建文件后,你可以在文件中输入以下指令:

print(“你好!”)

python示例

这是指示计算机对变量“Hello!”执行一个名为“print”的操作。

“打印”动作被称为函数,意思是告诉计算机执行特定任务的代码。print函数告诉计算机取括号内输入的变量,并将其打印到屏幕或打印机上。

根据上下文和说话人的不同,变量被称为参数或参数。(这里我们不讨论形参和实参之间的区别,只是提一下,许多人倾向于互换使用这两个术语,但从技术上讲,它们是不同的。不过我们在这里不需要担心这个。)在本例中,变量是“Hello!”

这条指令告诉计算机取变量“Hello!”,然后打印到电脑屏幕上。引号内出现的任何文本都将被打印出来,所以当这个程序成功运行时,屏幕上应该显示:

你好!

python示例/ 2

在您的文件中输入此代码后,您将保存更新后的文件。

运行Python代码

现在您可以关闭文件并使用称为命令行的文本界面运行它。命令行是一种不使用鼠标而只使用文本向计算机输入命令的方法。

要运行文件,您需要打开命令行程序,导航到保存文件的目录,然后输入命令来运行文件。(我们现在不讨论如何导航目录或运行文件,但是您可以从提供的教程中了解Python如何处理这些任务Datacamp)。

当你运行你的程序,如果你做的一切都是正确的,你的命令行界面应该显示:

你好!

调试Python代码

如果做错了什么,命令行界面将不会显示此信息。例如,如果您拼错了单词“print”,您可能会得到一条错误消息。在这种情况下,您需要返回,检查您的程序文件,并找出出错的地方。编码的这一部分被称为“调试”。

其他实用编码应用的例子

在上面的示例中,您编写的代码只有一行,其中包含一条指令和一个变量。在实践中,设计用于执行现实生活任务的程序通常有许多行和许多变量。不是写程序告诉计算机在屏幕上打印一行,有高级编程技能的人可能会写程序来:

  • 在网站上显示博客文章

  • 预报天气

  • 诊断医疗状况

  • 为卡车司机提供导航指导

  • 翻译语言

  • 在智能手机之间发送短信

  • 经营工厂

  • 处理网上信用卡交易

这些类型的任务可能涉及复杂的数据输入和指令。例如,to预报天气,程序员需要创建一个程序,它可以:

  • 接受多个远程气象站关于多个变量的输入,如温度、湿度和风速

  • 分析输入的数学模式

  • 根据模式做出预测

  • 显示来自不同位置的用户的结果

要创建这种类型的程序,您需要知道如何:

  • 以程序可以处理的格式组织天气数据

  • 运行指令,告诉程序对数据执行高级数学运算

  • 组织结果的显示方式,使其对寻找当地天气预报的人有用

如上图所示,编码所需的技能范围从非常简单到非常高级。编写一个运行网站的程序通常比编写一个运行工厂的程序需要更少的培训,尽管对于非常复杂的网站可能不是这样。这就是拥有高级编码技能的人可以赚取高收入的原因之一。

既然我们已经考虑了一些编码的示例,那么让我们通过仔细研究编码的目的、涉及的步骤和使用的工具来充实编码的定义。

编码的目的

一般来说,任何程序代码的目的都是告诉计算机使用什么数据以及对数据执行什么操作以达到预期的结果。计算机程序可用于以下任务:

  • 查找文件

  • 显示图像

  • 解一道数学题

  • 分析科学数据

  • 预测金融趋势

  • 规划行车路线

  • 把电子信号转换成音频或视频的

  • 运行机器

一般来说,编码可用于为任何涉及重复常规步骤以响应输入数据的任务对计算机进行编程。

编码的步骤

创建程序代码的过程包括以下几个步骤:

  • 描述程序需要执行的任务

  • 确定执行任务需要哪些输入数据、需要如何处理数据以及需要哪些输出

  • 用图表表示执行任务所需的步骤

  • 将步骤转换成用编程语言编写的代码,将人类指令转换成计算机可以处理的指令(确切地说,这是编码的核心)。

  • 将原始的编程语言指令翻译成计算机可以在硬件上作为物理操作来执行的指令,例如将文件存储在硬盘驱动器上的特定位置

  • 检查你的编程代码来识别和修复任何错误

  • 测试程序以验证它是否执行了预期的任务

这最后几个步骤可能需要重复,以使程序做它应该做的没有错误。编码是一个不断修正、改进和优化的过程。

编程工具

程序员在编码时依赖于许多工具。这些包括:

  • 系统分析:一种分析计算机需要执行的任务的方法,它把任务分解成可以编码的步骤

  • 程序设计语言:告诉计算机执行哪些指令和应用哪些变量的代码

  • 文本编辑器:用编程语言编写代码的软件程序

  • 编译器:将对人类用户友好的程序语言翻译成计算机可以用来在机器上执行物理指令的语言的计算机语言

  • 调试器:用于测试其他程序并确保它们正确运行的程序

  • 集成开发环境(ide):将多个编码工具组合在一个界面中的软件应用程序

  • 软件库:旨在帮助提高编程效率的编程代码和数据的集合

  • 项目管理软件:让团队成员在线一起工作的程序

这些只是编码中使用的一些工具。程序员开发了许多专门的工具来简化编码任务。

编码是如何工作的?

现在我们对编码有了一些了解,让我们来看看它是如何工作的:

开与关

要理解编码是如何工作的,你需要了解计算机是如何工作的商店并处理信息。计算机硬件存储设备通常使用以下几种方法之一来存储数据:

  • 半导体:存储位置是晶体管,可以切换到开或关状态来控制电流是否流过电路

  • 磁性:存储位置被正极或负极磁化

  • 光学:存储位置由可由激光束读取的压痕或无压痕组成

  • 纸张:存储位置由机器或光学设备可以读取的孔图案和无孔图案组成

所有这些方法的共同点是它们都有两种可能的状态。例如,在半导体存储器中,晶体管可以开或关。如果你有很多晶体管,你可以有很多晶体管的组合,这些晶体管要么开,要么关,但最终,每个晶体管要么开,要么关。

在编程代码中,这些开和关状态用数字表示:

  • 1对1

  • 0表示关闭

这就产生了一种叫做二进制码的代码。

二进制代码

之所以叫二进制码,是因为每个数字只能有两个可能的数字:1或0。二进制代码可用于指示计算机检测硬件存储位置是否处于打开或关闭状态。它也可以用来告诉计算机打开或关闭某个位置。

二进制代码使计算机能够存储和处理数据。要做到这一点,需要将二进制代码翻译成人类可以理解和使用的代码。

这是通过应用二进制数系统来实现的,它使用以2为基数的代码来表示数字,而不是我们通常的以10为基数的代码,这意味着每个数字只能使用两个数字:1或0。

例如:

  • 在10进制中,“10”意味着“一个10,没有1”,或者“10”。

  • 在2进制中,“10”意味着“一,二,没有一”,或者“二”

  • 在10进制中,“11”意味着“1个10加1个1”,或者“11”。

  • 在2进制中,“11”意味着“一二一二”,或者“三”。

  • 在10进制中,“100”的意思是“一百,没有十,也没有一”,或者“一百”。

  • 在2进制中,“100”意味着“一个4,没有2,也没有1”,或者“4”。

二进制代码可以用来表示数字,但它也可以表示其他东西,包括:

  • 一个字母

  • 逻辑值真或假

  • 在屏幕上显示的颜色

  • 在扬声器上播放的声音

二进制代码还可以表示计算机对存储数据执行的操作,例如:

  • 添加数据

  • 按字母顺序搜索数据或文件

  • 按数字或字母顺序排序数据

  • 删除文件

这使计算机能够存储任何类型的数据或执行任何可以用二进制代码表示的任务。

然而,二进制代码对人类来说并不容易直接处理,因为长串的1和0很难读取。为了解决这个问题,计算机程序员发明了一种语言,可以将正常的人类词汇转换为编码命令,然后计算机可以将其解释为二进制代码。这是通过将二进制代码转换成更接近人类语言的其他代码来完成的。

从二进制代码到源代码

为了将二进制代码转换为人类可以阅读的内容,让我们简单地看一下二进制代码可以翻译成的另一种代码:十六进制代码。

十六进制代码使用基数16而不是基数2。每个数字最多包含16个可能的值,包括数字0到10以及字母A到f。因为每个数字可以包含16个值,所以十六进制代码可以比二进制代码存储更多的信息。例如,为了表示数字16:

  • 二进制代码使用“10000”

  • 十六进制代码使用“10”

代表10:

  • 二进制代码使用“1010”

  • 十六进制代码使用" A "

因为16是2的倍数,所以任何二进制代码都可以转换成十六进制代码。这意味着十六进制代码可以用作速记,使用比用二进制表示相同值所需的更少的位数来存储二进制代码。

利用同样的原理,程序员开发出了一种语言,可以将日常的人类语言编码成命令和变量,然后再转换成二进制代码。这些语言被称为源代码。例如,源代码可能包含命令“print”,而不是表示该命令的二进制代码。然后运行用一种或多种中间语言编写的软件,将源代码翻译成二进制代码,这样计算机就可以在自己的设备或连接的设备上执行物理操作。

计算机代码的用途是什么?

代码用于任何涉及计算机、智能手机或移动设备的应用程序。这包括:

  • 创建软件应用程序

  • 建设网站

  • 运行硬件,包括智能手机、笔记本电脑和台式机

  • 运行机器

  • 管理网络

  • 管理数据库

随着计算机和移动设备的使用融入社会,需要这些应用程序的行业范围也在扩大。最需要程序员的雇主类型包括:

  • 零售,包括实体品牌向电子商务扩张

  • 医疗保健

  • 从事研究和发展的企业、学校和非营利组织

  • IT和业务服务提供商

  • 科技公司

  • 政府承包商

任何依赖计算机、维持电子商务存在或存储大量数据的企业都需要程序员。

编程语言的类型

有许多编程语言和许多方法分类他们。最简单的方法是根据它们与二进制代码的接近程度对它们进行分类。从这个角度来看,语言大体上可以被组织成一个层次结构,从为机器设计的语言开始,随着它们越来越接近人类语言而上升:

  • 机器语言是用二进制代码编写的,旨在直接运行硬件

  • 汇编语言包含与机器语言对应的代码,用于在机器语言和更接近人类语言的语言之间进行翻译

  • 高级语言使用从正常人类语言中借用的术语,并以源代码编写

机器语言和汇编语言通常一起被称为低级语言。

也有一些语言可以在这些不同层次的编程语言之间进行翻译:

  • 解释型语言一次将一行源代码翻译成机器语言,并立即执行代码

  • 编译语言在执行代码之前将整个程序翻译成机器语言

  • 源到源编译器将一个源代码转换为另一个源代码,后者可以更快地转换为机器码

在高级语言的类别中,有许多语言和许多对它们进行分类的方法。最重要的区别之一是使用不同编程范式(方法)向机器传递指令的语言之间的区别:

  • 命令式语言通过规定过程(过程式语言)或将数据与过程结合起来(面向对象编程语言),向机器提供如何改变其状态的指令。

  • 声明性语言告诉机器期望结果的属性,而不提供计算结果的具体过程,用功能任务(函数语言)、逻辑属性(逻辑语言)、数学属性(数学语言)或数据属性(反应性语言)来表达期望的结果。

命令式语言的一个例子是Fortran,它是为科学应用而设计的。声明性语言的一个例子是Lisp,它最初是为数学应用程序设计的,经常用于人工智能。这些不是当今最流行的语言,但它们可以很好地说明高级语言的一些基本类别。

编程的层次

根据与机器或人类语言的接近程度,编程级别可分为两大类:

  • 低级语言,包括机器语言和汇编语言

  • 高级语言,包括命令式语言和声明式语言的各种子类别

这两个层次的编程都是运行计算机所必需的。大公司可能在这两个领域都有专家。在计算机工程和电气工程等领域,对低级程序员的需求往往更高,在这些领域,程序员与计算机硬件的工作关系更密切,而高级编程与计算机科学和软件开发的关系更密切。

为什么要学编程?

那么为什么要学习编程呢?有很多很好的理由:

  • 提高你的收入潜力:根据美国劳工部的数据,2021年计算机程序员的平均年薪为9.3万美元,即每小时44.71美元劳工统计局

  • 经营业务:你可能需要知道编码来运行你的公司网站,设计一个定制的应用程序,或者执行一些特定的业务功能

  • 开发一项发明:通过赋予你发明应用程序或机器的技能,编码可以帮助你实现创业目标

  • 探索娱乐兴趣:知道如何编码可以帮助你表达你的创造力或探索需要计算机技能的兴趣爱好

  • 雇佣一名程序员:即使你不打算成为一名全职程序员,了解编程也可以帮助你在雇佣程序员时做出更明智的雇佣决定

这些都是你可能想要考虑学习编码的原因。

学习编程需要多长时间?

学习编程需要多长时间取决于你的学习能力,你想学多少代码,以及你的目标是什么:

  • 如果你有自学编程的天赋,你可以在短短六个月的时间里掌握基本知识,如果你有一些相关的计算机或数学背景,你可以更少

  • 参加编程训练营的基础编程速成班可能需要三到九个月的时间

  • 在编程相关领域获得学位可能需要两到四年的时间,如果你想获得更高的学位,可能需要更长时间

一般来说,如果你学习编码是为了完成一项特定的任务,那么你学习编码是为了进入一项编程职业,这不会花费你那么多的时间。然而,在获得计算机科学或计算机工程学位之前,你可以学习足够的编码来完成职业转型。

在Fiverr学习在线编程

随着当今雇主和企业家对技术的需求不断增长,学习编程可能是提高你的收入潜力或创业的一步。Fiverr提供在线编程课程,您可以从专业程序员那里学习如何编写代码。与经验丰富的程序员联系,他们可以帮助你从今天开始学习编程。