Real notes on QB64

by (Login PhyloGenesis)
R

"(1) QB64 is Bloated"

Nope, not true. To be bloated the program has to have more code than required to perform the designed task. In this case, there are surely optimizations that could be done, but unlike QBasic, it is not designed to produce executables to run on specific architecture on specific operating systems, etc. When you write a truly portable program, it will always be larger than the unportable version, as it will essentially contain the same code for many configurations. If you cut out all but one configuration, then yeah, the program will be smaller.


"(2) It stops at the first error rather then continuing to attempt to compile the file as GCC does."

Demo #7 does sure,,, but that isn't a "problem", that's an incomplete task.


"(3) It uses an ugly underscore hack rather than using namespaces or a command line option."

Far from it, obviously. First, it is basically a namespace, "_". Not using the command line allows both QBasic and QB64 code to be mixed. Otherwise, it would be separating the language, like FB did. Instead of making the compiler able to compile two languages, it just compiles everything. It was rather intelligent to make new features accessible via an underscore, as it prevents breaking any old code.


"(4) It will never be fully compatible with QBASIC. C++ is fundamentally different from QBASIC in many ways. Example: The C++ standard does not specify things like the order of evaluation of function arguments while QBASIC specifies left-to-right evaluation. Technically it could be completely QBASIC compatible, but that would require writing a DOSBOX style emulator, resulting in a severe performance hit."

Sigh... it will be so close to 100% compatible that only the most extremely deep direct memory manipulation will fail. Yeah, duh C++ is fundamentally different, have you heard of "conversion"? That's the name of the game here. A DOSBOX style emulator is certainly not required. Saying that some SHELL commands not working doesn't make QB64 incompatible, it makes your code incompatible. SHELL is a QBasic command that sends a string to the command line. Attempting to run a DOS command in Linux on QB64 and having it fail isn't QB64's fault, but yours for specifying only DOS commands for a multi-platform program, then claiming it runs on all OS's. Anyway, you obviously just have no clue what you're saying here.


"(5) Despite translating to C++, it does not offer object orientation features available in C++. QB64 could have been written just as easily in ordinary C."

First of all, saying that is stupid, as he may well offer those features. Who told you QB64 was complete? You're looking at ***DEMO 8*** coming soon, which means 1.0 could be very far away. Secondly, if he doesn't, the reason is because the community doesn't WANT it. If we wanted everything C++ has, we'd program in C++. So why not write it in C you say? Maybe he didn't feel like using that language? Last I recall, it was the programmers choice...


"(6) It uses the SDL library for text IO rather than then normal console, disallowing piping and redirection."

So far yeah. Is it alright if he focuses on getting it emulating QBASIC before expanding its abilities to your liking? Personally, I'd rather it display text in my program window than pipe it to some useless extraWindows console with no graphics, LOCATE, CLS, resizing, etc.


"(7) It is dependant on the Windows Operating System and is unlikely to be ported to Linux in the near future."

Now you're just being incompetent. This incomplete project is currently being made to work under the most commonly used OS, especially the one which previously contained QBASIC. As for being ported to Linux, well, you're just wrong. It probably will, in fact, a few regulars have already been checking out its Linux incompatibilities. In addition, that is one of the major goals of the project, so when it is complete, it will definitely run on Linux.


"(8) It will be disgarded as FreeBASIC was because won't be completely compatible. (see #4)"

This isn't a "problem with QB64", this is a prediction, which is obviously wrong, since it is most certainly VERY, VERY compatible.

Anyway, my daily moronics-correction practice is over, so I'll be off.

PhyloGenesis



    
This message has been edited by PhyloGenesis from IP address 71.102.246.240 on Jun 20, 2008 11:32 PM

Posted on Jun 20, 2008, 11:28 PM
from IP address 71.102.246.240

Respond to this message   

Return to Index


Response TitleAuthor and Date
* LOL @ daily moronics on Jun 20
It's unsurprising that PhyloGenesis gave the same answers as me! on Jun 20
i liked galleon's version better, let me explain why thoughmennonite on Jun 21
 *or rather, "am not"mennonite on Jun 21