在一个试验性的AmbientTalk应用中,两个智能手机可以以无线方式相互交换各自音乐库的元数据,并提供推荐歌曲给各个用户。如果一个用户在此同步过程中走出界外,该应用程序也不会崩溃,只是挂起。虽然还有其他语言能够提供这种功能,但利用AmbientTalk的服务,“使您不必另外编程就可以编制这些应用程序,”范·卡特塞姆说。“这种语言默认内置预期并接受网络崩溃的行为。” 由微软公司未来社会化体验实验室(FUSE)的马特·麦克劳林介绍的语言Kodu解决光谱另一端的问题:如何让年轻人从一开始就对程序设计感兴趣。“我们的基本看法是,程序设计本质上是迷人且有趣的,如同纵横字迷或数独游戏,”麦克劳林说。“我们正在努力改变编程是什么的文化观念,从娃娃抓起。” Kodu是一种适用于Xbox 360和Windows个人计算机的免费“可视化程序设计语言”,以视频游戏方式介绍编程概念。作为使用文本界面中的变量和字符串之类抽象概念的替换,Kodu提供三维游戏背景,背景布满可编脚本的卡通人物,(通过Xbox游戏控制器或者键盘与鼠标器)容易执行可以理解的行动——像吃苹果或对敌作战。不过,那些对象和行动全部都直接映射为“真正的”编程概念,使Kodu成为一门完整的语言,能够实现复杂的逻辑。“我们已经得到了微软公司部分语言学家很好的验证,”麦克劳林说。“真正的成功是,房间里没有计算机科学老师的时候,孩子 能够捡起它,然后编制一些我们没有料到的东西。” 派克、范·卡特塞姆和麦克劳林都同意,专业程序设计语言将在今后几十年变得越来越重要。但是,那并不一定意味着推陈出新,新语言就要独占鳌头。 举办新生语言营地的Twitter前工程师(现在是个人金融新兴公司BankSimple的产品和技术总监)亚历克斯·佩恩说,随着程序员熟练掌握多种针对不同问题进行优化的不同语言,“使用多种语言编程”更有可能成为常态。“从这里开始,巴别塔一定降临,”他说。“但我未必认为那是一件坏事。” |