这周上了本学期的第一节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. vmware磁盘空间扩展

    往vmware虚拟机中导入数据库或者文件以后经常出现磁盘空间不够用.这个时候就需要扩展一下磁盘的大小. 笔者本来60G,现在想扩展到100G 命令如下 D:\Program Files (x86)\V ...

  2. sql 查询某个字段出现的次数

    表名随便起个 testtable 那么有这么一个需求,利用你所学的sql语句 单表查询出下表的结果 也就是统计某个时间某个值出现的次数其实一开始我是很懵,毕竟之前也没做过,只能怪自己学得太浅了.过后我 ...

  3. centos 7下安装mysql

    可参考: http://blog.csdn.net/xyang81/article/details/51759200 1.去mysql官方网站查询最新的版本: 2.运行指令: wget http:// ...

  4. POJ3694 Network - Tarjan + 并查集

    Description 给定$N$个点和 $M$条边的无向联通图, 有$Q$ 次操作, 连接两个点的边, 问每次操作后的图中有几个桥 Solution 首先Tarjan找出边双联通分量, 每个双联通分 ...

  5. 域名ping不通,ip地址ping得通

    原因:dns服务器过期,需要更换dns服务器地址

  6. 美食类Web原型制作分享-Taste

    Taste是国外知名的美食类网站,为人们提供丰富的美食菜单,帮助人们更好的享受美食带来的快乐.网站采用图文结合的排版方式,有固定顶部导航栏的交互功能等. 本原型由国产原型工具Mockplus和团队协作 ...

  7. 51nod1347 旋转字符串

    题目很容易懂,只要进行几次简单的判断就能完成此题,显示判断是否为偶数,之后利用sustr截取两个字符串进行比较,代码如下 #include<iostream> #include<st ...

  8. Mac下Maven安装与配置

    Mac下Maven安装与配置 下载maven http://maven.apache.org/download.cgi main->download菜单下的Files 下载后解压在Documen ...

  9. C语言基础第四次作业

    题目7-2,九九乘法表 1.实验代码: #include<stdio.h> int main() { int N, i, j, q; scanf("%d",&N ...

  10. 2017多校1 hdu-Balala Power!

    其实这道题的思路挺简单的,就是找在第一位置没有出现过并且权值小的那个字母为0. 把a~z按照权值排序,其实难就难在这里,权值很大我们怎么给他排序. 其实可以开个数组来存他们每位数是多少,然后给他们比个 ...