richmond62 wrote: ↑Wed Dec 06, 2023 8:00 am
LiveCode has implemented a way to build widgets (something I would read as 'new objects') inwith LiveCode itself; probably because LCB is undocumented and a half-cock job.
-------
If the ability to build wdiegets with xTalk were implremented inwith OXT that could even mean that an 'OXT Educational' could do away with LCB add-ons altogether.
I really don't understand their touting of, as a new latest feature, the ability to build 'Widgets' with script / without LCB. You could already do that as a 'grouped control', which is exactly the way I built my first "Piano Widget" before rebuilding it in LCB. And isn't the DataGrid, or Bernd's Mod Table Field, not basically the same sort of thing as as a 'Widget'?
You absolutely could remove ALL of the LCB stuff and it's bitcode module compiler, in a trimmed down version of the iDE, in fact you could pull the UI stacks for your widget-less IDE from LC Community v.7.x and use those.
richmond62 wrote: ↑Wed Dec 06, 2023 8:00 am
All I have ever felt is that LCB serves to backup critics of xTalk who state that xTalk is not a 'proper' programming language. There should be no need for xTalk to need another programming language like a set of leg callipers for a polio victim.
I think they had loftier goals when they decided to develop Extension Builder than just checking off some 'proper programming language' checkbox, at least they said they did and I took them at their word.
Anyway I disagree that there's was no need for another language. In the end they all compile down to assembly-to-machine code in order to be executed by the hardware, but different programming languages have different design goals.
Extension Builder is designed to extend the engine, its UI toolkit, and extend its own language. An early stated goal was to build the entire Engine and IDE in LCB, which if they had done that, we wouldn't have to worry about updating and compiling for new architectures some rather old C++ code today. Extension Builder FAR more xTalk-Scripter-friendly than C++.
Most importantly, YES, it does do the closer-to-bare-metal proper-programming language things far better than you can from most scripting languages. Not just xTalk scripting, I mean a lot of libraries used with Lua or Python aren't actually written in Lua or Python. Python and Lua (just for popular examples, and these even have the required static primitive types like a 'proper' programming language) use FFI to access the symbols from libraries written in other languages. That USB/Bluthooth HIDAPI library that built an Extension module around, uses the exact same library, written in C, that PyGame uses.
Extending the possibilities with XCMD/XCFN, Xtras, XTernals, etc. IS an xTalk tradition, in fact HyperCard probably invented the idea of extending software with "plug-ins". The IDE already uses a few 'Externals', like the Database stuff, which you need a lower level language and the 'glue code' to build. Extension Builder however, is very much in the tradition of WindowScript and CompileIt! from Heizer Software, which allowed you to build 'externals' XCMD/XFCN modules, as well as code Resources, WDEF (Window definitions), DLOG (Dialogs), Palette Windows, etc. for HyperCard, all without having to drop down to writing them in Apple Pascal, Think-C ( later you could use FutureBASIC too). CompileIt would transpile/compile an extended variation of HyperTalk Script, giving scripters access to the Macintosh ROM's Toolbox. It's this the sort of user-centric extensibility that is what made HyperCard THE insanely great software in the early days of mac, and it's at least a part of why I'm still here obsessing over xTalk. Honestly, If I couldn't do the fun stuff like CoreMIDI that Extension Builder allows for, I probably would have reluctantly moved on to Swift or whatever else by now.
I think the biggest mistakes with Extension Builder were not working on it more, not documenting it better, and not encouraging uptake by their user base more. I like it still.
richmond62 wrote: ↑Wed Dec 06, 2023 8:00 am
I remember in about 1972 getting cheesed-off with the idea of LEGO Technik: and, although my LEGO collection is now about 25 time the size it was in 1972, I have NEVER besmirched it with either 'Technik' or any of the other 'perversions'.
I don't know what any of that means, but my youngest son loves the LEGO stuff, has built tons of sets. Lego has their own programming language too.
