Following up the LEGO Digital Continuum one major gap seems to be the lack of text based programming option. Try my EV3GBasic beta editor here https://ev3treevis.azurewebsites.net/Editor.aspx
== TL;DR ==
A text mode programming environment seems to be an inferior requirement if you are targeting 5-6-8-10-12 year old kids and non-programmers, however as of today more and more 14-16 year kids turn to be expert coders, a power option for programming should be vital.
I have 25 years of experience as a programmer, and based on that I feel that not only speed of coding is a key factor; moreover visual code is a highly error-prone approach.
Try to implement anything complex. Sure, you your algorithmic skills will improve, yet you will iterate a lot due to small errors. This is definitely not the way 2020 coding is done.
You need to create code once, fix errors once. Copy and paste like a charm.
Did you know that for many years Visual Basic was THE most used coding language. Understanding that there ARE many smart people in the world without a computer science degree + there is a high market demand for codes to be written.
Combined: world needs a simple enough, yet powerful programming language.
Though I am aware of the existing awesome EV3Basic project (check it out), this is something different: I am sure that LEGO and NI has created quite a powerful language already, just forgot to add the right tooling.
Hence I have defined the EV3GBasic language to simplify the use of EV3G world 1.

In the last few weeks I managed to create a simple text editor and also add a draft version of autocomplete. Yes, this is far away from anything really useable, yet demonstrates my idea and dream at a certain degree.
This beta mode demo is capable of
- creating a program or multiple programs at once
- with syntax highlight using standard colors
- all EV3G functions can be used, with integrated autocomplete/suggestion [ctrl+space]
- local variables (a.k.a) data wires can used as well starting with “$” sign (e.g.
$datawire1), also indicating dataflow directionout $variable1 - strings have dedicated single apostrophe notation, e.g.
Display.StringGrid 'MINDSTORMS', True, 0, 0, Black, 2. - all special identifiers and arrays are recognized and respected – colors, sound play types, break or coast, etc.
- control statements (WaitFor, Loop, Switch) use parentheses for their contained condition
WaitFor(ColorSensor.CompareColor 3, [Red], out $detectedcolor)
Once you are done with coding as of today I can offer
- create and download a standard .ev3 file
- copy the current code to clipboard and directly paste to ev3 program
- copy the current code, even multiple functions and paste them to the ev3 project, wrench icon
What is already working
FIRST LEGO League City Shaper mission is working, all blocks, data wires and the loop is working.
What is missing
- Parallel sequence (Fork) wires are understood, yet not generated
- Switches are not reliable – sometimes even the EV3G Mindstorm environment hangs until a restart
- MyBlocks are not yet generated
EV3GBasic language definition seems to be complete – you can generate am EVGBasic overview of any ev3, ev3m project using the standard viewer at http://ev3treevis.azurewebsites.net with text mode, holding the Shift key for alternative mode.
Happy experimenting, let me know what do you think!
Progress Info: I am stuck with National Instruments code node Bounds to be calculated exactly as NI EV3 expects. Without proper canvas coordinates NI LabView / Silvelight seems to hang. Any help is highly appreciated.
1 Once I have my hands on EV3 Classroom this needs to be extended through.