摘要:泛型范式——抽象你的算法(泛型式编程简谈)
• 算法串联数据,如脊贯肉;数据实化算法,如肉附脊
• 泛型编程是算法导向的,即以算法为起点和中心点,逐渐将其所涉及的概念内涵模糊化、外延扩大化,将其所涉及的运算抽象化、一般化,从而扩展算法的适用范围
• 思想是鸡,结论是蛋
阅读全文
摘要:并发范式——合作与竞争(并发式编程简谈)
• 有谁愿意驾驶一辆启动后不能刹车、不能倒车、不能变速、油尽方停的汽车呢?
• 并发式编程以进程为导向、以任务为中心将系统模块化
• 并发式编程以资源共享与竞争为主线
阅读全文
摘要:对象范式——民主制社会的编程法则(对象式编程简谈)
• 如果把整个流程看作一颗倒长的大树,过程式编程自树根向下,逐渐分支,直到每片树叶,类似数学证明中的分析法,即执果索因的逆推法;OOP则从每片树叶开始,逐渐合并,直到树根,类似数学证明中的综合法,即执因索果的正推法
• 与其说OOP更具重用性,不如说更具易用性
• 函数是被动的实体,对象是主动的实体
• 过程式程序的世界是君主制的;OO程序的世界是民主制的
• 封装使得公民拥有个体身份,继承使得公民拥有家庭身份,多态使得公民拥有社会身份
阅读全文
摘要:声明范式——目标决定行动(声明式编程简谈)
• 命令式编程是行动导向的,因而算法是显性而目标是隐性的;声明式编程是目标驱动的,因而目标是显性而算法是隐性的
• 声明式编程重目标、轻过程,专注问题的分析和表达而不致陷入算法的迷宫,其代码也更加简洁清晰、易于修改和维护
• 归根结底,编程是寻求一种机制,将指定的输入转化为指定的输出
阅读全文
摘要:命令范式——一切行动听指挥(命令式编程简谈)
• (命令式编程)其世界观是:程序是由若干行动指令组成的有序列表;其方法论是:用变量来储存数据,用语句来执行指令
• (结构化编程)在微观上,主张循规守矩;在宏观上,主张分而治之
• 一个按结构化编程思想设计的流程图,每个模块大小适中、模块之间关系简明、模块内部线路清晰,单从视觉上就会给人一种美感
阅读全文
摘要:《冒号课堂》目录(博客迁至: http://blog.zhenghui.org) 上篇:编程范式与编程语言 第一课 开班导言 §1.1:开班发言——程序员的四层境界 §1.2:首轮提问——什么语言好? §1.3:语言选择——合适的就是好的 §1.4:初识范式——程...
阅读全文
摘要:开发技术——实用还是时髦?(关于框架、设计模式、架构和编程范式等开发技术的讨论)
• 任何概念和技术都不是孤立的,如果不能在纵向的时间和横向的联系中找准坐标,便似那群摸象的盲人,各执一端却又自以为是
• 库和工具包是为程序员带来自由的,框架是为程序员带来约束的
• 设计模式是软件的战术思想,架构是软件的战略决策
• 知识的学习有几种方式:一种靠记忆,一种靠练习,一种靠培养
• 学习编程范式能增强编程语言的语感
阅读全文
摘要:初识范式——程序王国中的世界观与方法论(初步引入编程范式)
• 得形而忘意,无异舍本逐末;得意而忘形,方能游刃有余
• 当你编程之时,便进入到自己创造的世界之中。这是你的世界,只有注入你的想象力、创造力和激情,它才有勃勃生机。你编写的岂止是代码,分明还有乐曲;你敲击的岂止是键盘,分明还有琴键;你运行的岂止是程序,分明还有世界。当优美的旋律奏起,整个世界都随之翩然起舞,一种莫可名状的满足是否会充溢你的全身?
• 找对象是“对象导向”的,去约会是“面向对象”的
阅读全文
摘要:语言选择——合适的就是好的(简要回顾计算机语言)
• 评判语言优劣,如同争论兵器高下,倘若撇开使用的主体和对象,皆为空泛之谈
• 高级语言好比长兵器,威力强大却难免滞重,长于大型应用,可谓“一寸长,一寸强”;低级语言好比短兵器,轻便灵活却难免风险,长于底层应用,可谓“一寸短,一寸险”
• 西门吹雪的西来一剑,那是C语言;李寻欢的小李飞刀,那是汇编语言;陆小凤的灵犀一指,那是机器语言
阅读全文
摘要:首轮提问——什么语言好(讨论流行的计算机语言)
• 真正的老师是你自己
• 没有激情作氧气,灵感的火花注定转瞬即灭
阅读全文
摘要:当一个人在黑暗中摸索时,他最需要的往往不是手杖,而是手电
阅读全文
摘要:开班发言——程序员的四层境界(对程序员的一些忠告和建议)
• 学会不如会学,会学不如会用,会用不如被用
• 如果知识是水,我们要挖掘最先涌动的泉眼;如果知识是火,我们要捕捉起初点燃的火花
• 如果知识是树,其树大根深,不究立固之本则无以知过去;其枝繁叶茂,不握支撑之干则无以知当下;其蓬勃旺盛,不察生长之点则无以知将来
• 越是喧嚣的世界,越需要宁静的思考,让躁动的心灵得以平息,让蕴藏的灵性得以释放
• 知识之上是思想,思想之上是精神
阅读全文