大道至简第一章和java理论学时第一节。感受。
这周上了本学期的第一节java课程。课件上说了一些学习java的基本思想。举了个“愚公移山”的例子。这可能就像刚接触一门新的语言,来练习输出“HelloWorld”一样,已成惯例。
“愚公移山”的这个例子引用于大道至简这本书。我几个月前在老师的推荐下就读了一遍,感受还是有些的。整篇不长的文章,移山的工程与编程的分工几乎一致。以下:
原始的需求——惩山北之塞,出入之迂;
项目沟通的基本方式——聚室而谋曰;
项目的目标——毕力平险,指通豫南,达于汉阴;
技术方案——扣石垦壤,箕畚运于渤海之尾;
三名技术人员和一名工程管理人员——愚公率子孙荷担者三夫;
外协人员——邻人京城氏之孀妻,有遗男,始龀,跳往助之;
工程的实现程序——虽我之死,有子存焉;
分支结构——子又生孙,孙又生子;……子子孙孙,无穷匮也;
完成条件——山不加增。
这里包含了编程的精义,就是“再难啃的骨头也是可以通过人和人的分工一点一点啃完的。”此是我根据自己的理解说的“大白话”。
理解是理解了,不过最开始的时候还是有些觉得不对的地方。故事和现实,也就是理想和实践之间,还是有些出入的。比如说,愚公没有考虑子子孙孙的意愿,他们会不会因不愿意而放弃这庞大的工程或在劳动中死于非命。如果子孙们在这种情况下都死了,那么工程也就是循环也就提前终止。程序员不愿意,跳槽,可以再招人,愚公可不行。
问题想深了,就会产生新的问题。反过来一想,我的想法也有点牵强,用愚公移山的例子作比喻真是再恰当不过了。
接下来,书中有提到了技术员的基本素质:折衷。折衷意味着判断事物的准则。好像谁心里都有衡量事物的一把尺子吧,如此说来,岂不是谁都可以做程序员了?只要他会一种语言。
这样,就又提到了语言。以前再帖子中看到程序员们都在维护自己喜欢的语言,什么java好,PHP好的。不过作为半个局外者,我还是感觉语言各有各的优势,不然怎么会有那么多种语言正在被使用呢?
书中说:程序 = 算法 + 语言。这个等式几乎在每节理论课上都会被提到。而我自己在编程时也感受到了算法的重要性。算法不好的话,一个简单的问题电脑都需要很长时间才运行的出来。又或者是,时间不长,而别人用了几十行,我却用了几百行。所以一下子就能想出一个很好的算法,一方面是依赖于先天的思维逻辑,另一方面就是后天的训练和经验的积累。很庆幸,我自己的脑子没有被僵尸吃掉。
说到底,我还不了解java,也不清楚工程的具体含义。提前被告知那么多,提前想了那么多,也只能是一知半解。未来的路还是要自己欣赏的。对此,我很期待。
大道至简第一章和java理论学时第一节。感受。的更多相关文章
- Java理论学时第一节。课后作业。
设计思路:用nextFloat()函数将从键盘输入的值分别赋给多个变量,然后直接输出相加结果. 流程图: 源代码: 实验结果:
- Java理论学时第二节。课后作业。
枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象,相同的值则引用同一个对象. 可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals ...
- 《大道至简》第一章读后感--JAVA语言伪代码形式
import.java.大道至简.*; //一·愚公移山 import.java.愚公移山.*; public class YuGongYiShan { //原始需求:惩山北之塞,出入之迂 //项目沟 ...
- Java 面向对象编程——第一章 初识Java
第一章 初识Java 1. 什么是Java? Java是一种简单的.面向对象的.分布式的.解释的.安全的.可移植的.性能优异的多线程语言.它以其强安全性.平台无关性.硬件结构无关性.语言简 ...
- 编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则)
编写高质量代码:改善Java程序的151个建议(第一章:JAVA开发中通用的方法和准则) 目录 建议1: 不要在常量和变量中出现易混淆的字母 建议2: 莫让常量蜕变成变量 建议3: 三元操作符的类型务 ...
- Java 学习笔记 第一章:Java语言开发环境搭建
第一章:Java语言开发环境搭建 第二章:常量.变量和数据类型 第三章:数据类型转换.运算符和方法入门 1.Java虚拟机——JVM JVM(Java Virtual Machine ):Java虚拟 ...
- 大道至简第一章读后感——java伪代码形式
大道至简这本书第一章在向读者展示编程的精义.开篇以愚公移山的例子来描述软件工程项目.愚公,作为一名工程名家,集项目组织者.团队经理.编程人员.技术分析师于一身,来领导工程的进行.下面我们来看看这个项目 ...
- 大道至简第一章读后感JAVA伪代码形式
观看了<大道至简>第一章后,从愚公移山的故事中可以发现愚公移山其实可以看作是一个一个项目,下面用JAVA伪代码形式编写: Import java(愚公移山) //愚公移山 public c ...
- 大道至简第一章读后感 Java伪代码形式
观看了大道至简的第一章之后,从愚公移山的故事中我们可以抽象出一个项目, 下面用Java 伪代码的形式来进行编写: import java(愚公移山的故事) //愚公移山 public class yu ...
随机推荐
- javascript 重构alert()
javascript问题,关于重构window.alert()后,然后调用window原本的window.alert()的方法 大神们,问个问题,如果在script标签的第一行散写,重构了window ...
- javascript 高级程序设计 一
前言: 作为一个即将毕业.正在实习的大学生,我也默默的进入了开发者的行列.从一开始的c#编码狗到java程序员再到现在的JS开发者,我一直 希望自己可以在这个'万恶'的互联网时代走的更远.但是我还是一 ...
- BZOJ 1969 航线规划 - LCT 维护边双联通分量
Solution 实际上就是查询 $u$ 到 $v$ 路径上 边双的个数 $ -1$. 并且题目仅有删边, 那么就离线倒序添边. 维护 边双 略有不同: 首先需要一个并查集, 记录 边双内的点. 在 ...
- MFC动态按钮的创建及其消息响应(自定义消息)
动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 10000 2.在类的OnInitDialog()函数中动态创建按钮(建立按钮对象时最好建立对象的指针 ...
- 采用JavaMelody监控Tomcat服务——安装手册
#1.获取安装包 .zip mv probe.war <tomcat dir>/webapps #3.设置tomcat用户信息 vi <tomcat dir>/conf/tom ...
- Java界面编程—事件监听机制
组件首先要先注册事件处理器,当用户单击组件.移动鼠标或者敲击键盘时都会产生事件(Event),一旦有时间发生,应用程序就会做出对该事件的响应,这些组件就是事件源(Event source). 接受.解 ...
- IDEA 文件列表隐藏某后缀文件
preferences -> Editor -> File Types -> ignore files and folders 添加后缀类型如: *.meta
- iOS中四种实例变量的范围类型@private@protected@public@package
文档上记录是这样的 The Scope of Instance Variables Toenforce the ability of an object to hide its data, the c ...
- NOIP水题测试(2017082301)
你们从题目也能看出来今天的题是很水的. 前几期答案还没出,效率有点低,谅解,谅解. 今天的答案应该会出的很快. 下面给题目: 时间限制:3小时 题目一:旅行家的预算 题目二:进制转换 题目三:乘积最大 ...
- 2017-2018-1 20155312《信息安全技术》实验二——Windows口令破解实验报告
2017-2018-1 20155312<信息安全技术>实验二--Windows口令破解实验报告 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破 ...