大家好,我是metahuber,数字宇宙探索者。

本系列教程是Python的入门教程,本篇文章是此教程的第一篇,希望大家多多关注。

学习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等,就像我之前所说的,无论是什么语言,核心逻辑都是一样的,无非都是通过翻译器将这类语言翻译成可执行的机器语言。那么这套翻译器是如何设计的,它又是如何工作的,这一点我们下个章节会进行详细介绍。

原文链接:http://pythonjishu.com/whats-python/

发表回复