编程语言是什么

yizhihongxing

人生苦短,我用Python!

大家好,这里是python技术站(www.pythonjishu.com)。

在学习Python之前,我们首先了解下什么是编程语言

说到编程语言,还需要从程序说起。

其实,程序就是一系列指令,计算机之所以能够工作,根本的原因是它能够识别人类发出的指令。目前你看到关于计算机的所有内容,包括网站、视频、搜索引擎等等,归根结底都是计算机执行人类指令产生的结果。

也就是说,计算机本身是什么也做不了的,只有人类编写好指令后,计算机按部就班地去执行指令,才能真正工作起来,从而产生有价值的内容。

所以,你也许也发现了,这其中最关键的就是那一系列指令串,而我们人类编写指令串的过程就是称为编程。

所谓编程语言,那“语言”又是什么东西?

众所周知,计算机只认识0和1这种二进制数字,我们可以称之为机器码,也就是机器语言。这也意味着,人类需要将指令编写为机器语言,才能够让计算机工作。但机器语言与人类语言差异太大,不符合人类的语言习惯,人类想要阅读并理解机器码是相当困难的。

于是乎,计算机科学家们想到个折中的办法,他们在机器语言和人类语言之间做了一层翻译器。这个翻译器十分关键,我们后续文章还会提到。有了这个翻译器,人类就可以用习惯上的人类语言逻辑去编写代码,编写完成后,翻译器再把代码翻译成机器语言,这样,人类与机器之间就可以顺畅交流了!

当这套解决方案产生后,人们很快就在上世纪50年代设计出了一套编程语言,也就是汇编语言,它也是第二代计算机语言(第一代就是机器码)。汇编语言设计了一套人类易于理解和记忆的缩写单词,用来代替一些特定的指令,通过这种方法,人们就很容易去阅读和理解程序执行的功能了,对现有程序的bug修复和运行维护也都变得更加简单方便了。

.section .text
.global _start
    _start:
    .ARM
    add r3, pc, #1
    bx r3
    .THUMB
    mov r0, #2
    mov r1, #1
    sub r2, r2, r2
    mov r7, #200
    add r7, #81
    svc #1
    mov r4, r0
    adr  r1, struct_addr
    strb r2, [r1, #1]
    strb r2, [r1, #4]
    strb r2, [r1, #5]
    strb r2, [r1, #6]
    strb r2, [r1, #7]
    mov r2, #16
    add r7, #1
    svc #1
    nop

汇编语言

后来随着计算机的发展,汇编语言渐渐满足不了不同领域的编程要求和软件功能,于是C语言、C++、Java这种高级语言相继横空出世,这些语言的语法、结构相对于汇编语言更加成熟,也更易于理解了。

编程语言发展到现在,计算机科学家们已经开发了成千上百种编程语言,而且随着时间的演变,这些编程语言又产生了很多不同的版本。但无论是什么编程语言,也无论有多少个版本,虽然它们在细节上有所不同,但它们的核心逻辑都是相同的。这也是为什么当程序员学会一门编程语言后,再学习其他语言会非常快的原因。

说到编程语言的核心,具体来讲就是编程语言制定了一套规则,在这套规则下,每种编程语言都拥有固定的关键字(缩写单词)、使用格式(称为语法),以及精确的含义(称为语义)。当然,编程语言肯定没有你学习一门外语那么困难,这点你不必担心。

在学习Python这门编程语言之前,你可能也了解过其他编程语言,比如C,C++,Java等,就像我之前所说的,无论是什么语言,核心逻辑都是一样的,无非都是通过翻译器将这类语言翻译成可执行的机器语言。那么这套翻译器是如何设计的,它又是如何工作的,这一点我们下个章节会进行详细介绍。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:编程语言是什么 - Python技术站

(1)
上一篇 2022年10月25日 下午9:34
下一篇 2022年10月25日 下午8:08

相关文章

  • 解决python3 整数数组转bytes的效率问题

    解决Python3整数数组转bytes的效率问题可以采用两种方式,分别是原生bytes方法和NumPy库的方式。 原生bytes方法 基础方法 将整数数组转换成bytes。 使用Python内置函数bytes()可以将整数数组转换为bytes类型,示例如下: nums = [1, 2, 3, 4] bytes_data = bytes(nums) 这样就可以…

    python 2023年5月31日
    00
  • Python列表排序 list.sort方法和内置函数sorted用法

    以下是详细讲解“Python列表排序list.sort方法和内置函数sorted用法”的完整攻略。 在Python中,列表是一种常用的数据类型,可以来存储一组有序的数据。为了更好地处理列表数据,Python提供了两种排序方法:list.sort()方法和内置函数sorted。本文将介绍这两种方法的用法,并提供两个示例说明。 list.sort()方法 lis…

    python 2023年5月13日
    00
  • Python自动化办公之创建PPT文件

    一、创建PPT文件的工具 Python中的PPTX模块可以帮助我们创建和修改PPT文件。该模块已经成为Python中的常用工具之一。安装方法如下: pip install python-pptx 二、创建PPT文件流程 1.导入PPTX模块 from pptx import Presentation 2.创建PPT对象 prs = Presentation(…

    python 2023年6月5日
    00
  • python3的输入方式及多组输入方法

    Python3 中常见的输入方式有以下三种: 使用 input() 函数获取控制台输入的字符串: name = input("请输入你的名字:") print("你好," + name) 在上面的示例中,使用 input() 函数获取用户输入的姓名,并将其保存到变量 name 中。然后使用 print() 函数输出欢迎…

    python 2023年6月3日
    00
  • python中numpy数组与list相互转换实例方法

    Python中numpy数组与list相互转换实例方法 在Python中,列表(List)和numpy数组(Array)都是常用的数据类型,它们都可以用于存储多个元素。本文将详细讲解Python中numpy数组与list相互转换的实现方法,包括使用tolist()和array()函数两种方法。 将numpy数组转换为list 将numpy数组转换为list需…

    python 2023年5月12日
    00
  • 使用 python gdata 库的 ClientLogin 中的简单问题

    【问题标题】:Simple question in ClientLogin using python gdata library使用 python gdata 库的 ClientLogin 中的简单问题 【发布时间】:2023-04-07 09:58:01 【问题描述】: 我已将 ClientLogin 合并到我的 python 应用程序中以检索用户的联系人…

    Python开发 2023年4月8日
    00
  • 基于Python正则表达式提取搜索结果中的站点地址

    基于Python正则表达式提取搜索结果中的站点地址 在进行网络爬虫或搜索引擎优化时,经常需要从搜索结果中提取站点地址。本文将为您详细讲解基于Python正则表达式提取搜索结果的站点地址的完整攻略,包括正则表达式的语法、re模块的常方法和两个示例说明。 正则达式的语法 在正则达式中,使用[]表示字符集,^表示取反,-表示范围,+表示匹配一个或多个字符,*表示匹…

    python 2023年5月14日
    00
  • 使用PyQt5实现图片查看器的示例代码

    下面是使用PyQt5实现图片查看器的完整攻略: 1. 准备工作 在开始编写代码之前,需要安装PyQt5和Pillow模块。PyQt5是一个Python GUI库,它提供了丰富的UI控件和工具类,可以帮助我们快速构建界面;Pillow是一个Python Imaging Library,在这里它用于读取和处理图片文件。 你可以使用以下命令来安装这两个模块: pi…

    python 2023年5月18日
    00

评论列表(1条)

  • metahuber的头像
    Python技术站官方 2022年10月27日 下午8:46

    今天开始Python基础教程第一篇!新的出发,与君共勉!

合作推广
合作推广
分享本页
返回顶部