本文适合如下人群:
1. 打造下列类型产品和工具的程序员、产品经理、设计师:
- 低代码零代码产品、BI产品、信息可视化产品、工作流产品、STEAM教育产品、可视化编程工具等;
- 音乐音频创作编辑工具、各种游戏编辑器、图形设计工具、原型设计工具、视频编辑工具等;
- 当然还有编程语言、DSL、编程框架、SDK等;
2. 对各种创作、开发、设计行为中的复杂认知活动规律进行研究的心理学专业人士
一
1. 古早的代数学
公元830年,阿拉伯世界的大数学家花拉子米正在巴格达写他的传世名著《代数学》。
《代数学》中的一页
书里有这么一段(阿拉伯文看不懂,还是上英文译版):
What is the square which when taken with ten of its roots will give a sum total of thirty nine? Now the roots in the problem before us are ten. Therefore take five, which multiplied by itself gives twenty five, an amount you add to thirty nine to give sixty four. Having taken the square root of this which is eight, subtract from this half the roots, five leaving three. The number three represents one root of this square, which itself, of course is nine. Nine therefore gives the square.
《代数学》全书几乎都是这样的自然语言文字段落,所以还得再过800多年,这段才可以写成下面这样一个解方程过程:
如此一个按部就班的解题过程今天当可被称为“算法”(Algorithm)。不过奇怪的是,用自然语言去描述这种算法时,咋感觉挺繁琐,既不清晰,还一点也不自然,体验显然不如方程记号好呀?(推崇自然语言编程的同学有什么想法?)
花拉子米是花剌子模人,算波斯人的血脉,但常年在巴格达做研究,只用阿拉伯语写作。他的全名叫阿布·阿卜杜拉·穆罕默德·伊本·穆萨·花拉子米,被欧洲人用拉丁文翻译成了Algoritmi,再对照着Algorithm(算法)看一看。没错,