左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家,骨灰级程序员
立即订阅
40357 人已学习
课程目录
已完结 108 讲
0/6登录后,你可以任选6讲全文学习。
开篇词 | 洞悉技术的本质,享受科技的乐趣
免费
01 | 程序员如何用技术变现(上)
02 | 程序员如何用技术变现(下)
03 | Equifax信息泄露始末
04 | 从Equifax信息泄露看数据安全
05 | 何为技术领导力?
06 | 如何才能拥有技术领导力?
07 | 推荐阅读:每个程序员都该知道的知识
08 | Go语言,Docker和新技术
09 | 答疑解惑:渴望、热情和选择
10 | 如何成为一个大家愿意追随的Leader?
11 | 程序中的错误处理:错误返回码和异常捕捉
12 | 程序中的错误处理:异步编程以及我的最佳实践
13 | 魔数 0x5f3759df
14 | 推荐阅读:机器学习101
15 | 时间管理:同扭曲时间的事儿抗争
16 | 时间管理:如何利用好自己的时间?
17 | 故障处理最佳实践:应对故障
18 | 故障处理最佳实践:故障改进
19 | 答疑解惑:我们应该能够识别的表象和本质
20 | Git协同工作流,你该怎么选?
21 | 分布式系统架构的冰与火
22 | 从亚马逊的实践,谈分布式系统的难点
23 | 分布式系统的技术栈
24 | 分布式系统关键技术:全栈监控
25 | 分布式系统关键技术:服务调度
26 | 分布式系统关键技术:流量与数据调度
27 | 洞悉PaaS平台的本质
28 | 推荐阅读:分布式系统架构经典资料
29 | 推荐阅读:分布式数据调度相关论文
30 | 编程范式游记(1)- 起源
31 | 编程范式游记(2)- 泛型编程
32 | 编程范式游记(3) - 类型系统和泛型的本质
33 | 编程范式游记(4)- 函数式编程
34 | 编程范式游记(5)- 修饰器模式
35 | 编程范式游记(6)- 面向对象编程
36 | 编程范式游记(7)- 基于原型的编程范式
37 | 编程范式游记(8)- Go 语言的委托模式
38 | 编程范式游记(9)- 编程的本质
39 | 编程范式游记(10)- 逻辑编程范式
40 | 编程范式游记(11)- 程序世界里的编程范式
41 | 弹力设计篇之“认识故障和弹力设计”
42 | 弹力设计篇之“隔离设计”
43 | 弹力设计篇之“异步通讯设计”
44 | 弹力设计篇之“幂等性设计”
45 | 弹力设计篇之“服务的状态”
46 | 弹力设计篇之“补偿事务”
47 | 弹力设计篇之“重试设计”
48 | 弹力设计篇之“熔断设计”
49 | 弹力设计篇之“限流设计”
50 | 弹力设计篇之“降级设计”
51 | 弹力设计篇之“弹力设计总结”
52 | 管理设计篇之“分布式锁”
53 | 管理设计篇之“配置中心”
54 | 管理设计篇之“边车模式”
55 | 管理设计篇之“服务网格”
56 | 管理设计篇之“网关模式”
57 | 管理设计篇之“部署升级策略”
58 | 性能设计篇之“缓存”
59 | 性能设计篇之“异步处理”
60 | 性能设计篇之“数据库扩展”
61 | 性能设计篇之“秒杀”
62 | 性能设计篇之“边缘计算”
63 | 区块链技术的本质
64 | 区块链技术细节:哈希算法
65 | 区块链技术细节:加密和挖矿
66 | 区块链技术细节:去中心化的共识机制
67 | 区块链技术细节:智能合约
68 | 区块链技术 - 传统金融和虚拟货币
69 | 程序员练级攻略:开篇词
70 | 程序员练级攻略:零基础启蒙
71 | 程序员练级攻略:正式入门
72 | 程序员练级攻略:程序员修养
73 | 程序员练级攻略:编程语言
74 | 程序员练级攻略:理论学科
75 | 程序员练级攻略:系统知识
76 | 程序员练级攻略:软件设计
77 | 程序员练级攻略:Linux系统、内存和网络
78 | 程序员练级攻略:异步I/O模型和Lock-Free编程
79 | 程序员练级攻略:Java底层知识
80 | 程序员练级攻略:数据库
81 | 程序员练级攻略:分布式架构入门
82 | 程序员练级攻略:分布式架构经典图书和论文
83 | 程序员练级攻略:分布式架构工程设计
84 | 程序员练级攻略:微服务
85 | 程序员练级攻略:容器化和自动化运维
86 | 程序员练级攻略:机器学习和人工智能
87 | 程序员练级攻略:前端基础和底层原理
88 | 程序员练级攻略:前端性能优化和框架
89 | 程序员练级攻略:UI/UX设计
90 | 程序员练级攻略:技术资源集散地
91 | 程序员面试攻略:面试前的准备
92 | 程序员面试攻略:面试中的技巧
93 | 程序员面试攻略:面试风格
94 | 程序员面试攻略:实力才是王中王
95 | 高效学习:端正学习态度
96 | 高效学习:源头、原理和知识地图
97 | 高效学习:深度,归纳和坚持实践
98 | 高效学习:如何学习和阅读代码
99 | 高效学习:面对枯燥和量大的知识
左耳听风
登录|注册

