技术标签: 面向过程 面向对象 声明式 命令式 编译型 解释型 分类
过程 是一个早期的编程概念,类似于函数,都是对一段功能独立的代码进行封装,但没有返回值。
函数 不仅能执行,还可以利用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都是脚本语言。
脚本语言一般都是以文本形式存在,类似于一种命令。
优点: 快速开发:脚本语言极大地简化了“开发、部署、测试和调试”的周期过程。 容易部署:大多数脚本语言都能够随时部署,而不需要耗时的编译/打包过程。
文章浏览阅读3.5k次,点赞3次,收藏10次。官网(英文):https://iclient.supermap.io/examples/leaflet/examples.html#iServer。高德官网的名词解释:https://lbs.amap.com/api/javascript-api/guide/abc/components。项目地址 gitee:https://gitee.com/philippines-kisses-snow/leaflet-map。(1)直接添加,官网当中是直接建立一个标记,并添加到地图(不推荐,不好管理)_leaflet中文文档
文章浏览阅读611次。VS2019无法新建网站,怎么办?_visual studio无法新建空白网站
文章浏览阅读3k次,点赞6次,收藏43次。本文介绍如何在 Ubuntu 20.04 安装 ROS Noetic 软件包,并进行简单的测试。安装步骤1、配置 Ubuntu 软件仓库配置 Ubuntu 软件仓库支持 “restricted” “universe” 和 “multiverse” 来源,最简单的方法是在「软件和更新」配置窗口进行勾选,如下图所示。扩展阅读:Ubuntu 软件源、Ubuntu Repositories2、设置 sources.list执行下面命令,设置从官方源(packages.ros.org)下载 ROS 软件_ubuntu系统安装ros noetic包
文章浏览阅读8.5k次。异常信息:Error:too many padding sections on bottom border.原因:使用andoridstudio制作.9图错误。 解决只怪我把线画多了。修改后的.9图片 这样问题就解决了..._too many padding sections on bottom border
文章浏览阅读554次,点赞10次,收藏10次。NoSQL:(不支持sql语句)RedisMongoDBkey-value数据库(非关系性数据库)
文章浏览阅读189次。快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。快速排序又是一种分而治之思想在排序算法上的典型应用。_蓝桥杯快速排序蓝桥杯java
文章浏览阅读4.3k次,点赞6次,收藏11次。问题描述笔者用Pyinstaller打包成exe文件,在其他电脑端运行时出现如下问题ImportError: C extension: No module named 'pandas._libs.tslibs.base' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --force' to build the C exten_importerror: c extension: none not built. if you want to import pandas from
文章浏览阅读345次。temp = tf.range(0,10)*10 + tf.constant(1,shape=[10])temp2 = tf.gather(temp,[1,5,9])with tf.Session() as sess: print (sess.run(temp)) print (sess.run(temp2))输出结果[ 1 11 21 31 41 51 61 ..._tf add_n concat
文章浏览阅读177次。插入大量数据到MySQL数据库可以使用以下步骤:准备数据:你需要一个数据文件,包含需要插入的所有数据。每行都是一条记录,字段之间使用适当的分隔符分开。创建数据库:如果没有相应的数据库,请先创建一个。创建表:创建一个表来存储数据。导入数据:使用MySQL的"LOAD DATA INFILE"命令导入数据。该命令可以从文件中快速加载大量数据到MySQL表中。以下是使用bash脚本..._linux sql插入大量数据
文章浏览阅读316次,点赞5次,收藏4次。总之,通过腾讯云免费SSL证书申请教程,您可以轻松为自己的域名获取免费SSL证书,并实现HTTPS的安全配置。同时,结合腾讯云的服务器购买优惠政策,您还可以以更经济的成本搭建起安全、高效的网站环境。腾讯云将为您的域名生成免费的SSL证书,并通过您提供的邮箱发送相关通知。这样,您就成功获取了免费的SSL证书,为您的网站加上了一把安全锁。那么,如何在腾讯云上为自己的域名免费获取SSL证书,并实现HTTPS的安全配置呢?此外,如果您在配置SSL证书的过程中需要购买服务器,不妨关注腾讯云的促销活动。_腾讯 域名证书
文章浏览阅读146次。R语言ggplot2包绘制双坐标轴图(双Y轴图)实战:两个Y轴分别使用不同的刻度范围_ggplot双侧轴,两侧轴起始高度不一样,数值刻度也不一样
文章浏览阅读7.2k次。图像处理中均值和方差计算优化一、均值和方差的普通优化图像处理中,有时候会需要计算图像某区域的均值和方差。在我之前的博客中《图像比较之模板匹配》,对计算方差有做简化计算的介绍。详细介绍可以参考我之前的博文。在此,我简单的介绍下计算方差的简化方法:按照上述方式计算均值和方差,很多应用场景下都比较合适。但是有两个缺陷:如果均值远大于标准差,意味着方差计算中相减的两个数非常接近,将引入过度舍入的问题; 对于新增加一个统计变量重新计算其均值和方差的时候,需要对所有统计变量再重新计算,做了大量的重_图像方差