Sorry if I did not make this clear…
forGL IDE needs to run on a wide variety of platforms, especially phones, smart phones and tablets. A heavy weight IDE would be a barrier to anyone that is not already a developer with a laptop or desktop.
@ibilon
I like the spirit of your suggestion but…
I don’t see VS Code running on Android or Windows Phone or Mac Phone.
forGL is aimed for maybe non technical and likely non English speaking Users.
I would have a problem recommending a solution that did not fit more platforms and typically took 1/2 Hour or more to install even by experienced technical users and took GigaBytes of storage and (scariest of all) triggered a Windows OS Restore point as part of the Install.
@Kyliathy
It may be that JS will be the only solution for dumb phones.
For smart phones I would much prefer a native app.
Its nice that Node.js is finally catching up to using Web Worker(s) but I already have a WW without needing Node.js so I do not see a compelling reason to add a Dependency on a JavaScript specific library I did not use before.
@Matt
Thanks for the info about Lazarus JSON interface.
I would prefer to have a single app for smart phones and tablets rather than 2 or more.
So first choice would be something in a Haxe generated target language rather than Pascal. For Laptops and Desktops I did consider a Client / Server approach but for now simplicity is favored.
forGL IDE would look like…
Similar to Any programming language IDE.
Like Haxe Develop or Visual Studio Code or whatever.
Area for source code typically at Left side
Colored text of the forGL code showing if Verb, Noun, whatever
At Right would be Dictionary view or File view or Project View
like Haxe Develop or Visual Studio Code
Dictionary view is something specific to forGL and would Help with Editing and maybe Running.
Bottom would have status area.
When Interpreter is Running:
Output of User code.
Display of Data, Operator and Noun stacks. (Interpreter internals)
Call Stack, (Verb calls another Verb)
Maybe an area for Breakpoints.
And what kind of (and how much) data has to be shared ?
Data would be almost entirely Text for now. Parts of the Text may be marked up with Noun, Verb or other info as described before. For simple apps I do not expect a lot of Data needs to be rendered.
BUT when more capable applications Run with their own text UI or GUI or even 3D GUI then I expect perhaps quite a bit more Data. Depends on how smart the GUI is about rendering. Somewhat similar to the IDE or IDE / Debugger you use when working on / Debugging your own Graphics game or application.
At the point where forGL allows user code to create and Run their own UI then having the Output be in an entirely separate window and not just a part of the 4GL IDE makes a lot of sense. I think forGL will support dynamic UI or GUI creation likely before forGL supports most of our Natural Languages (in a simplified way).
Thanks for your thoughtful suggestions!