40 | 编程范式游记(11)- 程序世界里的编程范式

陈皓 2018-02-15
这个世界到今天已经有很多很多的编程范式,相当复杂。下面这个图比较好地描绘了这些各式各样的编程范式,这个图越往左边就越是“声明式的”,越往右边就越不是“声明式的”(指令式的),我们可以看到,函数式编程和逻辑编程,都在左边,而右边是指令式的,有状态的,有类型的。
上面这个图有点乱,不过总体说来,我们可以简单地把这世界上纷乱的编程范式,分成这几类:声明式命名式逻辑的函数式面向对象的面向过程的
于是我们归纳一下,就可以得到下面这个简单的图。简单描述一下:
中间两个声明式编程范式(函数式和逻辑式)偏向于你定义要什么,而不是怎么做。
而两边的命令式编程范式和面向对象编程范式,偏向于怎么做,而不是要做什么。
我们再归纳一下,基本上来说,就是两大分支,一边是在解决数据和算法,一边是在解决逻辑和控制。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《左耳听风》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(10)

  • songyy
    当时在上 编程语言介绍的一门课的时候,是要用prolog写作业。花了一整个周末看完了prolog的一本小册子,用三行写出来了个quicksort,感觉对recursion有了更加深入的理解 😁
    2018-02-17
    5
  • Yayu
    好尴尬呀!哪个范式里都没发现 Go 的身影。耗子叔这是说明 Go 不适用于任何一种范式,还是任何一种范式都可以用?
    2018-07-12
    1
    4
  • 倪必荣
    左右脑理论是迷思,是错误的...
    2018-06-13
    1
    2
  • 假面
    php是最好的编程语言!
    2019-08-15
    1
    1
  • 许庆晗
    文章都同意,唯独左右脑的图文解释不服。左脑图上明明写了mathematician和logic control order,这才更符合本系列讲的函数式和logic control分离。从图像上看,左脑才像是函数式,声明式的程序嘛。右脑的图更像混杂了logic和control,充满了side effects的代码呀,或者,甲方,投资方脑子里的项目(=゚Д゚=)。。。我觉得这个世界上,还是左脑函数式思维的人更少吧。也许国外高端圈子不是这样?
    2018-04-07
    1
  • macworks
    有些公司是强制用函数式编程的。不习惯的话还是要逼一逼自己,慢慢也就习惯了。
    2018-02-15
    1
  • edisonhuang
    编程范式总结起来分为两种,一种是申明式的,一种是指令式的,申明式的编程在解决数据和算法的问题,指令式编程是在解决逻辑和控制。
    算法和抽象更多要我们利用自己的右脑,也就是更具艺术思维,抽象和感性认知的大脑。
    逻辑和控制,涉及到更多细节,更多的利我们的左脑,也就是更熟悉概念和理性的半边。
    其实有整个大脑自然好于只有一边,但是我们的教育体系一直在锻炼我们的左脑,而弱化右脑,大家从小到大都沉浸在灌输概念,讲究理性的推理,从而使得右脑荒废,这也是为什么很多成年人画画甚至不如幼儿园小孩的原因。因为小时候我们的世界还是两边大脑一起发展的。
    现在深度学习的推理框架中,MXNet就是一个很好的结合了申明式和指令式编程的算法框架,这也让它在深度学习领悟大受欢迎
    2019-06-28
  • 拉欧
    确实刚接触函数式编程的时候,有点理解不能
    2019-05-30
  • 灯火可亲
    从编程范式上升到左右脑思考模式 感觉有点勉强
    2019-03-28
  • 不记年
    声明式编程,直接描述问题的逻辑
    2018-02-16
收起评论
10
返回
顶部