For my Final Year Project (at University), I’ve been looking at tools which aid learning of programming, specifically Visual Programming Languages (VPLs) (like Scratch) and various less-well-adopted tools which aim to help with transitioning from VPLs to Textual Languages.
What I’ve made is a drag-and-drop style code editor for a subset of the luau language. This is meant to feel familiar with traditional VPLs by enforcing block structure, and having a panel of blocks containing all possible code constructs.
To encourage transition, it does allow some textual input, such as being able to double click into some blocks to edit, such as expanding/adding to expressions, setting function/variable names and a few others. Ideally it would be able to take any textual input to make new lines, but the focus of this project was more on the drag-and-drop nature of interaction rather than parsing.
I’d be interested in hearing what you think to this style of editor. (Please bear in mind it is not aimed at people who already know how to program well in textual languages).
A quick video showing a simple script to make a brick sparkle for 3 seconds can be seen here:
Notable admissions from the subset language are: Anonymous functions, luau type annotations & If then else expressions.
If it were a production product, ideally this would be expanded with lots of other features, such as stepped execution, linting and suggestions.
Please feel free to post any bug reports here, however I can’t guarantee I’ll have the time to fix them as the project deadline is soon.
https://www.roblox.com/library/9133017406/BlockCode-Demo-Drag-Drop-Code-Editor