编程语言分类_声明式编程语言有哪些_倫磊。的博客-程序员秘密

技术标签: 面向过程 面向对象  声明式 命令式  编译型 解释型  分类  

一.按编程的核心:面向过程 面向对象

二.按语言的功能特性:声明式 命令式

三.按翻译的方式:编译型 解释型

四.按编程语言的历史发展程度:机器语言  汇编语言  高级语言

五.脚本语言介绍


一.按编程的核心:面向过程 面向对象

面向过程: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都是脚本语言。

脚本语言一般都是以文本形式存在,类似于一种命令。

优点: 快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。 容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_60939507/article/details/125228534

智能推荐

使用arm-eabi-addr2line工具跟踪Android调用堆栈_qclzyr的博客-程序员秘密

使用arm-eabi-addr2line工具跟踪Android调用堆栈作者:liangshengyang转自:http://www.linuxidc.com/Linux/2011-01/31803.htm在通常的C/C++代码中,可以通过响应对内存操作不当引起的Segmentation Fault错误即信号SIGSEGV(11)做出响应处理。只要在程序中设置SIGSEGV的hand

得到ARX程序当前的路径_获取arx的启动目录_fly_902的博客-程序员秘密

BOOL Commonlib::GetArxPath(CString &path){ CString ArxPath; ACHAR modulePath[512];//取应用程序路径 //CString FileName = acedGetAppName(); //功能与下个函数重复 DWORD pathLength = GetModuleFileName(_hdllInstance, modulePath, 512); if (pathLength) { ArxPath

rail_deviceid_使用Hill&Rail Fence算法进行加密和解密_weixin_26722031的博客-程序员秘密

ioi 2014 railSo many things in the world would have never come into existence if there hadn’t been a problem that needed solving. This truth applies to everything, but boy, is it obvious in the world ...

crontab每秒执行一次脚本_crontab 每秒钟执行一次_615276762的博客-程序员秘密

crontab的最小时间时间是一分钟,那么,如果想要更快的话,可以通过调用shell脚本,然后脚本中循环执行即可,代码如下crontab中,每分钟调用一次sheel*/1 * * * * bash /data/www/test.shtest.sh脚本如下#!/bin/bash#循环29次for((i=1; i  do      /data/www

二级c语言 办公软件高级应用,高级应用题库_计算机国二office高级应用考试的题目是从题库20套里抽其中一套还是别的题目_淘题吧..._抑郁了该怎么办的博客-程序员秘密

A. 求浙江计算机二级办公室软件高级应用试题库(历年真题)最好 及其步骤系统. [email protected]邮件已发B. 求浙江计算机二级办公软件高级应用题库习题复习资料!!!网络文库里搜索你想要找的文档就可以,一般都可以找到。C. 大学里办公软件高级应用与案例精选选择题题库WPS Office考试内容 一、基础知识 1、计算机的概念、类型及其应用领域;计算机系统的配置及主要技术指标。 2、...

c语言createfile函数,c ++ CreateFile函数错误[关闭](c++ CreateFile function error [closed])_山羊也爱吃草莓的博客-程序员秘密

c ++ CreateFile函数错误[关闭](c++ CreateFile function error [closed])我想使用函数CreateFile来创建一个文件,但有些东西是错的,我不知道是什么。 GetLastError()给出错误87,这是参数不正确,但我找不到哪一个。码:HANDLE Create;Create = CreateFile("D:\Test.txt",GENERIC...

随便推点

方法-----总(三)_mqingo的博客-程序员秘密

1:for循环的格式?  用for循环完成如下案例     求和    for (int i =1;i<=10;i++)         sum+=i;   求偶数和  for (int i =2;i<=10;i+=2)         sum+=i   求奇数和for (int i =1;i<=10;i+=2)         s...

ASCII转字符串_Junth_Zheng的博客-程序员秘密

ASCIIpublic void OnClick(string me){byte[] data = Encoding.ASCII.GetBytes(me);string result = string.Empty;for (int i = 0; i < data.Length; i++){result += Convert.ToString(data[i], 16);}by...

无线局域网_无线局域网的工作频段_zh13487的博客-程序员秘密

一、无线局域网概述1、WLAN在距离有限区域内实现无线通信,通常指采用无线传输介质的计算机局域网2、优点:移动性、灵活性、可伸缩性、经济性局限:可靠性、带宽与系统容量、兼容性与共存性、覆盖范围、干扰、安全性、移动性二、无线局域网的组成与服务1、组成(1)站(主机或者终端):包括终端用户设备、无线网络接口、网络软件(2)无线介质:(3)无线接入点(AP):无线网络核心(4)分布式系...

虚拟机中无法显示摄像头驱动问题_虚拟机摄像头驱动程序错误_lotusagile的博客-程序员秘密

现象:1、dev目录下木有video2、lsusb命令看不到摄像头驱动信息 解决方法:在vmware 工具栏中依次选择vm->Removable Devices->设备名->connect

SSM简易整合_红烧排骨面的博客-程序员秘密

SSM整合新建数据库:程序员90%的操作是增删改查,只是花样不同【固定配置直接拷贝即可】依赖:junit,数据库驱动,连接池,servlet等静态资源导出:导入一些properties,xml文件连接数据库建包:pojo,dao,service,controller实体类:dao下的mapper:对应的xml文件:一个xml对应一个接口,声明namespace写...

Cesium 上手不完全指北_akashi_sai的博客-程序员秘密

Cesium 上手不完全指北将最近学习的 CesiumJS 做一个系统梳理,从项目配置开始,记录常用 API 的使用。环境搭建与安装首先,什么是 Cesium,Cesium 是一款开源的基于 JavaScript 的 3D 地图框架,即地图可视化框架。产品基于 WebGL 技术,可以使用 CesiumJS 创建虚拟场景的 3D 地理信息平台。其目标是用于创建以基于 Web 的地图动态数据可视化。在提升平台的性能、准确率、虚拟化能力、易用性方面提供各种支持。更多介绍和信息可通过官网进行学习。注册

推荐文章

热门文章

相关标签