ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

编程范式总结

2021-06-19 23:04:19  阅读:222  来源: 互联网

标签:总结 范式 函数 编程 C++ 面向 泛型


1.什么是编程范式,编程范式都有哪些?

编程范式是一种方法论,用来指导你编写代码过程中的思路、规则、习惯和定式。是编码过程中一种纲领,起着引领的作用。编程范式和编程语言不同,有的范式只有少部分语言支持,有的范式很多语言都支持。有的语言只支持一种编程范式,有的语言支持多种范式。比如C++支持函数式编程,也支持面向对象编程、泛型编程。

常用的编程范式有:1.函数式编程2.面向过程编程3.面向对象编程4.泛型编程

2.编程范式的优缺点及支持的语言?

函数式编程是通过数学函数表达式的方式来避免状态和可变的数据,将一定的业务逻辑封装成函数,提高了代码的复用效率。程序通过一系列的函数调用完成对应的业务逻辑。函数式编程,业务逻辑清晰,函数复用比较好,但是由于函数本身不具有状态,对于一些比较复杂的需要记录状态的程序比较吃力。现在支持的函数式编程的语言有C/C++,Python,Lisp,Ruby等等

面向过程是C/C++里面最基本的编程范式了。编程的过程中是把业务拆解成一个个过程,然后按照流程去执行。常用的流程包括:变量声明、表达式、分支、循环、跳转。面向过程更倾向于关注业务流程怎么做,而不是做什么。主要分为两部分一部分解决数据和算法,一部分解决逻辑和控制。面向过程的编程范式,对于简单的算法和一些嵌入式系统中的控制逻辑应付起来得心应手,但对于现代社会中一些复杂的业务逻辑,比如互联网通信、网络业务等就明显无法应对。现在支持面向过程编程范式的语言有:C/C++、Java、Python、Ruby

面向对象编程是最近这几十年最流行的编程范式了,核心是想是"封装、继承、多态"。面向对象编程提倡把业务拆分成一个个对应的主体,每个主体实现高内聚低耦合。这些对象通过相互通信调用协作来完成对应的任务。面向对象范式在处理一些复杂的业务逻辑的时候会应对的游刃有余,但是在处理一些简单的业务逻辑的时候就会显得很蹩脚,过重。现在主流的编程语言大多都支持面向对象编程,包括C++、Java、Python、JS等。

泛型编程是STL纳入C++之后才出现的编程范式,通过引入模版template,将类型擦除。在STL标准库里有很多支持泛型的容器和算法,比如vector,list,map等。泛型编程很强大,但在日常开发过程中应用的比较少,使用起来比较复杂,目前我只在C++语言里面使用过泛型编程。

3.我应该采用哪种编程范式?

我们写代码的根本出发点,还是写出让周围人能看懂的代码。出于这个角度考虑,常用的范式是"面向过程+面向对象+函数式编程",在没有具体的业务驱动的情况下慎用模版元的编程范式。

C++支持多种编程范式,包括函数式、面向过程、面向对对象、泛型编程,所以这几种范式都要掌握。但是在开发普通的应用程序的过程中,了解面向过程、面向对象、函数式编程就能解决大多数问题了,但是如果是开发面向程序员的库,那么就有必要深入了解一下泛型编程了。

 

标签:总结,范式,函数,编程,C++,面向,泛型
来源: https://blog.csdn.net/yang1fei2/article/details/118060491

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有