简述程序设计语言的分类,编程语言概述

  简述程序设计语言的分类,编程语言概述

  什么是编程?为什么编程?编程是个动词,编程==写代码,写代码为了什么?为了让电脑做你想做的事情,比如dddm想和别人聊天,所以写了一个聊天软件,这个软件是代码的集合。这些代码是什么?这些代码是计算机能理解的语言。

  计算能理解的语言是什么?之前,我们已经了解到它只能理解二进制,0101010.而且你也不能只给计算机输入一堆二进制(虽然最原始的计算机就是这么做的)。让它发挥作用,所以开发速度太慢。所以最好的办法是人输入简单的指令,计算机可以把指令转换成二进制来执行。例如,如下所示:

  如果程序员想让计算机播放一首歌,他只需要输入指令,

  打开 old boys.mp3 play电脑的cpu接收到这样一个指令,会把它变成一堆只有CPU才能理解的指令,然后把指令变成如下各种对应的二进制

  [OP RS RT Address/Immediate]35 3 8 68十进制100011 00011 01000 0000 00001 000100二进制cpu最后调用你硬盘上的这首歌,通过扬声器播放出来。

  上面的cpu指令太难理解了。如果让你天天写这样的代码,大家都得自杀。幸运的是,伟大的计算机先驱们开发出了各种编程语言,让我们可以通过编写一些简单的规则来操作计算机。

  有哪些编程语言?编程语言一般分为机器语言、汇编语言和高级语言,如下

  

机器语言

  因为计算机内部只能接受二进制代码,所以用二进制代码0和1描述的指令称为机器指令。所有机器指令的集合构成了计算机的机器语言,用机器语言编写的程序称为目标程序。只有目标程序可以被计算机直接识别和执行。而机器语言编写的程序没有明显的特点,难记,读写不方便,依赖于具体的型号,有很大的局限性。机器语言是一种低级语言。

  要用机器语言编写程序,程序员首先应该记住所有的指令代码和所用计算机代码的含义。手工编写程序时,程序员要自己处理每条指令和数据的存储、分配、输入和输出,还要记住编程过程中每一步所使用的工作单元的状态。这是一项非常乏味的工作。写程序花费的时间往往是实际运行时间的几十倍甚至上百倍。而且编译出来的程序都是0和1指令代码,不直观,容易出错。

除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。

  微处理器理解并使用这种语言,它是用来控制其操作的二进制代码。

  虽然机器语言看起来很复杂,但它是有规律的。

  机器语言指令多达10万条。这意味着我们不能列出所有这些类别。

  以下是一些例子:

  说明部分的示例

  000代表负载。

  001代表商店。

  .

  寄存器部分的例子

  000代表寄存器a。

  001代表寄存器b。

  .

  存储器部分的例子

  000000000000代表地址为0的内存。

  000000000001代表地址为1的内存。

  00000010000代表地址为16的内存。

  100000000000代表地址为2 ^ 11的内存。

  集成示例

  000,0000,0000010000代表负载A,16

  000,0001,0000000001代表负载B,1

  001,0001,00000010000代表商店B,16

  001,0001,0000000001代表商店B,1[1]

  

汇编语言

  汇编语言的本质和机器语言一样,直接在硬件上操作,只是指令采用了英文缩写标识符,更容易识别和记忆。还需要程序员把每一步的具体操作以命令的形式写出来。汇编程序的每一条指令在实际操作过程中只能对应一个非常细微的动作。比如移动性和自增性,所以汇编源程序一般冗长、复杂且容易出错,用汇编语言编程需要更多的计算机专业知识。但汇编语言的优势是显而易见的,汇编语言能完成的操作,一般高级语言是实现不了的,源程序汇编生成的可执行文件不仅相对较小,而且执行速度也很快。

  汇编hello world,打印一个hello world,需要写十几行,还要醉。

  ;hello.asm部分。数据;段声明消息db“你好,世界!”,0xA要输出的字符串len equ $-msg;字符串部分的长度。文本;代码声明global _ start指定入口function _ start:屏幕上显示一个字符串mov edx,len参数3:字符串长度mov ecx,msg参数2:要显示的字符串mov ebx,1;参数1:文件描述符(stdout) mov eax,4;系统调用号(sys _ write)int0x 80;调用内核函数;退出程序mov ebx,0;参数1:退出代码mov eax,1;系统调用号(sys _ exit)int0x 80;调用内核函数

高级语言

  高级语言是大多数程序员的选择。与汇编语言相比,它不仅将许多相关的机器指令合成为一条指令,而且去掉了与具体操作有关但与完成工作无关的细节,如使用堆栈和寄存器,从而大大简化了程序中的指令。同时由于省略了很多细节,程序员不需要太多的专业知识。

  高级语言主要是相对于汇编语言而言的。它不是指一种特定的语言,而是包括许多编程语言。PASCAL,最简单的编程语言,也是一种高级语言。

  

