柱状图:你必须了解过去才能了解现在作者:Tomas Petricek,肯特大学
程序是通过各种交互创建的。程序员可能会编写一些代码,以交互方式运行它以检查它是否工作,使用复制和粘贴,应用重构或从自动完成列表中选择一项。编程研究经常忘记这些,并将程序表示为结果文本。因此,思考这种互动往往超出了范围。本文将重点从程序转移到一个更有趣的编程问题。
我们将程序表示为交互列表,例如触发自动补全和选择选项、声明值、引入变量或计算代码段。我们探讨了这种思考程序的方式的一些后果。首先,如果我们通过使用样本输入编写具体代码并应用重构来创建函数,我们不会丢失样本输入,可以在以后使用它进行调试。其次,如果我们将以交互方式执行代码视为一种交互并存储结果,我们可以稍后使用此信息在自动完成中提供更精确的建议。第三,通过摆脱文本表示,我们可以显示与文本相同的程序,但也可以显示在受电子表格启发的视图中。第四,我们可以让程序员通过直接与实时预览交互来创建程序,因为这些交互可以被记录下来,并作为程序历史的一部分。
我们在一个简单的数据探索编程环境中通过示例讨论关键思想。我们在本文中的重点是原则,而不是提供微调的用户体验。我们使我们的环境更加明确,特别是当这揭示了幕后发生的事情时。我们的目的是表明,将程序视为交互列表是一种强大的视角变化,可以帮助我们构建具有新颖功能的更好的编程系统,使编程更容易、更容易访问。这篇互动文章中的数据探索环境可能还不是这样,但它让我们看到了未来。