这周上了本学期的第一节java课程。课件上说了一些学习java的基本思想。举了个“愚公移山”的例子。这可能就像刚接触一门新的语言,来练习输出“HelloWorld”一样,已成惯例。

  “愚公移山”的这个例子引用于大道至简这本书。我几个月前在老师的推荐下就读了一遍,感受还是有些的。整篇不长的文章,移山的工程与编程的分工几乎一致。以下:

  原始的需求——惩山北之塞,出入之迂;

  项目沟通的基本方式——聚室而谋曰;

  项目的目标——毕力平险,指通豫南,达于汉阴;

  技术方案——扣石垦壤,箕畚运于渤海之尾;

  三名技术人员和一名工程管理人员——愚公率子孙荷担者三夫;

  外协人员——邻人京城氏之孀妻,有遗男,始龀,跳往助之;

  工程的实现程序——虽我之死,有子存焉;

  分支结构——子又生孙,孙又生子;……子子孙孙,无穷匮也;

  完成条件——山不加增。

  这里包含了编程的精义,就是“再难啃的骨头也是可以通过人和人的分工一点一点啃完的。”此是我根据自己的理解说的“大白话”。

  理解是理解了,不过最开始的时候还是有些觉得不对的地方。故事和现实,也就是理想和实践之间,还是有些出入的。比如说,愚公没有考虑子子孙孙的意愿,他们会不会因不愿意而放弃这庞大的工程或在劳动中死于非命。如果子孙们在这种情况下都死了,那么工程也就是循环也就提前终止。程序员不愿意,跳槽,可以再招人,愚公可不行。

  问题想深了,就会产生新的问题。反过来一想,我的想法也有点牵强,用愚公移山的例子作比喻真是再恰当不过了。

  接下来,书中有提到了技术员的基本素质:折衷。折衷意味着判断事物的准则。好像谁心里都有衡量事物的一把尺子吧,如此说来,岂不是谁都可以做程序员了?只要他会一种语言。

  这样,就又提到了语言。以前再帖子中看到程序员们都在维护自己喜欢的语言,什么java好,PHP好的。不过作为半个局外者,我还是感觉语言各有各的优势,不然怎么会有那么多种语言正在被使用呢?

  书中说:程序 = 算法 + 语言。这个等式几乎在每节理论课上都会被提到。而我自己在编程时也感受到了算法的重要性。算法不好的话,一个简单的问题电脑都需要很长时间才运行的出来。又或者是,时间不长,而别人用了几十行,我却用了几百行。所以一下子就能想出一个很好的算法,一方面是依赖于先天的思维逻辑,另一方面就是后天的训练和经验的积累。很庆幸,我自己的脑子没有被僵尸吃掉。

  说到底,我还不了解java,也不清楚工程的具体含义。提前被告知那么多,提前想了那么多,也只能是一知半解。未来的路还是要自己欣赏的。对此,我很期待。

大道至简第一章和java理论学时第一节。感受。的更多相关文章

  1. Java理论学时第一节。课后作业。

    设计思路:用nextFloat()函数将从键盘输入的值分别赋给多个变量,然后直接输出相加结果. 流程图: 源代码: 实验结果:

  2. Java理论学时第二节。课后作业。

    枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象,相同的值则引用同一个对象. 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals ...

  3. 《大道至简》第一章读后感--JAVA语言伪代码形式

    import.java.大道至简.*; //一·愚公移山 import.java.愚公移山.*; public class YuGongYiShan { //原始需求:惩山北之塞,出入之迂 //项目沟 ...

  4. Java 面向对象编程——第一章 初识Java

      第一章    初识Java 1.  什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...

  5. 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)

    编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...

  6. Java 学习笔记 第一章:Java语言开发环境搭建

    第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...

  7. 大道至简第一章读后感——java伪代码形式

    大道至简这本书第一章在向读者展示编程的精义.开篇以愚公移山的例子来描述软件工程项目.愚公,作为一名工程名家,集项目组织者.团队经理.编程人员.技术分析师于一身,来领导工程的进行.下面我们来看看这个项目 ...

  8. 大道至简第一章读后感JAVA伪代码形式

    观看了<大道至简>第一章后,从愚公移山的故事中可以发现愚公移山其实可以看作是一个一个项目,下面用JAVA伪代码形式编写: Import java(愚公移山) //愚公移山 public c ...

  9. 大道至简第一章读后感 Java伪代码形式

    观看了大道至简的第一章之后,从愚公移山的故事中我们可以抽象出一个项目, 下面用Java 伪代码的形式来进行编写: import java(愚公移山的故事) //愚公移山 public class yu ...

随机推荐

  1. js去除字符串空格(空白符)

    使用js去除字符串内所带有空格,有以下三种方法: ( 1 ) replace正则匹配方法 去除字符串内所有的空格:str = str.replace(/\s*/g,""); 去除字 ...

  2. jenkins配置slave节点 windows

    1.在slave机器上,访问已安装的jenkins站点,如图,选择新建节点 配置节点 2.打开新建节点,如图,点击launch按钮下载slave-agent.jnlp文件,点击slave.jar下载该 ...

  3. Oracle_PL/SQL(8) 动态sql

    动态sql0.pl/sql块的限制 不能执行ddl操作(create.drop.alter): 不能执行部分dcl操作(grant.revoke). 1.语法动态sql:在执行时才能确定要执行的sql ...

  4. PHP Jquery 代码操作 内容 属性 样式 事件 Json数据

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. [转载] Linux中的搜索文件命令

    搜索文件用处很大,我们往往需要知道一个文件存放在什么地方,我们又知道Linux是命令强大的一个系统,所以也有好多非常优秀的搜索命令.通常find不常用,因为速度慢,耗费硬盘空间.通常我们先使用wher ...

  6. Linux 终端设备

    <Linux终端设备详解> https://www.cnblogs.com/shineshqw/articles/2423989.html

  7. 转:Struts2返回JSON数据的具体应用范例

    http://blog.csdn.net/jspamd/article/details/8810109 纠错: <result type="json" name=" ...

  8. Subarray Product Less Than K LT713

    Your are given an array of positive integers nums. Count and print the number of (contiguous) subarr ...

  9. HTTP协议是什么

    1.http全称Hypertext Trsnsfer Protocol超文本传输协议 2.最初发明是用来在浏览器和web服务器之间传输超文本信息的 3.泛义上属于应用层的协议   ,很多其他应用(比如 ...

  10. vue获取DOM元素并设置属性

    这里我想到了2个方法: 方法一: 直接给相应的元素加id,然后再document.getElementById("id");获取,然后设置相应属性或样式 方法二: 使用ref,给相 ...