前言
有很多概念性的问题必须要理清楚,下面是《C++程序设计原理与实践》第一章的课后思考题,我觉得很重要。这里的答案。
题目
-
什么是软件?
计算机可以识别的是一条条机器指令(也只能认识这些指令),这些指令只能做一些加加减减的操作,为了解决我们现实生活中的某些问题,我们需要对这些指令进行重新组织排序然后将它送给计算机从而控制计算机在特定的时间执行特定的指令。所以,软件就是有序的指令序列
,这里的序
就是人类思想
的外化。 -
软件为什么重要?
现代文明是建立在软件之上的,可以想象一下没有软件的生活,就能够感受出软件的重要性了。 -
如果有些软件失败,会出现什么问题?列举一些例子。
- 1962年的Mariner Bug
航空软件bug直接导致Mariner 1号火箭在发射不久后就偏离了其预期运行轨道,任务控制中心在其发射293秒后就摧毁了火箭。 - 1985年Therac-25医疗加速器事件
Therac-25是建立在一款没有经过正规培训的程序员开发的操作系统上,由于这款不易被察觉的“Race Condition”的Bug,一名技术员可能在病人没有进行任何防护的情况下,意外地将Therac-25配置为高能模式。 - EDS放弃了对儿童的援助支持
商业服务巨头EDS公司为英国儿童抚养机构(简称CSA)开发了一个计算机系统,导致该抚养机构给190万人多付了款,少付款给70万人,还有35亿英镑的儿童抚养费未收到款,积压的待办事宜达23.9万件, 有3.6万件新的案子“卡”在系统上,还有超过500条的错误记录。 - 1999年千年虫Bug
一个人的灾难造就了其他人的创富,用这句话来形容臭名昭著的千年虫Bug再合适不过了。公司提供数十亿资金给给程序员,让他们来解决遗产软件中的小问题。虽然没有发生任何电脑故障,但是千年虫漏洞对所有涉及计算机行业的产品都造成了一定的影响。
- 1962年的Mariner Bug
-
计算机科学与编程之间的区别
一个是科学,具有很强的泛化能力,是一种通用技能,一个是技能,专业性比计算机可行要强。 -
什么是服务器集群?
服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。 -
好软件一般有哪些特点?
好看、流畅、强大、稳定、可升级、易升级。 -
软件开发一般有哪些阶段?
分析、设计、编程、测试。 -
软件开发为什么困难
难点在于我们对问题的理解 -
解释为什么你想成为一名程序员。另一方面,如果你相信自己不想成为一名程序员,也请解释。在这两种情况下,请提供深思熟虑、合乎逻辑的论据。
我想成为一名程序员,我觉得会写程序可以让我自由地表达自己的思想。
总结
我们的文明是建立在软件之上的,软件开发是一种有趣的,对社会有益的并且有利可图的工作,软件领域有无与伦比的多样性和机遇。