大道之简

大道之简

大家好,又见面了,我是你们的朋友全栈君。

  在阅读了周爱民老师的大道至简后,我感觉确实这本书是软件工程实践者的思想的一种体现,我也感觉到确实是时候去反思自己的之前的行为,突然地发现之前的行为是多么的幼稚,又是多么的可悲。

回想之前对于所学的c++,我想我的行为也真的是可笑,对于每一次的实验作业,我也是进行很简单的操作,对于课件上的程序,进行照抄照搬,对于需要自己去写的程序,更多的是对课件上的程序进行修改,变通,或者是找百度,问同学,尽自己最大的努力去完成我所可能完成的,然后再慢慢回想,再去想有没有别的办法去完成,然而往往我没有办法去找到别的方法再完成,只是一味的copy,现在看来也真的是可笑。在我学了将近一年的编程后,我的脑袋里也依然并不是足够的清楚,不知道从哪里开始,也不知道如何做程序。

       如同书中所讲到的,编程本来就并不是很难,因为’“惩山北之塞,出入之迂”所以“聚室而谋曰” 然后“毕力平险,指通豫南,达于汉阴” 最后“扣石垦壤,箕畚运于渤海之尾”。它就是在用一种简单的步骤在告诉我编程的方法,编程的根本就是“顺序,分支和循环”,记得我学习编程以来,看到的最多的话就是“程序=算法+结构”,这就是我对程序的初步认识。在大道至简这本书的第一章同样提到了这个,编程其实说白了就是一种行为,我们要把一件事情交给计算机去做,就需要去告诉计算机,该如何去做。把事情的逻辑关系和依赖关系分清楚,然后通过输入代码告诉计算机,它再通过我们所给的代码去实现我们的要求。

  想起来我学的一年的编程,却依然脑子不够清楚,我想我学了,也把知识学进去了,就是不知道这 些知识是干什么的。或者说,我不知道各种知识都可以用 来做什么。其实结构化编程的基本单位是“过程”, 而不是上一小节说到的“单元”。然而在我看来,过 程及其调用是 CPU 指令集所提供的执行逻辑,而不是普 通的开发人员在编程实践中所总结和创生的“方法”。

  编程这个过程并不全都是喜悦。我们只有事先了解一些编程固有的烦恼,这样,当它们真的出现时,才能更加坦然地面对。首先,必须追求完美。其次,是由他人来设定目标,供给资源,提供信息。概念性设计是有趣的,但寻找琐碎的 bug 却只是一项重复性的活动。现调试和查错往往是线性收敛的,或者更糟糕的是,具有二次方的复杂度。这,就是编程。一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。

  对于编程来讲,我应该做到的事情也是很简单的,就只是将所学到的东西在理解的基础上背过,然后在编程的过程中,只是通过自己脑中所记的进行运用,熟练再运用,再熟练然后创新,开始去尝试用新的方法来实现之前的东西,而不再仅仅拘束于之前的方法。

转载于:https://www.cnblogs.com/muailiulan/p/9346042.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107408.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 4种kill某个用户所有进程的方法

    4种kill某个用户所有进程的方法

    2021年7月8日
    208
  • Samba服务器配置(什么情况下需要服务器)

    一、简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,SMB(ServerMessageBlock)服务器消息块  Samba最大的功能是可以用于Linux与windows系统直接的文件共享和打印共享,既可以用于Windows与linux之间的文件共享也可以用于linux与linux之间的资源共享  基于客户机/服务器的协议,因而一台S…

    2022年4月14日
    94
  • python输出unicode编码_Python以utf8编码读取文件

    python输出unicode编码_Python以utf8编码读取文件withopen(self.path,’r’)astest:forlineintest:pass代码如上,出现错误:UnicodeDecodeError:’gbk’codeccan’tdecodebyte0x80inposition…UnicodeDecodeError:’gbk’codeccan’tdecodebyte0x80inposition9:…或者是UnicodeDecodeErr..

    2022年9月13日
    4
  • java中的io流知识总结_java数据流

    java中的io流知识总结_java数据流无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。内容概要JavaIO流的设计不得不让人拍案叫绝,佩服设计者鬼斧天工的手法。如果你是Java初学者,我敢保证第一次接触Java的IO类,一定会”狂晕!”,倒不是因为它有多么难学而是太多,而且及其让人有种“不识庐山…

    2022年10月20日
    3
  • node require的用法_await与wait的区别

    node require的用法_await与wait的区别作为一个前端的新手,总是诧异于js的模块载入方式,看到了通过requireJs提供的require()命令之后,发现node也是通过类似的方法加载模块,我就好奇,这两个是一个东西吗?用electron写了一个webdeskapp,想通过CI上建一个job刷新repository,然后通过网页可以在team里面随时share软件的进度和功能,发现通过浏览器直接打开的这个app没法加载其他的库:

    2025年5月26日
    4
  • 大数据的应用实例_net开源开发web框架

    大数据的应用实例_net开源开发web框架NetAdvantage的整套组件中,应该说WebGrid是应用最多的。但是网上的关于这方面的资料非常少。这段时间刚好项目处于收尾阶段,因为空余下来。而有一个项目中完全的运用了WebGrid。因此有了一些心得,现在共享大家这里我主要结合常见项目进销存中的一个入库单来讲解WebGrid在B/S开发中的便利我先把做好的界面和效果展示给大家,让大家有一个直观的了解当我在订单编号中输入订单编号后,我使用一

    2022年9月27日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号