zoukankan
html css js c++ java
程序为本,代码方式仅是语言 ———《大道至简软件工程实践者的思想》
程序为本,代码方式仅是语言
——《大道至简--软件工程实践者的思想》读后感
历时15天终于读完了这本很薄的书,也不知道是因为我的阅读速度太慢还是阅读方法比较笨拙,这本书看了很久。当然就像书中写的那样,这本书没有教会读者任何敲代码时候的技巧,但是对于我这种刚刚入门的程序员来说,这本书教会的思想产生的影响更大。就像是刚刚学会走路的小孩,教他什么样子他就学什么样子,这思想也一样将会扎在心底潜移默化的影响我一生。
这本书的开篇第一章讲的便是一个路人皆知的故事“愚公移山”,没有看这本书之前我是无论如何也不会将愚公和编程联系到一起的。看完之后确实觉得有几分道理,编程无非就是一个工程实现的方法,按部就班的解决问题。在脑海中思考出来解决问题的方法,用代码来将自己的语言表达出来的这个过程就是编程。这样看来确实简单,我想作者也是想传递给我们这样一个思想,编程是一个简单的事情,也许并不轻松。其实第一章“编程的精义”我反复读了好几遍,刚开始只是出于对标题的理解,我功利的想从这一章的内容中获取一些编程代码的实质性的一些技巧和方法,但是事实证明里面确实没有包含任何我想找到的东西。不过文章多看几遍总是能看到一些新的东西,我确实按照作者的思路去思考了下这个问题,愚公的工作好像跟编程别无两样,但是那是一个没有工程的时代,自然而然的像愚公这样“勤快的人”是没有精力来开发新方法的,随即引出下一章的内容“是懒人造就了方法”。看到这里的时候不禁想起来初中老师曾夸奖过我总是喜欢想办法,是我真的比别人聪明嘛?是我比别人懒比别人闲罢了。回到正题,李冰也是这样,正因为有个这样闲的领导,他才有精力跳到外面来纵观全局,总结经验,开发一个效率更高的方法。
结合我自己之前的经历来讲,我就经常犯书中讲的一个错误“走过场”。实现不是目的,目的是解决问题,如果我写的代码不是针对问题,那么这段代码的意义何在?无非就是想当然罢了。之前在敲代码的时候总是犯这样的错误,看完题目之后脑子里想出了问题的解决方法就立刻投入到代码的书写当中去,写着写着就忘了自己写的是什么了或者是写完了运行出来和问题驴唇不对马嘴。这样实在是不对的,应该在确定方法之后像写文章一样(确实敲代码就像写文章)写下一个提纲或者是先把代码的结构写出来,然后再往里面填内容。
相比较前面两章由浅入深通过小故事来引申入编程的道理,后面更多讲的是软件工程和团队协作的事情。那些专业术语和名词确实我看的一头雾水,即使百度之后也是这样,倒是那个牛屎图让我不禁笑出了声。后面还有一个软件工程层状模型,相比较牛屎图而言我感觉后者更加的简单易懂。前面的程序是编程的根本,C语言JAVA等等是编程的方法(就像国语和英语一样只是语言)这一层的实现交给开发人员来完成,紧接着就是团队的维护和对产品的迭代这个是需要队长来组织,经营则需要项目经理来管理,这便是一个理想化的工程。(当然这只是我个人的理解,可能有些偏颇)不过说实话现在这些对我来说意义并不大,我现在只需要做好眼前事,加强之后作为一个程序员的基本功就好了。
看到后语的时候莫名的有那么一点点感动,道是规律,是自然,什么都有道。当我通过实践真正悟出编程里面的道我想我也会成为一个高手。这本书是高手的总结,就像是老僧必须先经过看山是山看水是水然后看山不是山看水不是水再回到看山是山看水是水的这一过程之后才能真正悟道一样,我现在还只是第一阶段,虽然结果相同但是心境还是不一样,想要达到真正的把代码只是当成一种语言(像平常交流一样得心应手)还需要后期的不断努力。
看到书的最后感觉更像是在与作者面对面交谈,他就像一个老朋友一样与我分享经验,分享他成长路上的坎坷和经验,看到的是一个大师的坦然心境,我仍然需要不断的努力去追赶,去超越!
查看全文
相关阅读:
对指定文件生成数字摘要的MD5工具类
shell脚本学习积累笔记(第一篇)
java项目打成jar包时引用了第三方jar,此时我们该如何解决呢
分享关于学习new BufferedWriter()方法时常遇到的一个无厘头的问题
WebService学习整理(一)——客户端三种调用方式整理
TZOJ 挑战题库随机训练02
TZOJ 挑战题库随机训练01
TZOJ 2943 Running Median(动态中位数)
TZOJ 3927 Circular Sequence(环形最大子段和)
TZOJ 3698 GCD depth(数学)
原文地址:https://www.cnblogs.com/suanai/p/11273930.html
最新文章
oracle计算过程执行时间写法
oracle中验证身份证是否合法的函数脚本
Oracle和sql server中复制表结构和表数据的sql语句
oracle创建dblink的脚本
Oracle查询session连接数和inactive以及 概要文件IDLE_TIME限制用户最大空闲连接时间
Union、Union All、Intersect、Minus用法和区别
首页列表显示全部问答,完成问答详情页布局。
制作首页的显示列表。
发布功能完成。
登录之后更新导航
热门文章
完成登录功能,用session记住用户名
完成注册功能
通过用户模型,对数据库进行增删改查操作。
连接mysql数据库,创建用户模型
管理信息系统的开发与管理
加载静态文件,父模板的继承和扩展
生成动态代理并加入系统功能的设计模板
正确配置jstl的maven依赖,jar包冲突的问题终于解决啦
关于进程、线程的学习分享
两台主机打通ssh
Copyright © 2011-2022 走看看