
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
当你有一系列需要完成的连续性任务时,安达尔定律就会发挥作用。安达尔定律告诉我们,通过加快其中的一个任务来加快整个系列任务的速度是有硬性限制的。
例如,烧开水需要 10 分钟,然后煮意大利面也需要 10 分钟。即使你能够找到一种可以更快把水烧开的方法,你做一顿饭的时间也绝对不会少于煮意大利面所需的 10 分钟。
一般的公式是这样的,如果某项任务的总时间占比是 p,那么你永远都无法获得大于 1/(1-p) 的加速。假设任务的一部分占用了 90% 的时间,那么 p=0.90,将这个部分优化到零时间,将使整个工作速度提高 1/(1-0.90)=10 倍。
安达尔定律的关键点在于,你所能获得的加速受到了你所优化部分的大小限制。
编程之所以困难,原因有很多。为了简单起见,我们可以把困难的事情想象成必须按顺序完成的任务。毕竟,人类并不擅长多任务处理。在任意一个时刻,你要么在使用构建工具,要么在阅读文档,要么在编写代码或者参加会议。你一次只能应对一项任务,所以安达尔定律大致适用。如果你设法将构建时间降到零,那么项目的完成时间也只会短一点点。你的效率仍然受限于完成项目所需的其他事项。
过去,把一个程序翻译成计算机可以运行的东西是非常困难的。很久以前,需要先将程序转成 1 和 0,然后再一个一个地输入到计算机。我不知道这需要花费多少时间,但为了便于讨论,我们假设需要占用 90% 的时间。这意味着,如果有一种更好的方式来告诉计算机该做什么(比如 Python),那么编程效率将提高 10 倍。
现在,我们有了更好的编程语言,可以花更少的时间告诉计算机该做什么,生产力得到提升。将程序转成代码不再需要 90% 的时间,现在只需要 10% 的时间。这意味着我们可以从中获得的最大改变是 1.11 倍,这比以前可以获得的加速少 81 倍!
这是因为软件开发其余的 90% 任务都是困难的任务,一个更好的编程语言不会让它们变得更容易。
合肥达内免费试听课程火热报名中,带你轻松入行,26大课程全国45个城市,129家中心均可就近学习,学完后,达内老师会帮助进行面试辅导,在面试前,就带你跨过可能存在的坑,让你入职更加顺利
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请添加3216764521学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。