这是一个更好的编程让程序员发挥最大创造力的语言?或者,如果编程环境能帮助程序员思考用户想要什么和需要什么,然后以结构化的方式布局系统,让编程工具生成实际的代码,这是不是更好呢?对于前者,可以考虑编程语言c++。对于后者,了解由前微软领导人Charles Simonyi提出的“有意软件”。
2007年1月/2月版的《麻省理工学院技术评论》(MIT Technology Review)有三篇关于我们如何编程的文章。编辑Jason Pontin的社论为讨论奠定了基础。下面是一个采访的发明者的C++语言Bjarne Stroustrup。一篇关于查尔斯·西蒙尼的长篇专题文章结束了讨论。非常值得一读www.technologyreview.com。
权力与复杂性
如果您中的任何一个在C ++中做过任何事情,那么您就可以了解语言的权力和复杂性。几乎没有规则。TR引用Stroustrup说他从丹麦哲学家Kierkegaard吸取了个人的狂热问题。因此,他不想用那种会限制个人创造力的语言。缺点是语言很难学习,这使得难以概念化了该项目的高水平,因为程序员被埋葬在微生馆。
另一方面,Simonyi关注他称之为“元计划”,即一种可视化整体,然后自动生成代码的方法。Simonyi称他的“故意编程”或“有意的软件”一种方法来反映用户的意图 - 并最终让用户工具在稍后将令人困惑调整,因为意图更改。此方法还旨在帮助软件设计人员管理大型软件项目。Simonyi表示现在无法安排一个项目,提高个人生产力或在一支大型团队中的工作。
从20世纪80年代中期开始,我就一直在思考这类问题,当时我是一家设计和制造“特殊”自动化机器的公司的经理。我管理的一个部门是应用工程(概念化和引用项目的人员)。我会将报价金额用于程序开发、调试和决断,并定期加倍。最后,我把它翻了三倍。在这些阶段,我们仍然经常赔钱。为什么?程序员会在机器的一端用一个限位开关开始编写梯形图逻辑,然后在机器周围工作。然后他会加入一些定时器来“控制”零件或机器的运动。我们会启动,但有些东西不起作用。没有人能在代码中快速找到问题。把我逼疯了。
所以,当我学习顺序函数图的时候,我以为那是天堂。我们中的一些人非常喜欢他们,事实上,我们在编程课程项目上工作到深夜。这就是为什么我喜欢OMAC包装工作组为包装机编程开发的状态模型的工作。我认为有人应该把这项工作扩展到更多种类的机器。想想看,终端用户在机器安装和故障排除方面可以节省多少时间和成本。想象一下,如果机器制造商标准化了机器控制,他们将节省多少时间和成本。有人想站出来做这件事吗?OMAC的另一个项目?你觉得呢?
机器设计的另一个有用工具是精益思维。Pearson包装使用的概念,如戴夫耶和华在这个问题上报道,真正革命。在他的2月列中的Jim Pinto在他对创新的思考时更深入。我们本月还从Cronus Partners有一个新栏目。该投资银行公司将定期分析自动化行业的金融方面。
Gary Mintchell.主编辑,gmintchell@automationworld.com