编程语言是什么

news/2024/11/28 20:47:45/

世界上存在许多种语言,包括汉语、英语、日语、俄语等等,每种语言都有固定的格式,比如汉语(中国话),每个汉字代表着不同的意思,我们必须正确的表达,才能让对方理解。例如让父母给你10元零花钱,你会说“爸爸给我10元钱,我要买零食”,如果说“10元爸爸给钱我零食买我要”,父母就会觉得很奇怪,听不懂我们的意思,甚至引来他们的责备。
通过有固定格式和固定词汇的“语言”来与父母沟通,让父母满足你的心愿,从而达到“控制”父母的目的,这就是语言的作用。同样,我们也可以通过“语言”来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。
和人类的语言一样,编程语言也有很多种,据不完全统计,全世界大概有 600 多种编程语言,其中比较流行的语言有 20 多种,比如 C语言、C++、Java、Python、PHP、C#、JavaScript 等,这些语言各有千秋,都有自己擅长的方面:

编程语言
编程语言主要用途
C/C++C++ 是在C语言的基础上发展起来的,C++ 包含了C语言的所有内容,C语言是C++的一个部分,它们往往混合在一起使用,所以统称为 C/C++。C/C++主要用于 PC软件开发、Linux 开发、游戏开发、单片机和嵌入式系统。
PythonPython 主要用于自动化运维、网站开发、数据分析、人工智能、云计算等技术领域,近年来势头强劲,备受开发者青睐。
Java

​Java 可以用于网站后台开发、Android 开发、PC软件开发,近年来又涉足了大数据领域(这主要归功于 Hadoop 框架的流行)。

PHPPHP 主要用来开发网站后台程序。
C#C# 的实现机制和 Java 类似,目前主要用于 Windows 平台的软件开发,以及少量的网站后台开发。
JavaScriptJavaScript 最初只能用于网站前端开发,是前端开发的唯一语言。近年来由于 Node.js 的流行,JavaScript 在网站后台开发中也占有了一席之地,并且在迅速增长。


可以将不同的编程语言比喻成各国语言,为了表达同一个意思,可能使用不同的语句。例如,表达“世界你好”:

  • 汉语:世界你好
  • 英语:Hello World
  • 日语:世界こんにちは


对于编程语言来说,执行同一个操作,也需要使用不同的语句。举个简单的例子,在屏幕上显示 "Hello,C语言中文网":

  • C语言:printf("Hello,C语言中文网");
  • PHP:echo "Hello,C语言中文网";
  • Python:print("Hello,C语言中文网")


通过例子可以看出,编程语言和人类语言类似,都由直观的词汇组成,我们很容易理解它的意思。比如在 Python 中,我们使用print()让计算机在屏幕上显示文字,print 英文原意为打印、输出的意思,我们能够轻易地理解它;同时,我们还要注意语句格式,把待显示的内容Hello, C语言中文网加上英文状态的引号""放在括号内,这是 Python 语言规定的格式,我们必须这样写。

每一种编程语言都有固定的词汇和格式,学习一门编程语言,本质上就是学习如何使用这些词汇和格式。
 

总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。习惯上,我们将这一条条指令称为代码,这些代码共同组成一个计算机程序,而用编程语言来编写程序的过程称为编码


【表1】中提到的编程语言,都是高级计算机语言,设计它们的目的是为了方便程序员理解和使用。但严格意义上来说,计算机只能理解一种非常低级的编程语言,也就是机器语言

举个简单的例子,计算 2 个数的和,机器语言需要控制计算机依次完成以下操作:

  • 将位于内存空间位置在 0x0001 的数加载到 CPU 中;
  • 再把位于内存空间位置在 0x0010 的数也加载到 CPU中;
  • 在 CPU 中,对这 2 个数做求和操作;
  • 将结果存储在位置为 0x0011 的内存空间。

​CPU(Central Processing Unit,简称 CPU) 即中央处理器,是计算机的运算和控制核心,相当于计算机的大脑,所有的机器指令都是由 CPU 负责执行的。

可以看到,对 2 个数执行求和操作需要做这么多工作,这还只是笼统地描述,实际上会更加复杂。而使用 Python 这样的高级语言,对 2 个数求和可以直接用 a + b  的形式表示。下面使用 Python 进行演示:

>>> 2+3
5

这种方式虽然轻便快捷,但同时也带来了问题,我们需要设计一种方法,将高级语言翻译成计算机可以执行的机器语言。目前,有两种方法可以实现,分别是编译器和解释器。

使用编译器将自身转换成机器语言的高级语言,通常称为编译型语言;而使用解释器将自身转换成机器语言的高级语言,称为解释型语言,Python 就是一种解释型编程语言。


http://www.ppmy.cn/news/105010.html

相关文章

Socket(五)

文章目录 1. 日志2. 如何记录日志 1. 日志 服务器要在无人看管的情况下运行很长时间,通常需要在很久以后对服务器中发生的情况进行调试,这很重要。由于这个原因,建议在存储服务器日志,至少要存储一段时间的日志。日志中通常希望记…

mybatis中的一些使用

#{}与${}的区别 Delete("delete from emp where id #{id}") //生成预编译SQL语句,效率更高,将#{id}替换为“?”,也更安全,防止SQL注入,#不能出现在中,因此不能用于模糊查询 Delete(…

代码随想录算法训练营第五十六天 | 编辑距离2

583. 两个字符串的删除操作 文档讲解:代码随想录 (programmercarl.com) 视频讲解:动态规划之子序列,还是为了编辑距离做铺垫 | LeetCode:583.两个字符串的删除操作_哔哩哔哩_bilibili 状态:不会做。 思路 动态规划一 …

简单认识OSI(计算机网络分层)七层模型

前言 学校上课讲的太笼统啥也不是,自己学的太玄学似懂非懂突然在看到了一篇公众文文章。文章从初始到现在,步步为营的遇到一个解决一个前人的问题,有了细致入微的讲述,把之前学的死东西都连起来了。 如果让你来设计网络https://m…

java.awt.datatransfer.Clipboard剪切板获取String字符串文本

java.awt.datatransfer.Clipboard剪切板获取String字符串文本 有两种方法获取 直接从Clipboard获得 (String) systemClipboard.getData(DataFlavor.stringFlavor);从Clipboard获得Transable再获得String (String) systemClipboard.getContents(null).getTransferData(DataFlav…

效率至少提升数倍的office技巧

在现代办公室,WPS Office已成为无可替代的工具之一。然而,许多办公室员工却未能充分发掘WPS Office的强大功能和技巧。在快节奏的工作环境中,掌握一些WPS Office的技巧,将帮助员工们提高工作效率、改善文件处理和团队协作能力。下…

SpringCloudAlibaba下篇(GateWay,Skywalking)(超级无敌认真好用,万字收藏篇!!!!)

文章目录 SpringCloudAlibaba下篇(GateWay,Skywalking)1 GateWay1.1 什么是网关1.2 GateWay介绍1.3 GataWay的基本使用1.4 GataWay整合Nacos1.5 断言路由工厂1.5.1 内置断言路由工厂1.5.2 自定义断言路由工厂 1.6 过滤器工厂1.6.1 内置局部过滤器工厂1.6.2 自定义局部过滤器1.6…