有效的系统设计需要从真刀真枪的使用情境汲取洞见

%%我的理解:: 现在是个人,就能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.

我们因而能聚焦于关键问题,而不只是课后练习或者小儿科问题。

我们因而能对成败开诚布公,而不轻易愚弄自己。

我们因而能直面完整问题,而不只是简单的,或数学理论完美解决的地方。例如,计算几何中,我们不能避开三重共线点或者四重共面点的情况,不能掩耳盗铃假装病态条件不存在。

直面完整问题,迫使我们学习更多知识,甚至往往要进军至从未踏足过的疆域,发展计算机科学最前沿。

除此之外,你实则已迫近领军者之列,其中有揭秘蛋白质原理、设计出潜水艇,实现纳米制造的先驱。如今,你要与他们挥手作别,向无尽疆界更进一步,实为乐也。

Python Tutor’s Design Guidelines for Building Scalable and Sustainable Research Software in Academia. In The 34th Annual ACM Symposium on User Interface Software and Technology (pp. 1235–1251). Association for Computing Machinery

软件研究者想写出令人肃然起敬的学术论文,便力求想出适于推广的高层次想法,并为此建造系统。但是我们认为,在推广上用力过度,实际上不利于系统扩大规模,运行持久。为了创造生而不息,受众自然聚集的软件,必须从具体处入手。

在 2009 年,我们创造了 Python Tutor 网站,目标非常具体:为学生和导师(比如我们自己)提供一种方便的方式,逐步浏览 Python 代码并查看变量的值。

反向链接: