曾经作为一个图形编程者,哥有过很多埋头苦编不见天日的时光。有时在最初可视化原始数据的草图的时候,往往也没有很好的交互菜单,很多的设置都是写死在源代码里的。这样的好处是一开始能够快速出结果,坏处是一旦需要改变设置的时候,又要重新修改代码,重新编译代码,重新运行程序才能看到结果的变化。一个设计完善成熟的交互菜单的确可以覆盖很多需要调整的参数,但是太复杂的菜单也让新手无从下手。那么,能不能让可视化编程也像我们在Word或者Powerpoint上写文档一样,可见即可得并且随时无间断更新呢?哥最近看到了网路上Bret Victor很火的演讲,那真是让人眼前一亮。其中很华丽的几个演示都是可视化编程有关,Bret的演示Demo分为左右两部分,右边是实际的代码,而左边则是代码所绘制的图形。改变代码的任何部分都可以出发左边图形的实时变化。 这个Demo非常的有启发性。以前我们都是用交互菜单作为图形的参数改变,因为图形绘制的代码量是非常大的,即便能够有不经过编译就可以实时渲染的图形编程语言,用大量的源码作为交互是不现实的,用户会很快淹没在代码的海洋中。但是现在随着可视化编程的发展,很多抽象的Web图形库以及不需要编译的脚本语言支持下,Bret的Demo也是未来发展的方向。如果一个程序猿只是为一个简单网页图形绘制编程的话,用这种可见即可得的编程环境会省时省力的多,至少哥是肯定会举双手支持的。

这不,根据Bret的演讲启发,Gabriel Florit立马推出了这个叫Water的演示程序。如上图所示,这个程序的界面和Bret的Demo如出一辙。虽然这个程序代码中可变的参数没有像Bret Demo中那么灵活(可变的数目和交互工具都要显得差很多),但是至少给了一个大家现实的例子。 希望不久的将来,类似的基于Web的图形编程开发环境工具能够真正的面世,给苦逼的图形程序猿带来曙光。

Bret Victor的演讲:Inventing on Principle。哥猛烈推荐给所有程序猿。

© 2012, 视物 | 致知. All rights reserved.

Related Posts:

  1. Latex已经有Lyx作为很好的例子了,web界面之类的,比如想DW这类的编辑器或者chrome浏览器的工具,也可以部分实现这种功能。所以这样说来技术上应该不存在很大的问题,很期待真正大规模的应用~