有效的系统设计需要从真刀真枪的使用情境汲取洞见
%%我的理解:: 现在是个人,就能BB两句,将一些大道理。有效的东西、真理确是来源于实践的。%%
粗制而成的原型很不错:由此能开展粗糙的迭代和快速评估。但是,许多重要的洞见,只有依托于真刀真枪的创造性问题才能够涌现,这些问题与原型系统本身无关。这是实践出洞见提出的一个关键主张。
听起来像是标准做法:系统当然需要经过评估!但大多数系统设计者并不认真对待「真刀真枪」:工具制作者通常缺乏与真刀真枪的使用环境的联系。
理论寓于系统之中。观察系统与现实相互作用,可以从中获得见解,对后续完善理论有所帮助。这些见解的成色,与系统的使用场景息息相关。如果系统没有经过真刀真枪地使用,得到的见解也就是单纯坐而论道者能够想到的,不建造系统也可以实现。
皮克斯是很好的例子。这家动画公司创造了真刀真枪的使用环境,反过来又推动了系统设计:皮克斯的电影和技术发展是啮合紧密的飞轮。
常见挑战:
相关理论:
参考文献
Matuschak, A., & Nielsen, M. (2019). How can we develop transformative tools for thought?[3] Retrieved December 2, 2019, from https://numinous.productions/ttft
具体来说:假设你想为 X 学科(比如 X=微分几何)建立工具。没有深入研习这门学科,是难以创造优质工具的。这就像没有沾过木头就像创作木工工具一样。Mathematica这样的工具趁手好用的原因也在于此——Stephen Wolfram 这一主要设计者,对数学和物理这两门学科抱有由衷的研究兴趣,具备制作优质工具的先决条件。当然,也有些 Mathematica 部件不如人意:这些部件简直像玩具一样,估计 Wolfram 公司内部也没有怎么认真使用过。
Brooks, F. P., Jr. (1994). The Computer Scientist as Toolsmith II ACM Allen Newell Award Lecture. SIGGRAPH.
我们因而能聚焦于关键问题,而不只是课后练习或者小儿科问题。
我们因而能对成败开诚布公,而不轻易愚弄自己。
我们因而能直面完整问题,而不只是简单的,或数学理论完美解决的地方。例如,计算几何中,我们不能避开三重共线点或者四重共面点的情况,不能掩耳盗铃假装病态条件不存在。
直面完整问题,迫使我们学习更多知识,甚至往往要进军至从未踏足过的疆域,发展计算机科学最前沿。
除此之外,你实则已迫近领军者之列,其中有揭秘蛋白质原理、设计出潜水艇,实现纳米制造的先驱。如今,你要与他们挥手作别,向无尽疆界更进一步,实为乐也。
软件研究者想写出令人肃然起敬的学术论文,便力求想出适于推广的高层次想法,并为此建造系统。但是我们认为,在推广上用力过度,实际上不利于系统扩大规模,运行持久。为了创造生而不息,受众自然聚集的软件,必须从具体处入手。
在 2009 年,我们创造了 Python Tutor 网站,目标非常具体:为学生和导师(比如我们自己)提供一种方便的方式,逐步浏览 Python 代码并查看变量的值。