随着年龄的增加,对人对事物的认知就越真,包括知识也是如此。
不少年前,在软件开发领域中发生了一个有趣的转变,软件变成了系统中最为昂贵、最为重要的部分。从前,硬件曾经是系统中最昂贵的部分;但如今,软件开发所需的开销超过了硬件。这正是软件开发的现状~
人是最为昂贵的资源。软件产业正在逐渐地变成一个劳动密集型的产业,而不像几乎全部其余产业那样朝着知识密集型或资本密集型的方向发展。现在,计算机硬件的成本遵循
摩尔定律(摩尔定律)不断降低,计算机也日益普及。可是,咱们的软件开发模式并未做出相应的调整,以致于没法适应这样全新的情景。
面临对软件开发人才需求的爆炸性增加,
软件工程的应对方式是:
对初学者进行一次短时间的培训,教给他们至关有用的一些技术,一般这样的培训课程周期不会超过6个月,其目标是让受讯学员可以当即投入项目的开发,另外一方面,软件工程专家不断的努力,试图定义完美的计算机辅助软件工程(
CASE
)工具,但愿借此摆脱对程序员群体的依赖,惋惜,这方面的努力以失败了结。
“
短时间培训”的想法之因此失败,
是由于这种培训课程的时间过短,就连教授编程语言的语法都不够~它们只关心语法,要么一味强调“速成”,要么试图覆盖各类各样的技术。
可是,他们却忽视了软件开发的本质和20世纪六七十年代积累起来的那些编程经验。
参加这些培训课程的学员
根本不了解软件开发的本质。在毕业之后,他们又在本身的项目中继续重复那些前辈们早已见过的经典错误。而“CASE工具将最终消除对程序员的须要”这种观点也已经被证实是
荒诞不经的幻想,
由于“编写代码”早已不是软件开发中最困难的部分。在一些大型项目的统计报告中能够看到:它们的生产率一般是每一个开发者每周10到100行代码,
这不是由于开发者写代码的速度太慢,而是由于须要花费不少时间才能弄清“该怎么写”。