zoukankan      html  css  js  c++  java
  • 读《大道至简——软件工程者实现的思想》第一章后有感

     

        作者开篇以愚公移山的典故为引,工程来源于现实。

    1.编程的精义

        在作者看来,编程是一件很简单的事情,甚至是劳力活,本来我并不认可,但后来发现作者说的很对,仅仅编程是一件很简单的事情,困难的往往是实现编程所需要的思想。

        编程的精义:顺序、分支、循环,庞大的工程可以通过简单的编程实现。

        工程项目的完成:产生原始需求-进行项目沟通-确定项目目标-择定技术方案-完成。

        例如把愚公移山当做一个工程:

    begin

    if(愚公未死)//形成分支

       愚公和子孙搬山;

    else         //愚公死后

        {

           do

           搬山;        //主要目的

           while(山平)//不是死循环,可行

           停止;

    }

    end;

        愚公已经考虑了很多情况,比如自己死后子孙的工作,以及子子孙孙无穷尽,而山不会增长的问题,在作者看来,愚公可以被称为工程名家。

    2.会不会写程序的问题

     

    if(先天智障或后天懒惰)

      不能学会写程序;

    else

      可以学会写程序;

     

    在日常生活照开始,学会思虑周到,就可以开始学习编程了,而当你思虑更加周到,可以考虑到多个可能的分支,则你已经具备一种名为折衷的素质,可以向设计师前进了。

    愚公尚且是一个工程名家,拥有大量知识储备的我们怎么会学不会编程呢?

     

    3.程序=算法+结构

        编程:

    begin

    分析思想(分析逻辑关系与依赖关系)

    编写代码(设计算法,实现解决方案)

    end

    把事情分析清楚是编程的第一要义,一个聪明的人,积极工作和勤于思考都要占时间。

     

    4.语言

    按照作者的观点:语言并无难易之分,只有喜欢与否。

    语言的差别通常体现在使用范围上,比如数值处理,图形处理或网页建设 ,各有各的功能与长处,只有合理的利用才能使它们发挥最大的作用。

     

  • 相关阅读:
    eclipse添加xsd
    Ibatis 后台打印完整的sql语句
    eclipse 将文件夹作为sourcefolder
    git:hook declined FATAL: W refs/heads DENIED by fallthru error
    单点登陆CAS安装过程中可能遇到的问题
    单点登录的原理与CAS技术的研究
    【转载】软件开发模式对比(瀑布、迭代、螺旋、敏捷)
    UML工具选择
    UML 用例图,时序图,活动图的定义以及区别
    基于UML的需求分析和系统设计个人体会
  • 原文地址:https://www.cnblogs.com/chen160340/p/5878824.html
Copyright © 2011-2022 走看看