500lines-blockcode(前端)[还没入门]

Blockcode 是什么

一个可视化编程工具。源自于github上的开源项目500lines。
学习一门编程语言是很困难,因为他们对于细微的错误非常敏感。大部分编程语言,大小写敏感,关注语法,如果你不添加分号还不给你运行,或者在错误的地方。此外,目前使用的大多数编程语言都是基于英语的,它们的语法不能本地化。

相反的,一个块代码语言可以完全排除语法错误。你可以创建一个程序得到的不是你想要的结果,但你不可能发生语法错误。块语言更易于发现:您可以在块列表中看到该语言的所有构造和库。此外,块可以本地化为任何人类语言,而不改变编程语言的含义。

基于块代码的语言有很长的历史,其中最著名的是Lego Mindstorms, Alice3D, StarLogo,尤其是Scratch。web上也有一些基于块的编程工具:Blockly、AppInventor、Tynker等等。

这个代码基于waterbear的开源项目,它不是一个语言而是一个工具打包现有的语言成一个语法快。这种包装器的优点包括:消除语法错误、可视地显示可用组件、易于本地化。此外,可视代码有时更容易阅读和调试,并且可以通过预输入子代码来使用块。(我们甚至可以更进一步,在模块上加上图标,或者与文本名称结合使用,或者不使用它们,以允许尚未识字的儿童编写程序,但在本例中我们不会做得太多。)

turtle图形语言的选择可以追溯到Logo语言,它是专门用来教孩子编程的。上面的一些基于块的语言包括turtle图形,它是一个足够小的领域,能够在这样一个受到严格限制的项目中捕获。

体验Block Code

block code

目标和结构

我想要用这些代码做一些事情,最重要的是,我想要为turtle 图像完成一个块语言,你可以通过过写代码通过拉动然后扔掉一些块,使用一些简单的前端结构(css + Html +JavaScript)
第二,也很重要。我想展示这些块本身是如何作为除我们的迷你乌龟语言之外的其他语言的框架的。

为此,我们将特定于turtle语言的所有内容封装到一个文件\newline (turtle.js)中,可以轻松地与另一个文件交换。没有什么是海龟语言特有的;剩下的应该只是处理块(blocks.js和menu.js),或者是通常有用的web实用程序(util.js drag.js file.js)。这就是我们的目标,尽管要保持项目的小规模,但是其中一些实用程序不是通用的,而是更具体地与块一起使用。

在编写块语言时,有一件事给我留下了深刻的印象,那就是该语言是自己的IDE。你不能只是在你最喜欢的文本编辑器中编写代码;IDE必须与块语言并行设计和开发。这有一些优点和缺点。好的一面是,每个人都将使用一个一致的环境,不会为使用什么编辑器而进行宗教战争。缺点是,它会极大地分散构建块语言本身的注意力。

脚本特性

一个Blockcode 脚本,就像很多其他任何语言的脚本一样(无论是基于块的还是基于文本的),它就是跟着的一大堆才足以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值