我有兴趣创建一种可以帮助非程序员(比如孩子)编写简单程序的可视化编程语言,就像Labview或Simulink允许工程师将功能块连接在一起而不知道它们是如何在内部构建的。这是通过演示编程吗?什么是示例应用程序? 什么是一个理想的平台,可以让我这样做(它可以是桌面或网络应用程序)
答案 0 :(得分:7)
查看Google Blockly。 Blockly允许开发人员创建自己的块,翻译(生成器)到几乎任何编程语言(甚至是JSON / XML),并包括一个图形界面,允许最终用户创建自己的程序。
摘要:
有关详细信息,请参阅https://developers.google.com/blockly/about/showcase
祝福 - 安迪
答案 1 :(得分:4)
您即将开始的冒险是visual programming language的设计和实施。我不知道这个领域有什么好的教科书,但有一个IEEE会议和审查期刊专门讨论这个领域。俄勒冈州立大学的玛格丽特·伯内特(Margaret Burnett)是一位备受尊敬的权威人士,他组建了bibliography on visual programming languages;我建议你从那里开始。
你可以考虑给伯内特教授写一些建议。如果你这样做,我希望你能在这里报告结果。
答案 2 :(得分:3)
受限制的编程形式是数据流(也就是基于流程的)编程,其中应用程序是通过连接 来构建组件 >。根据平台和目的,组件很简单(如路径选择器)或复杂(如图像变换器)。有几个数据流系统(我刚制作了两个),其中一些没有可视化编辑器,其中一些只是一个更大系统的一部分,还有一些甚至没有提到这种方法。 (你认为, make , MS-Excel 和Unix Shell 管道是某种吗?)
所有基于数据流方法的现代数字合成器都有一个惊人的视觉示例:http://www.youtube.com/watch?v=0h-RhyopUmc
AFAIK,没有用于明确教育目的的数据流系统。有关详细信息,请访问以下网站:http://flowbased.org/start
答案 3 :(得分:3)
有一个新的开源库:TUM.CMS.VPLControl。得到它here。此库可作为您的目的的基础。
答案 4 :(得分:2)
麻省理工学院写的是Scratch,很像你想要的。
答案 5 :(得分:1)
加州大学伯克利分校撰写Snap。理解VPL是另一种选择。
答案 6 :(得分:1)
请注意CoSpaces Edu。它是一个在线平台,可以创建虚拟世界和学习体验,同时为学习课程提供更灵活的方法。
有视觉编码,名为“ CoBlocks ”。
学习者可以使用“ CoBlocks ”对自己的创作进行动画处理和编码,然后在移动VR中进行探索和共享。 也可以使用JavaScript或TypeScript。
答案 7 :(得分:0)
如果您想继续这样做,我建议的平台是用于实现Scratch的平台(已经做了你想要的,恕我直言),这是Squeak Smalltalk。 Squeak环境的设计考虑了可视化编程。它是免费的,Smalltalk语法可以在半小时内学会。学习巨大的类库可能需要更长的时间。
答案 8 :(得分:0)
对微比特的支持和开发最多的块编辑器是microsoft makecode
答案 9 :(得分:-1)
Scratch教授编程是一种可怕的语言(我有偏见,但请查看Pipes Visual Programming Language)
您似乎想要做的事情听起来很像功能块编程(如功能块编程语言IEC 61499和其他用于机电一体化开发的VPL)。已经有很多关于VPL的研究,所以你可能想要确保A)你想要做的事情有观众和B)你想要做的事情可以轻松完成。
听起来有些消极,但是开始测试你想法的合理性的好地方是阅读Davor Babic在http://blog.davor.se/blog/2012/09/09/Visual-programming/的短篇博文
至于使用什么平台 - 你几乎可以使用任何东西,只要确保它有好的图形库(你可以使用Java和Swing - 如果你喜欢痛苦 - 或者使用TKinter的Python)只是取决于你熟悉的用。请记住,您最终要将语言发布到哪个(如果是iOS,那么请使用Objective-C等)。