zoukankan      html  css  js  c++  java
  • 人月神话阅读笔记06 17-19

    没有银弹:

    软件工程中的推断:

    所有软件活动包括根本任务——打造由抽象软件实体构成的复杂概念结构,次要任务——使用编程语言表达这些抽象实体,在空间和时间限制内将它们映射成机器语言。

    软件工程领域的根本难题在于复杂度,一致性,可变性和不可见性。值得注意的是,文章末尾提出了一些可能的银弹,比如面向对象编程,只能解决软件工程中的非本质困难,而对于软件工程根本的问题于事无补。就是说,我们某种程度上能够解决使用编程语言表达抽象的实体,或者将其变得结构化,构建起完整的概念结构,但是仍然没有解决软件工程的根本难题——复杂度、一致性、可变性和不可见性。


    再论《没有银弹》

    软件重用的另一个问题是学习的成本。越复杂的功能,学习成本越高。高级语言比机器语言功能强大,但是也更加复杂。而重用一个模块,则需要学习相应该模块的成本。这种成本今天已经在各类专门开发职业中体现出来,如后台程序员,Web前段或者手机客户端,不同类别的程序员差别就在于其对某一重用模块的专门知识的掌握。

    20年后的人月神话:

    我更喜欢一个叫法是未来的软件工程会是什么样子。

  • 相关阅读:
    ElasticSearch 高级DSL查询语句
    docker改国内官方镜像
    step1: python & scrapy安装
    step7: 输出到json文件
    step6: item与pipeline
    step5: 编写spider爬取
    step4: Xpath的使用
    step3: 创建jobbole爬虫
    step2: 爬取廖雪峰博客
    解决WAS更新web.xml文件不生效的问题(web_merged.xml是罪魁祸首)
  • 原文地址:https://www.cnblogs.com/z245894546/p/8150130.html
Copyright © 2011-2022 走看看