一.按编程的核心:面向过程 面向对象
二.按语言的功能特性:声明式 命令式
三.按翻译的方式:编译型 解释型
四.按编程语言的历史发展程度:机器语言 汇编语言 高级语言
五.脚本语言介绍
一.按编程的核心:面向过程 面向对象
面向过程:C语言
面向对象:JavaScript、C++、python、java
过程 是一个早期的编程概念,类似于函数,都是对一段功能独立的代码进行封装,但没有返回值。
函数 不仅能执行,还可以利用return关键字返回结果。
面向过程:强调怎么做(函数),把完成某一个需求的所有步骤从头到尾逐步实现,根据开发需求,将某些功能独立的代码封装成一个又一个函数,最后完成的代码,就是在一个主函数中顺序的调用不同的函数。面向过程的编程语言,注重步骤与过程,不注重职责分工,如果需求复杂,代码会变得很复杂,开发复杂项目,没有固定套路,难度大。
面向对象:强调谁来做(对象),相比函数,面向对象是更大的封装,根据职责在对象中封装多个方法。在完成某一个需求前,首先确定职责———要做的事(方法),根据职责确定不同的对象,在对象中封装不同的方法(多个),最后完成的代码就是顺序的让不同的对象调用不同的方法。面向过程的编程语言,不同对象担任不同职责,更加适合复杂项目开发,提供固定思路,需要在面向过程的基础上在学习一些面向对象的语法。
注:而且面向对象更加方便,eg:生命值这一个方法,不同的对象都可以调用
二.按语言的功能特性:声明式 命令式
①声明式语言:html 、css 、 sql、Vue、React
声明式编程:告诉”机器“你想要的是什么,让机器去想如何做这件事,而不关注具体该怎么实现。
就像告诉你朋友画一幅什么样的画,而不用管他怎么画出来的。
②命令式语言:JavaScript 、 java、 c#、JQuery
命令式编程:命令“机器”如何做这件事,按照你的命令一步一步实现,计算机会严格遵循你的指令,而不理会最后的结果是不是你所想要的。
可以简单的理解为,声明式的语言,告诉它需要放一个图片,它就会显示一个图片;而命令式的语言,会严格遵循代码所写逻辑,最后结果是不是自己想要的,需要看自己所写代码逻辑是否正确。
注:1.总体上,语言可以分为 声明式语言 和 命令式语言,在某一种语言中,可以分为 声明式编程方式 和 命令式编程方式。
2.声明式编程方式其实就是把一些功能封装成一个函数,用的时候直接调用该方法即可,或是直接利用第三方的函数实现某些功能。开发过程中,尽量使用声明式编程方式编程,把一些复用率高的功能抽象成一个个函数,使代码更加优雅。
三.按翻译的方式:编译型 解释型
按照翻译代码的方法可以分为 编译型语言 和 解释型语言,其实解释型语言不会转化成二进制语言
编译型语言 | 解释型语言 | |
---|---|---|
优点 | 速度快 | 跨平台 |
缺点 | 移植性不好(不跨平台) | 稍慢 |
eg | C 、 C++ | JavaScript、Python、PHP |
注:Java既不是编译型语言也不是解释型语言,.java文件通过javac(Java编译器)阅读编译成.class文件,在通过jvm虚拟机解释执行程序(Java程序要在JVM上解释运行)。因此Java语言需要编译,并且具有较好的跨平台性。
.java ----javac编辑器---- .class ----jvm虚拟机----
(1)编译型语言
通篇翻译,计算机阅读完一整篇代码一起翻译,生成文件,最后程序执行翻译出来的文件 (eg:C语言 .c文件 生成 .obj文件 然后生成 .exe文件 ,然后执行程序)
由于编译型语言快的特点,所以可以做 操作系统 、游戏引擎之类的程序
(2)解释型语言
计算机阅读一行代码,翻译一行代码,不生成文件,直接执行程序
大多数家用的操作系统都为Windows系统,但是大多数服务器都是Linux 、Unix,因为Linux 、Unix操作系统稳定
四.按编程语言的历史发展程度
-
机器语言:0和1,人类几乎没办法阅读、理解
-
汇编语言:由一些特定指令构成,学习成本比较高;在底层做一些驱动,体积小,运行效率高
-
高级语言:c、c++、java、php、python、javascript等
五.脚本语言介绍
脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。
脚本的用意是为了可再现的重复一个设定好的规程。
不管是哪种脚本,能实现的功能都差不多,只是每种脚本语言都有自己特定的语法
脚本语言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等编程语言之间,也是一种编程语言。JavaScript、Python都是脚本语言。
脚本语言一般都是以文本形式存在,类似于一种命令。
优点: 快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。 容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。