04-24-2023, 02:27 PM
(04-24-2023, 01:14 PM)Ultraman Wrote: I can't see how you'd have a problem with non-BASIC things being added, considering we have a plethora of underscore commands which were not used in BASIC. Not to mention MEM, which is an object of sorts, that also did not exist in BASIC.
I guess it's all a matter of perspective. To me, the underscore commands ARE part of our language -- just modern extensions to expand the old QB45 capabilities (let's be honest, who the heck would want to make games and such at 320x200 screen resolution anymore??) -- and they're something that evolved organically over the last 20 years of development of QB64. Since I knew QB45, I had a starting point into the language here, and then I could slowly learn and incorporate the new stuff as I needed it.
On the other hand, I see QBJS as a new language that is working from the very beginning with a premise of *combining* QB-commands and JavaScript, meaning that to use it properly, someone would have to have a basic understanding of both languages. For me, I'd have to learn *both* the BASIC-base *and* the QBJS-base, before I could make use of it. It's just not something I'm personally interested in learning and doing. As I've mentioned previously, I have several PCs which are off-line and don't even have a browser installed on them, making QBJS *not* the proper tool to use with them.
And kindly don't get me wrong: I have *nothing* against QBJS. In fact, I'm quite impressed at what dbox has managed to create and maintain, and I'm looking forward to see it grow and develop in the future. That's why we have a subforum here for it, and why I dedicated part of our server space when vince asked, so that a set of forums could be set up and dedicated to QBJS fully: https://qb64phoenix.com/qbjs/
QBJS just isn't a tool that I need for myself, but I'd encourage anyone else who's interested to give it a try and see if it'd be useful for them. For me, personally, I need portable EXEs which I can move from one machine to another, and QB64 gives me that, while QBJS gives the flexibility of moving from browser to browser.
The biggest problem I see with QBJS is the same style problem as I see with development for Linux -- it's impossible to test for all the different user bases out there. There's one simple reason why I tend to code exclusively with Windows in mind for my personal needs -- things tend to just work. An EXE on my PC will run on my Laptop, my neighbor's Windows machine, my cousin's windows machine, and my Aunt Sally's Windows machine. On Linux, that's not always true at all, as Mint might not run while Ubuntu will, and Archlinux is always questionable, with questions about KDE vs Gnome vs rootbeer vs limes.... Too many individual configurations and components which might -- or might not -- be supported, making it hard to actually say, "This works on Linux." QBJS has that same difficulty in development -- too many browsers out on the market which people are using which might, or might not, support any given feature. dbox, like us, tests and tries to make things as universal as possible, but no matter how hard you try, there's going to be folks who won't be able to make things work.
For me, personally, a Windows EXE file is what I need, and for that, I'm thankful for QB64PE -- but I'm also thankful that folks have choices so they can choose what suits their needs the most. A metric socket isn't much use on an imperial nut.