科学要通过工程才能变成产品,才能改变世界。
计算机科学在一个相对理想的状态下工作,这将注意力集中在量级的改进上。
在工程中必须使用在科学上最好的方法,然后再作细节的改进。
先找到极限所在,然后在极限里寻找具体问题的答案。 工程师知道,任何产品的性能都有一个物理上无法突破的极限,这个极限是可以通过已有的理论直接给出。
在现实状态的产品中,要考虑各种细节。
产品经理在没有数据之前不要轻易给出结论。
科学是系统的,是在逻辑的基础上不断递进的,而不是各种知识点简单的结合。我们的学习也应该是系统的,只有这样我们才能获得可叠加式的进步。
科学不同于解决实际问题的技术,它需要很多先决条件。
科学需要从业者有比较纯粹的探索精神,远离物质的诱惑。
是一种对世界的态度,是理解世界的观点,和日常做事的方法。
科学的结论总会过时,成为过去,但是信念永存,方法永存。 真理都是有局限性的,它们是在一定范围内解决我们的困惑、我们的问题。
从事实出发,讲究逻辑,得到合理的结论。
学习打篮球:教练先教你对大部分人都适用的投篮要领,然后观察你的投篮,根据你姿势中一些不好的动作,告诉你一套可以遵从的方式。
数量级指一系列 10 的幂:数量级每差出一级,数据相差十倍左右。
个、十、百、千、万
量级是一种方便表示数量级的方式,通常使用科学计数法表示。
地球的质量是5.98x
10^24
千克,其中10^24
就是量级。 量级简单地讲,就是芝麻、橘子、西瓜、大象、大山、地球、太阳、银河系这样大的差别。
一个人在公司的成就:成功率x事情的量级x做事的速度
提高事情的量级需要不断学习,转变自己的角色。
从老师转型成校长,就有了量级上的突破。
对不同规模的问题要采用不同的方法
对于绝大部分计算机科学家来讲,他们不需要自己真的去设计制造计算机,而是做好现实问题到计算机问题的转化。 还有一部分科学家在研究如何让计算机变得更快更强大。
明确一个公平的比较标准:过滤掉所有次要的因素,构建一个理想的环境(虚拟的环境),构建可比较的、容易对比的、理想的平台。
应用场景:首先明确游戏规则,然后再开始做研究,确定基线,对比方法的优缺点。
将世界理想化的目的:找到真正的主要矛盾,过滤出那些相对次要的噪音。 将问题抽象出来,以便于抓住本质。
案例:
计算机思维:伴随着计算机出现的思维方式。计算机思维的本质:翻译
把人想要做的具体事情,翻译成计算机能够懂得的程序语言。 软件开发中的关键任务就是理解并处理反映软件构成的复杂概念。
科学家考虑的是对和错,工程师只是在现有条件下考虑好和坏的解决方案。
一个合格的软件工程师,要知道采用别人已经写好的,被长期证明运行无误的源代码,作为自己开发新产品的工具,这样才能把精力集中在解决前人未解决的问题上。
科学家告诉大家这件事的可行性,但工程师要明白怎么做。
工程师的工作:科学变成技术再变成产品
https://blog.csdn.net/z929118967/article/details/131559831?spm=1001.2014.3001.5501
先找到极限所在,然后在极限里寻找具体问题的答案。
在工程中必须使用在科学上最好的方法,然后再作细节的改进。
好的工程师最重要的能力是了解最新的科学进展,并且根据实际情况使用最新的技术解决实际问题,考虑预案。
成就=成功率x事情的量级x做事的速度
不断学习,转变自己的角色,提高事情的量级。
合格的工程师处理不同量级事物时的做法:
Mac的视网膜显示屏成本比一般的显示屏价格贵不了10美元,但可以让电脑多卖一百多美元,而且用户的感觉好了不止一倍。
科学指出正确的方向,工程沿着科学指出的方向建设道路。
在工程上,专业人士和业余爱好者的一个差别就在于是否了解极限的存在。有了这个理论极限,做事就不至于异想天开。
工程师掌握的知识是做事情的基线,之所以接受教育,就是为了提高基线。
计算机科学家聚焦在量级上提高性能,需要构建理想的环境,摒除一些不必要的干扰,把主要矛盾突出出来。
科学家要变为工程师,思维方式需要改变,要从理想状态进入到现实状态。
好的工程师最重要的能力是了解最新的科学进展,并且根据实际情况使用最新的技术解决实际问题,考虑预案。
工程上节省几倍的时间是很有意义的,在工程上需要计较2%的运行时间。 找到极限所在,然后在极限里寻找具体问题的答案。
科学家要离短期的利益远一点,才能把目光放远