左耳听风
陈皓
网名“左耳朵耗子”,资深技术专家
180927 人已学习
新⼈⾸单¥98
登录后,你可以任选6讲全文学习
课程目录
已完结/共 119 讲
左耳听风
15
15
1.0x
00:00/00:00
登录|注册

30 | 编程范式:起源

一个更为复杂的泛型示例 - Search函数
一个泛型的示例 - swap函数
数据类型与现实世界的类比
swap函数
程序世界里的编程范式
逻辑编程范式
编程的本质
Go语言的委托模式
基于原型的编程范式
面向对象编程的优缺点
Python和Go修饰器的例子
函数式编程的技术和思维方式
C语言的泛型
解决C语言问题的后续语言
C语言的过程式编程特点
不同编程范式的优点和适用场景
C语言的优势和局限性
C语言的设计理念
平衡封装和调用者处理
数据结构的适配
接口复杂度和类型大小
类型抽象和宽松性
编译预处理
指针和内存控制
参数传递方式
有结构化程序设计和递归功能
结构体和类型别名
静态弱类型语言
第四部分:编程本质和逻辑编程
第三部分:面向对象编程
第二部分:函数式编程
第一部分:泛型编程
编程范式的选择和发展
C语言的设计目标和短板
泛型编程的问题
C语言的特性
左耳朵耗子谈编程范式起源

该思维导图由 AI 生成,仅供参考

你好,我是陈皓,网名左耳朵耗子。
现在很多的文章和演讲都在谈架构,很少有人再会谈及编程范式。然而, 这些基础性和本质性的话题,却是非常非常重要的。
一方面,我发现在一些语言争论上,有很多人对编程语言的认识其实并不深;另一方面,通过编程语言的范式,我们不但可以知道整个编程语言的发展史,而且还能提高自己的编程技能,写出更好的代码。
我希望通过一系列的文章带大家漫游一下各式各样的编程范式。(这一系列文章中代码量很大,很难用音频体现出来,所以没有录制音频,还望谅解。)
这一经历可能有些漫长,途中也会有各式各样的语言的代码。但是我保证这一历程对于一个程序员来说是非常有价值的,因为你不但可以对主流编程语言的一些特性有所了解,而且当我们到达终点的时候,你还能了解到编程的本质是什么。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了编程范式的重要性以及在C语言中实现泛型编程所面临的挑战。作者首先从C语言的特性出发,阐述了泛型编程在C语言中的实现困难,包括对数据类型的适配、类型的size识别、数据结构的适配等问题。文章通过具体的代码示例,展示了在C语言中使用`void*`和宏定义来实现泛型的方式,同时指出了这种方式所带来的复杂度和问题。此外,作者还介绍了如何将特定类型的函数转变为泛型函数,以及在处理不同数据类型时所需的比较函数。最后,文章指出了在C语言中实现数据结构的自适应所面临的复杂性。总的来说,本文通过对C语言中泛型编程的实现和问题的分析,引出了编程范式的重要性和泛型编程的必要性,为后续深入讨论各种编程范式奠定了基础。 文章深入剖析了C语言在实现泛型编程中所面临的挑战,突出了C语言设计初衷和其在底层控制方面的优势。同时,也指出了C语言在处理更高阶、更为抽象的编程模型时的短板,以及在解决业务问题方面的不足。作者提到了C++等其他语言在解决这些问题上的尝试,为读者展示了编程语言的不断迭代和优化。总的来说,本文对编程范式的选择和发展进行了深入思考,为读者提供了对C语言及其在泛型编程方面的理解,同时也引发了对其他编程范式的思考和探讨。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《左耳听风》
新⼈⾸单¥98
立即购买
登录 后留言

全部留言(62)

  • 最新
  • 精选
  • shougao
    分好几篇读,而且还要等好久才有下篇,每次都有意犹未尽感觉,女生说的追剧可能就是这感觉吧,浩哥写书吧,哪怕199一本直接读到你前后所有的思路

    作者回复: 我本来就是想在一年内写完104篇,写多少发多少,不是匀速发。不过运营方不同意,匀速发有规律,也容易慢慢消化,因为我的文章中知识量比较多……见谅了。以后我有控制权了,就照你说的办……

    2018-01-06
    2
    28
  • Lin
    关于编程范式,超级喜欢《冒号课堂》那本书...两年前读的,真是相见恨晚。跟读大神的文章一样收获满满。
    2018-01-10
    11
    111
  • Filon
    记一下评论里的推荐:斯坦福编程范式公开课、冒号课堂、七周七语言。
    2020-04-25
    2
    51
  • ibrothergang
    真正优秀的程序员就是应该上能写业务,下能搞底层。
    2018-01-04
    3
    45
  • 403
    斯坦福大学的编程范式公开课很好
    2018-07-12
    32
  • Weizw
    强烈请求耗子哥整理成书啊,现在都是打印出来慢慢读。
    2018-01-04
    25
  • karas
    代码看的比较郁闷的同学(比如我这种。。。)可以参考K&R书的5.11章节,函数指针部分。 主要看两点,一个是函数指针的声明和调用,比如这种`int (*comp)(*void, *void)`。 另外,就是*void。void本身没啥卵用的,但是*void表示通用指针,可以被任何类型赋值。可以对标一下Java里面的Object类型。其实,Java的泛型在运行时擦除后,也都是Object,思路到挺像。
    2019-06-06
    2
    15
  • ryerh
    响应式编程够得上算一门范式么? 以RX为代表的这一系列,考虑讲一讲么?
    2018-01-04
    12
  • escray
    专栏的文章是两年半之前的,上一次读是在一年之前(好像没有读完编程范式游记这个系列),最近因为学习《软件设计之美》,里面提到了编程范式,所以回过头来再学一遍。 感觉错过了一个亿。 按照文中的说法,学习编程范式,可以了解编程语言的发展史,同时还能提高编程技能。 以前一直认为 C 语言很“高级”,其实现在仍然可以这么说,但是估计 C 语言的职位可能相对要少一些(薪水可能很高)。 C 语言的编程范式——过程式语言,结构化程序设计、变量作用域、递归、静态弱类型,在高级语言的特性之上还能做底层微观控制,决定了 C 语言的适用范围和发展轨迹。 用 C 语言来操作泛型,看着真是心塞。是不是当年并没有现在这么多的数据类型?或者是那个时候的“业务”相对底层,只需要几种类型就可以。 像我这样资质普通的程序员,写的最多的还是业务代码,所以估计不会有太多机会写 C 代码了。 虽不能至,心向往之……
    2020-06-25
    8
  • 云学
    最喜欢看到的文字就是“我保证你会,本质是……”
    2018-01-04
    7
收起评论
显示
设置
留言
62
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部