目录
1.提出问题程序员
第一章一上来就提出了几个问题,做者也试着做出了本身的解答。可是我看完以后,我以为程序(算法、数据结构)是基本功,这个观点彷佛论证得不够充分,文中只带过了这么一句“……源程序,就是这么一行行的代码。它们是创建在数据结构上的一些算法。……”,一样也没有可以解答个人疑惑。这一章的介绍更偏重于软件工程之于软件的重要性。那个人问题是数据结构做为计算机专业学生的必修课,最重要的缘由是什么;老师反复强调算法的重要性的缘由又是什么?这个问题,我亟待了解。咱们大二的学弟学妹们,就由于几乎没什么人选算法,最后这门课干脆直接取消,彷佛你们都以为算法这门课没什么用。数据结构你们学了以后也基本都扔掉了,只有考研的时候才会再捡起来。确实咱们随便上GitHub上找找,就能发现别人都已经实现好的数据结构或者是实现好的算法,咱们大部分时间也是调用别人已经写好的库或者是模块,亲自造轮子的真的算是少数。因此这样的理论课到底应该是全部人的必修,仍是少数人的选修?算法
第三章中有一个绞刑架和职业发展的讨论,想问下做者,就您的认为,如今的软件开发工做相比于10年前、20年前、甚至30年前软件工具和软件工程理论方兴未艾之时,是更容易了仍是更复杂了?关于这个问题能不能用典型的人口增加模型来解释呢(虽然这个模型有一些缺陷,可是相对来讲方便理解)?程序员的数量相比于过去确定是增长的,为何会增长呢?这个数量存不存在一个上界来约束,若是有的话,限制程序员数量增长的紧俏资源是什么呢?数据结构
关于用户体验的这个部分,有个文字编辑的对比。Word 2007以后的版本能够双击文档正中实现居中,我也是今天才知道的。那这种通常比较难发现的功能,即便写出来了怎么去让别人发现,更加方便别人使用呢?还有针对LaTeX和VI这样的,认知阻力相对比较大的软件,有必要为了下降认知阻力而做出一些改进吗,若是有,那应该做出那些改变呢?我以为这就像算法当中一个时空平衡的概念,算法改进到必定的地步,要继续下降空间开销,就必须增长时间开销,反之亦然。那这些软件是否也是这样?不少人写论文会用LaTeX,用VI或者EMACS的也都是熟练的计算机专业人员,那么这些软件的用户人群是否是也就是这些人?工具
这本书的页码为何是标在章标题的左边,而不是传统的目录结构,并且为何小节都没有页码,做者这样设计的目的是什么?学习
最后一个问题就是关于这门课的自己。这边就问一个确实很愚蠢的问题,对于不一样方向的学生到底应该以什么样的态度去对待这么课?我问出这个问题并非想偷懒,偏偏相反,不少课我都感兴趣,都想学得很好,可是这无疑就是要花更多的时间,只是正如做者在书中所说“不可能在两个地方同时作猪,这太难了”。去年在Java课上第一次接触到了博客,就以为手忙脚乱,对于基础不是那么好的本身或许要花不少时间才可以让博客做业看上去不那么敷衍,同时还要准备竞赛,还要跟进老师的项目等等,不少时候都逼本身熬到晚上一两点钟。这几天粗糙地读了一遍书,很显然软件工程更是一个庞然大物,确实又惧怕了起来,不知道该怎么应对,再加上此次主要又是团队开发,要很是很是努力,或许才能看上去不是像在划水、在混日子,那其余的课程应该怎么兼顾?准备考研的同窗应该怎么分配时间?之后不搞软件开发的同窗又该怎么应付?虽然在哪一个地方作猪是本身的决定,可是仍是但愿做者和老师可以传授一些人生的经验,稍稍指点咱们一下。我也知道有不少学长学姐都经过软件工程学习到了不少东西,作出了很好的软件,那他们又都是怎么应对的呢?spa