当前位置:网站首页>编程语言是什么
编程语言是什么
2022-07-31 22:38:00 【JIeJaitt】
其实,程序指的就是一系列指令,用来告诉计算机做什么,而编写程序的关键在于,我们需要用计算机可以理解的语言来提供这些指令。
虽然借助 Siri(Apple)、Google Now(Android、Cortana(Microsoft)等技术,我们可以使用汉语直接告诉计算机做什么,比如“Siri,打开酷狗音乐”,但使用过这些系统的读者都知道,它尚未完全成熟,再加上我们语言充满了模糊和不精确因素,使得设计一个完全理解人类语言的计算机程序,仍然是一个有待解决的问题。
为了有效避开所有影响给计算机传递指令的因素,计算机科学家设计了一些符号,这些符号各有其含义,且之间无二义性,通常称它们为编程语言。编程语言中的每个结构,都有固定的使用格式(称为语法)以及精确的含义(称为语义)。换句话说,编程语言指定了成套的规则,用来编写计算机可以理解的指令。习惯上,我们将这一条条指令称为计算机代码,而用编程语言来编写算法的过程称为编码。
本教程要讲解的 Python就是一种编程语言,除此之外,你肯定也听说过其他一些编程语言,如 C、C++、Java、Ruby 等。至今,计算机科学家已经开发了成百上千种编程语言,且随着时间演变,这些编程语言又产生了多个不同的版本。但无论是哪个编程语言,也无论有多少个版本,虽然它们在细节上可能有所不同,无疑它们都有着固定的、无二义性的语法和语义。
以上提到的编程语言,都是高级计算机语言,设计它们的目的是为了方便程序员理解和使用。但严格来说,计算机硬件只能理解一种非常低级的编程语言,称为机器语言。
比如说,让计算机对 2 个数做求和操作,那么 CPU 可能要执行以下指令:
- 将位于内存空间位置在 2001 的数加载到 CPU 中;
- 再将位于内存空间位置在 2002 的数也加载到 CPU中;
- 在 CPU中,对这 2 个数做求和操作;
- 将结果存储在位置为 2003 的内存空间。
可以看到,对 2 个数执行求和操作需要做这么多工作,且这还只是笼统地描述,实际会更加复杂。
而使用 Python 这样的高级语言,对 2 个数求和可以很自然地用 c = a + b 表示,但由此带来的问题是,我们需要设计一种方法,将高级语言翻译成计算机可以执行的机器语言,有两种方法可以实现,分别是使用编译器和解释器。
使用编译器将自身等效转换成机器语言的高级语言,通常称为编译型语言;而使用解释器将自身转换成机器语言的高级语言,称为解释型语言,Python 就是解释型编程语言的一种。
关于编译型语言和解释型语言的含义和区别,有机会会进行详细介绍。
边栏推荐
- GateWay implements load balancing
- HTC using official firmware as bottom bag made ROM brush card bag tutorial
- 网易云信圈组上线实时互动频道,「破冰」弱关系社交
- Shell常用脚本:Nexus批量上传本地仓库脚本
- Structure of the actual combat battalion module eight operations
- Commonly used security penetration testing tools (penetration testing tools)
- Network security - crack WiFi through handshake packets (detailed tutorial)
- What is customer profile management?
- IDA PRO中汇编结构体识别
- Quick Start Tutorial for flyway
猜你喜欢

Unity - by casting and cloning method dynamic control under various UGUI create and display

Document management and tools in the development process

C程序设计-方法与实践(清华大学出版社)习题解析

Unity - LineRenderer show a line

20. Support vector machine - knowledge of mathematical principles

Drawing process of hand-drawn map of scenic spots

如何减少软件设计和实现之间鸿沟

The article you worked so hard to write may not be your original

日常--Kali开启SSH(详细教程)

VOT2021比赛简介
随机推荐
支付模块实现
LeetCode 第 304 场周赛
Chapter VII
Binary tree non-recursive traversal
Payment module implementation
Components of TypeScript
JS basic exercises
Several methods of mysql backup table
SQL注入 Less42(POST型堆叠注入)
Program processes and threads (concurrency and parallelism of threads) and basic creation and use of threads
Bionic caterpillar robot source code
How to identify fake reptiles?
Drawing process of hand-drawn map of scenic spots
The article you worked so hard to write may not be your original
二叉树非递归遍历
基于RT1052 Aworks nanopb string 类型固定长度使用方式(二十七)
hboot与recovery、boot.img、system.img
SQL injection Less47 (error injection) and Less49 (time blind injection)
cas and spin locks (is lightweight locks spin locks)
Learn about C# anonymous methods