编程语言主要有四种类型
声明式编程:专注于”做什么”而不是”如何去做”。在更高层面写代码,更关心的是目标,而不是底层算法实现的过程。
ex: css, 正则表达式,sql 语句,html, xml…
命令式编程(过程式编程) : 专注于”如何去做”,这样不管”做什么”,都会按照你的命令去做。解决某一问题的具体算法实现。
函数式编程:把运算过程尽量写成一系列嵌套的函数调用。
函数式编程强调没有”副作用”,意味着函数要保持独立,所有功能就是返回一个新的值,没有其他行为,尤其是不得修改外部变量的值。
所谓”副作用”(side effect),指的是函数内部与外部互动(最典型的情况,就是修改全局变量的值),产生运算以外的其他结果。
‘贰’ "声明式编程开发" 什么意思
西方都是这样的,印度也如此。适合多人,多公司,款国家,来共同协作开发一软件。就是,先把要实现的目的声明一下。各方都无误,再进行。
‘叁’ java中什么是编程式声明式事务管理
编程式意思就是在方法里通过一些代码来实现一些事务的提交回滚等操作。
与之区别的是声明式事务,比如使用spring的注解structs的拦截器等实现的事务。
‘肆’ 为什么说react是声明式编程
React来自于Facebook,是的,就是那个你们听说过但是打不开的网站。Facebook的开发者当时在开发一个广告系统,因为对当前所有的MVC框架不满意,所以就自己写了一个UI框架,于是就有了React。后来因为觉得实在是好用,所以在2013年月份开源的此框架。经过这几年的沉淀,React越来越强大,也受到了越来越多的开发者喜爱。React目前(2015-05-04)的版本是0.14.0,从版本号上看还没有达到1.0版,意味着React还在频繁地修改,普遍应用于产品中还需要一定的时间。2015年三月份的F8开发者大会上,Facebook又发布了React Native,正式把React的触角伸向了APP。同时还为React native开发了一款基于Atom的IDE-Nuclide,也是开源。
React来势汹汹,大有一统江湖的气势。前端开发者应该保持学习新技术的热情,很有必要熟悉React相关技术。下面我们简要谈谈React相关的技术。
React的设计思想
熟悉一个新技术的关键是熟悉他的特色和理念
React框架本身和我们常用的JavaScript MVC框架,如:AngularJS,Backbone,Ember等,没有直接的可比性。在React的官方博客中明确阐述了React不是一个MVC框架,而是一个用于构建组件化UI的库,是一个前端界面开发工具。所以顶多算是MVC中的V(view)。React并没有重复造轮子,而是有很多颠覆性的创新,具体的特性如下:
编写简单直观的代码
在年初的React开发者大会上,React的项目经理Tom Occhino讲述了React的最大的价值,React最大的价值不是高性能的虚拟DOM、封装的事件机制、服务器端渲染,而是声明式的直观的编码方式。React号称能让新人第一天开始使用就能开发新功能。简单的编码方式会让新手能很快地上手,同时也降低了代码维护的成本。这一特性决定了React能快速引起开发者的兴趣并广泛传播的基础。以下是React基于这一理念的具体做法。
简化可复用的组件
React构建UI是使用组件化的方式,而不是常见的模板。组件并不是一个新概念,它是某个独立功能或者界面的封装,达到复用或者UI和业务松耦合的目的。
组件化的设计理念也出现了很多年了,我们常用的ExtJS、YUI、jQueryUI、BootStrap等等都会提供大量的可复用的UI组件。比如在Bootstrap中使用对话框组件:
‘伍’ 什么是申诉式编程语言
Declarative programming,声明式编程。
主要是跟Imperative programming,命令式编程区别的。
声明式语言的代码关注的是做什么,而不是怎么做。
比如sql语句。写的内容声明了从那些表取哪些数用什么排序、分组,而具体怎么取,取的过程是不用关心的。函数式编程语言就属于此类。
底层实现,c语言写的数据库,典型的命令式编程,这些细节的实现比如,先取哪个表,什么时候执行分组操作,是不是全部读到内存里等等,你的代码得告诉计算机整个具体的过程。
‘陆’ 什么是编程范式
编程范式Programming paradigm是指计算机中编程的典范模式或方法。
常见的编程范式有:函数式编程、程序编程、面向对象编程、指令式编程等。
不同的编程语言也会提倡不同的“编程范型”。一些语言是专门为某个特定的范型设计的,如Smalltalk和Java支持面向对象编程。而Haskell和Scheme则支持函数式编程。现代编程语言的发展趋势是支持多种范型,如 C#、Java 8+、Kotlin、 Scala、ES6+ 等等。
(6)声明式编程是什么扩展阅读
编程范式中函数式编程的优点及应用情况:
1、易于重构、调试、测试。
2、整体应用:数学计算、人工智能。
3、局部应用:已遍地开花。
‘柒’ 声明式事务与编程式事务的区别与联系
Spring的声明式事务通常是指在配置文件中对事务进行配置声明,其中包括了很多声明属性,具体可以参考《Spring高级编程》这本书,它是通过Spring Proxy帮你做代理,自己不用额外的写代码,只要在Spring配置文件中声明即可;通常用在数据库的操作里面;
编程式事务就是指通过硬编码的方式做事务处理,这种处理方式需要写代码,事务中的逻辑可以自己定制;可以是数据库的东东,也可以是其他的操作。。。
‘捌’ 关于强制式语言和声明式语言的区别
命令式编程(Imperative programming),即利用命令式语言进行编程的方式,是一种描述计算机所需作出的行为的编程范型。命令式编程语言使用变量和更复杂的语句,但仍依从相同的范型。食谱和行动清单,虽非计算机程序,但与命令式编程有相似的风格:每步都是指令,有形地控制世界情况。因为命令式编程的基础观念,不但概念上比较熟悉,而且较容易具体表现于硬件,所以大部分的编程语言都是指令式的。如上述的C,
C++, C# 和 Java。大部分的命令式高级编程语言都支持四种基本的语句:运算语句、循环语句、条件分支语句、无条件分支语句。
运算语句一般来说都表现了在存储器内的数据进行运算的行为,然后将结果存入存储器中以便日后使用。高级命令式编程语言更能处理复杂的表达式,可能会产生四则运算和函数计算的结合。其中循环、条件分支和无条件分支都是控制流程。
循环语句容许一些语句反复运行数次。循环可依据一个默认的数目来决定运行这些语句的次数;或反复运行它们,直至某些条件改变。
条件分支语句容许仅当某些条件成立时才运行某个区块。否则,这个区块中的语句会略去,然后按区块后的语句继续运行。
无条件分支语句容许运行顺序转移到程序的其他部分之中。包括跳跃(在很多语言中称为Goto)、副程序和Procere等。
早期的命令式编程语言都是计算机本身的机械语言。在这些语言中,指示非常简单,令硬件的运行更容易,却阻碍了复杂程序的设计。1954年开始开发的FORTRAN,是首个在复杂程序的设计中除掉机器码的编程语言。它是编译型的编程语言,容许命名变量、复杂的表达式、副程序和其他功能,这些功能现在在指令式语言中都非常普遍。后来的二十年中,可以看到大量的其他高级命令式编程语言出现。在1980年后,面向对象编程有迅速的发展;面向对象编程语言均有着指令式的风格,但增添了支持对象的功能。
声明式编程(Declarative programming),即利用声明式语言进行编程的方式,与命令式编程相对立。它描述目标性质,让计算机明白目标,而非流程。声明式编程不用告诉计算机问题领域,从而避免随之而来的副作用。而指令式编程则需要用算法来明确的指出每一步该怎么做。它通常被看做是形式逻辑的理论,把计算看做推导。声明式编程因大幅简化了并行计算的编写难度,自2009起备受关注。声明式语言包括数据库查询语言(SQL,XQuery),正则表达式,逻辑编程,函数式编程和组态管理系统。这种编程方式通过函数、推论规则或项重写(term-rewriting)规则,来描述变量之间的关系。它的语言运行器(编译器或解释器)采用了一个固定的算法,以从这些关系产生结果。目前,声明式编程语言通常用作解决人工智能和约束满足问题。
‘玖’ 什么是spring的编程式事务处理,声明式事务处理
spring支持编程式事务管理和声明式事务管理两种方式。
编程式事务使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。
声明式事务是建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。
显然声明式事务管理要优于编程式事务管理,这正是spring倡导的非侵入式的开发方式。声明式事务管理使业务代码不受污染,一个普通的POJO对象,只要加上注解就可以获得完全的事务支持。和编程式事务相比,声明式事务唯一不足地方是,它的最细粒度只能作用到方法级别,无法做到像编程式事务那样可以作用到代码块级别。但是即便有这样的需求,也存在很多变通的方法,比如,可以将需要进行事务管理的代码块独立为方法等等。
声明式事务管理也有两种常用的方式,一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解。显然基于注解的方式更简单易用,更清爽
‘拾’ c语言的编程范式是命令式还是声明式
C语言编程,顾名思义,就是用C语言来进行计算机编程工作。C语言是国际上广泛流行的,很有发展前途的计算机高级语言.它适合作为系统描述语言,即可用来编写系统软件,也可用来编写应用软件.