高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行

,根据转换方式可以分为两类:

  

编译类

:编译是指在应用源程序执行之前,将程序源代码“翻译”成目标代码(机器语言),这样它的目标程序就可以脱离其语言环境独立执行(编译后的可执行文件由cpu可以理解的二进制机器码组成),使用起来方便高效。但是一旦应用程序需要修改,必须先修改源代码,然后重新编译生成新的目标文件(*。obj,即obj文件)才能执行。只修改目标文件而不修改源代码是不方便的。

  

编译后程序运行时不需要重新翻译,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些

。如C,C,Delphi等。

  

解释类

:执行方式类似于我们日常生活中的“同传”。应用程序的源代码在被执行的同时,被相应语言的解释器翻译成目标代码(机器语言)。所以效率比较低,无法生成可以独立执行的可执行文件。应用离不开它的解释器(要想运行,必须先安装解释器,就像和外国人说话一样,必须有解释器在场)如Python、Java、PHP、Ruby等语言。

  

总结

机器语言

  优点是层次最低,速度最快,缺点是最复杂,开发效率最低。

  

汇编语言

  优点是水平比较低,速度最快,缺点是复杂,开发效率最低。

  

高级语言

  编译语言速度快,独立于语言环境,跨平台性差。

  解释器是跨平台的,一段代码到处用,缺点是执行慢,依赖解释器运行。

  主流编程语言介绍(10分钟)世界上有600多种编程语言,但真正在主流中使用的最多也就二三十种。不同的语言有各自的特点和专业领域。随着计算机的不断发展,新的语言不断诞生,与此同时,很多旧的语言也慢慢变得没有用了。有一个权威的语言排名网站,在那里可以看到主流的编程语言有哪些。

  * 2019年2月的数据(https://www.tiobe.com/tiobe-index/)

  以下是一些主流编程语言:

  

C语言:

  c语言是一种计算机编程语言,兼具高级语言和汇编语言的特点。它是由美国贝尔研究所的D.M .里奇于1972年发起的。1978年以后,C语言已经移植到大、中、小、微型计算机上。它可以作为工作系统设计语言来编写系统应用程序,也可以作为应用程序设计语言来编写不依赖于计算机硬件的应用程序。它具有广泛的应用和强大的数据处理能力,不仅在软件开发中,而且在各种科学研究中。它适用于编写系统软件、3D、2D图形和动画,以及MCU和嵌入式系统开发等特定应用程序。

  

C++:

  它是C语言继承的扩展。它既可以进行C语言的过程化编程,也可以进行以抽象数据类型为特征的面向对象编程,还可以进行以继承和多态为特征的面向对象编程。C虽然擅长面向对象编程,但也可以进行基于过程的编程。所以就C适应的问题规模而言,大小取决于它。

  c不仅具有高效计算机运算的实用特性,还致力于提高大型程序的编程质量和编程语言的问题描述能力。

  

JAVA:

  Java是一种面向对象的编程语言,可以编写跨平台的应用软件。它是Sun Microsystems于1995年5月推出的Java编程语言和Java平台(即JavaSE、JavaEE、JavaME)的总称。Java技术具有优秀的通用性、高效性、平台可移植性和安全性。它广泛应用于个人电脑、数据中心、游戏机、科学超级计算机、手机和互联网,拥有世界上最大的专业开发人员社区。在全球云计算和移动互联网的产业环境下,Java优势明显,前景广阔。

  

PHP:

  PHP (mbth: PHP:超文本预处理器,中文名:“超文本预处理器”)是一种通用的开源脚本语言。语法吸收了C语言、Java、Perl的特点,有利于学习,应用广泛,主要适用于Web开发领域。

  

Ruby:

  Ruby是开源的,可以在网上免费获得,但是需要许可证。[4]

  Ruby是一种通用的解释性编程语言。

  Ruby是真正的面向对象编程语言。

  Ruby是一种类似于Python和Perl的服务器端脚本语言。

  Ruby可以用来写CGI脚本。

  Ruby可以嵌入超文本标记语言(HTML)中。

  Ruby有一个简单的语法,这使得新开发人员能够快速而容易地学习Ruby。

  

GO:

  Go是一种开源的编程语言,可以很容易地构造简单、可靠、高效的软件。

  围棋是罗伯特格里斯默、罗布派克、肯汤普森在2007年底开发的,后来又加入了伊恩兰斯泰勒、拉斯考克斯等人。终于在2009年11月开源,2012年初发布了Go 1的稳定版。现在围棋的发展是完全开放的,有活跃的社区。

  擅长并发编程。

  

Python:

  Python是一门优秀的综合性语言,它的宗旨是简洁和优雅。

  ,功能强大,广泛应用于人工智能、云计算、金融分析、大数据开发、WEB开发、自动化运维、测试等方向。它已经成为世界上第四大流行语言。

简述程序设计语言的分类,编程语言概述