读《大道至简——软件工程者实现的思想》第一章后有感
作者开篇以愚公移山的典故为引,工程来源于现实。
1.编程的精义
在作者看来,编程是一件很简单的事情,甚至是劳力活,本来我并不认可,但后来发现作者说的很对,仅仅编程是一件很简单的事情,困难的往往是实现编程所需要的思想。
编程的精义:顺序、分支、循环,庞大的工程可以通过简单的编程实现。
工程项目的完成:产生原始需求-进行项目沟通-确定项目目标-择定技术方案-完成。
例如把愚公移山当做一个工程:
begin
if(愚公未死)//形成分支
愚公和子孙搬山;
else //愚公死后
{
do
搬山; //主要目的
while(山平)//不是死循环,可行
停止;
}
end;
愚公已经考虑了很多情况,比如自己死后子孙的工作,以及子子孙孙无穷尽,而山不会增长的问题,在作者看来,愚公可以被称为工程名家。
2.会不会写程序的问题
if(先天智障或后天懒惰)
不能学会写程序;
else
可以学会写程序;
在日常生活照开始,学会思虑周到,就可以开始学习编程了,而当你思虑更加周到,可以考虑到多个可能的分支,则你已经具备一种名为折衷的素质,可以向设计师前进了。
愚公尚且是一个工程名家,拥有大量知识储备的我们怎么会学不会编程呢?
3.程序=算法+结构
编程:
begin
分析思想(分析逻辑关系与依赖关系)
编写代码(设计算法,实现解决方案)
end
把事情分析清楚是编程的第一要义,一个聪明的人,积极工作和勤于思考都要占时间。
4.语言
按照作者的观点:语言并无难易之分,只有喜欢与否。
语言的差别通常体现在使用范围上,比如数值处理,图形处理或网页建设 ,各有各的功能与长处,只有合理的利用才能使它们发挥最大的作用。