2008年5月5日

冒号和他的学生们(连载6)——基本范式

     摘要: 命令式编程与声明式编程简介
第二课伊始,冒号开门见山:“首先介绍的是最基本的两种编程范式:命令式和声明式,其中命令式又称过程式。。。”

命令式编程是行动导向(Action-Oriented)的,因而算法是显性而目标是隐性的;声明式编程是目标驱动(Goal-Driven)的,因而目标是显性而算法是隐性的。。。

归根结底,编程是寻求一种机制,将指定的输入转化为指定的输出。三种范式对此提供了迥然不同的解决方案:命令式把程序看作一个自动机,输入是初始状态,输出是最终状态,编程就是设计一系列指令,通过自动机执行以完成状态转变;函数式把程序看作一个数学函数,输入是自变量,输出是因变量,编程就是设计一系列函数,通过表达式变换以完成计算;逻辑式把程序看作一个逻辑证明,输入是题设,输出是结论,编程就是设计一系列命题,通过逻辑推理以完成证明。。。  阅读全文

posted @ 2008-05-05 23:55 郑晖 阅读(1807) | 评论 (10)编辑 收藏

冒号和他的学生们(连载5)——软件技术

     摘要: 关于框架、设计模式、架构和编程范式的讨论
“现在我们具体介绍一下编程范式。”冒号忽然顿住,隐觉一抹失望从众人脸上掠过,问号更是欲言又止,便鼓励他开口。
问号略显迟疑:“您说编程范式是一种心法,那框架、设计模式还有架构呢?”。。。

“自以为懂的未必真的懂,自以为不懂的未必真的不懂。” 冒号玩起了玄学,“有些概念和技术即使背得烂熟,甚至用得烂熟,那也不代表真正掌握;有些概念和技术看起来很新奇,却不过是新瓶装旧酒。”。。。

框架与工具包最大的差别在截然相反的设计理念上:库和工具包是为程序员带来自由的,框架是为程序员带来约束的。。。

设计模式是软件的战术思想,架构是软件的战略决策。。。

知识的学习有几种方式:一种靠记忆,一种靠练习,一种靠培养。。。

句号悟道:“您是想告诉我们,编程范式就是编程语言的语感?”。。。  阅读全文

posted @ 2008-05-05 16:41 郑晖 阅读(1512) | 评论 (9)编辑 收藏

导航

统计

公告

简介、更新预告及下载(2008年7月23日)
《冒号和他的学生们》目录
《冒号和他的学生们》写作提纲

留言簿(7)

随笔分类(31)

随笔档案(31)

文章档案(1)

最新随笔

积分与排名

最新评论

阅读排行榜

评论排行榜