《大道至简》第一章 读后感(含伪代码)
“虽我之死,有子存焉;子又生孙,孙又生子;子又有子,子又有孙,子子孙孙,无穷匮也。而山不加增,何苦而不平?”
——《愚公移山》,《列子·汤问篇 》
1、编程的精义
仅仅就编程来说,实在是一件很简单的事,甚至可以说是一件劳力活。两千年的寓言中,已经成就了一名工程名家:愚公。
汤问篇中所述的愚公移山这一事件,我们看到了原始需求的产生:“惩山北之塞,出入之迂”,我们也看到了项目沟通的基本方式:“聚室而谋曰”,然后,我们看到愚公确定了一个项目的目标:“毕力平险,指通豫南,达于汉阴”,并通过研讨,选择了一个井然有序的、可以实现的技术方案:“叩石垦壤,箕畚运于渤海之尾”。
在这个项目中,动用了三名技术人员和一名工程管理人员:“(愚公)率子孙荷担者三夫”,并获得了一名力量较弱,但蛮富工作激情的外协:“邻人京城氏之孀妻,有遗男,始龀,跳往助之 ”。
基本上,这已经描述了“愚公移山”的整个工程的概况。接下来用伪代码叙述整个工程的实现程序:
while(!山平)
{
if(愚公卒)
虽我之死,有子存焉(子孙移山);
else
愚公和子孙一起移山;
}
在愚公的论述中,我们看到了编程的根本:顺序、分支和循环。庞大若“愚公移山”这样的工程,都是可以通过这样简单的编程来实现的。这就是编程的精义。
2、会或者不会编程的问题
如果你能确信,自己知道在早上起床后需要干什么,你就会编程。
while(!人死)
{
if(天气冷)
先穿衣服后洗漱;
if(天气热)
先洗漱后穿衣服;
}
更复杂一点的像
while(!人死)
{
if(天气冷)
先穿衣服后洗漱;
if(天气热)
先洗漱后穿衣服;
if(生病或者紧急情况)
略过;
}
人人都可以学会编程!!!
3、程序=算法+结构
算法是对一个程序的逻辑实现的描述,而结构是逻辑实现所依附的数据实体。明白了这个,剩下的就是体力活了。
4、语言
编程语言没有好坏之分,只有喜欢与不喜欢。语言的差别主要表现在适用范围上。
5、在没有工程的时代
很幸运我们生活的时代有工程,也不缺少工程大师!