Poll

QB64 IS GETTING TOO BIG!! Vote!

YES!
7 (24.1%)
NO!
22 (75.9%)
MAYBE!
0 (0%)

Total Members Voted: 29

  • Print

Author Topic: QB64 IS GETTING TOO BIG!! Vote!.  (Read 580 times)

Johny B.

  • Sr. Member
  • ****
  • Posts: 358
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #30 on: May 02, 2012, 02:05:15 AM »
Qbasic was smaller for a number of reasons. Firstly, it ran on DOS, which was a much simpler system. It required less code to do something, but you couldn't do a lot. Secondly, all of Qbasic's code was written for the program, while QB64 uses a general purpose library. Also, Qbasic was only an interpreter,whilst QB64 comes with a whole MinGW package. Qbasic was also much more limited in what it could do. (No networking functions, no fancy sound or graphic functions etc.) Lastly, Qbasic was created by a whole team of programmers, whose day job was to create Qbasic. QB64 is created by one person in his spare time.
"Time is an illusion; Lunchtime doubly so." - Douglas Adams

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #31 on: May 02, 2012, 03:29:04 AM »
So What is the Exponential Growth to what we have Now!?

I am Sure the Original Could do Most of what QB64 Can with Tweaks!


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

mcalkins

  • Sr. Member
  • ****
  • Posts: 479
    • qbasicmichael.com
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #32 on: May 02, 2012, 04:00:01 AM »
Quote from: A.R.B on May 02, 2012, 01:55:34 AM
Was it only a Dream that Q?-Basic Once had a Small Efficient Interface plus a Debugger all Built in!

What prevents you from using QBASIC now? If you prefer it, use it.

QB64 has a number of advantages over QBASIC. Unless I am much mistaken, compiled QB64 code generally executes much faster than interpreted QBASIC code. QB64 offers several features that QBASIC should have had, but didn't, such as unsigned types. QB64 targets modern platforms.

I think there are 2 obvious advantages to outputting C/C++ code instead of directly outputting Assembly. It is much easier to be multi-platform. You get to delegate a lot of the optimization to a much more mature compiler. The BASIC and C/C++ languages are close enough in structure and function that it makes sense to do this. (The syntax is different, but most of the BASIC constructions have direct and equivalent or nearly equivalent counterparts in C/C++.)

It's a fact of life that programs will be larger under Windows than equivalent programs under DOS.

If you want maximum efficiency, you should probably learn Assembly, but that will always be very architecture specific. If you want maximum efficiency in a cross-platform way, you'd have a hard time beating C/C++. The best QB64 can hope for is to approach or maybe equal C++. I don't think it is possible to surpass it. (Any innovation that QB64 could come up with to surpass existing C/C++ would be adopted in the other languages/compilers.)

A.R.B., there might be better things to do than to complain. You have options: Learn a new language or tool that better meets your needs. Improve QB64 within your abilities. Increase your abilities to be in a better position to improve QB64. Fork QB64 and improve it independently. Write your own BASIC compiler/interpreter from scratch. Wait for Galleon, and maybe QB64 will better meet your needs in the future. I'm directing this mainly to A.R.B. but it might apply to Fatman also. I'm not trying to be mean or hostile to anyone in this post, although I admit to antagonizing A.R.B. in previous posts. I guess we each have our own style and personality. What I perceive as complaining might not be meant as such, and I've been known to do my share of complaining as well.

One other thing to remember about QB64 is that it is free and open source. Neither QBASIC nor QuickBASIC were. QBASIC was widely distributed with DOS, OS/2, and Windows, but it was not FOSS. QuickBASIC had to be bought, unless I am mistaken. FreeBASIC and QB64 gave the world FOSS BASIC solutions, and QB64 succeeded in a high degree of QBASIC compatibility. You can legally use QB64 to run code that used to require a proprietary tool.

Regards,
Michael

P.S.
Quote from: A.R.B on May 02, 2012, 03:29:04 AM
I am Sure the Original Could do Most of what QB64 Can with Tweaks!

QBASIC targeted DOS. (There was a Mac version. I think ChronoKitsune might have mentioned an OS/2 version. But I am familiar with neither.)
The 16 bit real mode DOS platform was inherently limited. 32 bit protected mode DOS was better. (There is even a project called HX Extender that can run Windows programs in DOS.) But at some point, you are going so far beyond DOS that you might as well just abandon DOS altogether. DOS is like a weak foundation. Sure you can extend it and do stuff on top of it, but it's not solid unless you replace the foundation. To the extent that you replace the foundation, are you really still using DOS? I think Windows 3.x through 98SE/ME took that as far as it needs to go.

Regards,
Michael

P.S. And you could certainly push beyond QBASIC's limitations with CALL Absolute(), but then you're using Assembly, not pure QBASIC. Likewise, you could use C modules with QuickBASIC. Both routes are very comparable to DECLARE LIBRARY in QB64.

I think CALL Absolute(), as usually used in QBASIC, would be problematic in Windows, because of Data Execution Prevention. Self modifying code is frowned on in the modern world.
« Last Edit: May 02, 2012, 04:41:51 AM by mcalkins »

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #33 on: May 02, 2012, 04:27:08 AM »
Thanks mcalkins Very Informative!...

But I see lot's of so Called Improvements? This and other Basic Versions! still Cannot do Simple Math Calculations!

This is down to the INPUT/Variable Problems not being able to Hold Original Information! If you want to Reverse Calculate! Etc.


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

mcalkins

  • Sr. Member
  • ****
  • Posts: 479
    • qbasicmichael.com
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #34 on: May 02, 2012, 04:35:58 AM »
I'm afraid I lack any strong math background, so you've lost me again. Are you saying that you want the programming language to solve equations and do algebra for you?

Regards,
Michael

Galleon

  • Administrator
  • Hero Member
  • *******
  • Posts: 3736
  • QB Forever
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #35 on: May 02, 2012, 04:50:49 AM »
OK.

No one is arguing with your view that QB64 creates executable files which are larger than they should be. It will be addressed this year alongside the implementation of precompiled modules. It will be a major structural change to QB64. In all likelihood, neither you nor Fatman will be satisfied with the extent of the reduction even though it will be considerable (possibly 10% of original size for simple programs). Base memory footprint will reduce by about 50% of current size, again only for simple programs without big arrays etc.

The thought that QB64 is generally inferior to QBASIC is complete rubbish. QBASIC had an interpreter, but that's all I'm willing to give it there.
QBASIC didn't emulate any older processors or memory systems.
QBASIC didn't emulate any BIOS or DOS calls.
QBASIC didn't provide support for VESA screen modes even though the standard was is place well before its release. QB64 provides 32-bit color and alpha support.
QBASIC was not cross-platform or cross-architecture.
QBASIC provided no support for SoundBlaster/etc  even though the standards were in place well before its release. QB64 provides support for many sound formats.
QBASIC had no mouse support (they have also been around a long time, even the QBASIC IDE was mouse driven!) and flawed support for joysticks.
QBASIC had pathetic support for timing of programs leading to 99% of QBASIC-written action games to run at differing speeds and many to be completely unplayable on modern computers.
QBASIC TIMER events were limited to whole seconds, making them unsuitable for displaying anything except a clock.
And that's just scratching the surface...

Interesting note: The QBASIC IDE consumed roughly one third of available conventional memory. That left around about 192K of space for variables (more if you tweaked config.sys & autoexec.bat a lot). The problem was that any program requiring better graphics needed to sacrifice 64K of that for VESA bank swap space (unless they switched the processor to flat real mode which was blocked under any form of Windows). For a sound buffer another 32K or so was usually sacrificed. If MIDI was to be supported, you can throw away 64K for that device driver too. So for editing a QBASIC game in the QBASIC IDE that used MIDI, wave sound effects and SVGA graphics you were left with an effective space of 32K for storing variables in. Even with XMS commands to shift memory into and out of extended memory it was unworkable, and the larger your .BAS program's code became the more of the 32K you said goodbye to.
« Last Edit: May 02, 2012, 05:04:30 AM by Galleon »

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #36 on: May 02, 2012, 04:51:41 AM »
No Nothing as Complicated as "solve equations and do algebra for you?"

Simple INPUT...

Like INPUT A,B,C as Fractions then Convert to Percent! and then Reverse the Values of the Fractions & Percent's

Output Must be the Same as the Original!...But Reverse!


A.R.B


Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #37 on: May 02, 2012, 04:54:55 AM »
What you are doing Galleon is Incredible! and Appreciated by Everyone!! Especially Me!  ;)  ;)

But I See QB64 Turning into a MINI Operating System!?


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

Galleon

  • Administrator
  • Hero Member
  • *******
  • Posts: 3736
  • QB Forever
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #38 on: May 02, 2012, 05:08:57 AM »
Quote
But I See QB64 Turning into a MINI Operating System!?
What would you remove from QB64?

Quote
Like INPUT A,B,C as Fractions then Convert to Percent! and then Reverse the Values of the Fractions & Percent's
Output Must be the Same as the Original!...But Reverse!
Sounds like floating point rounding trouble. It has nothing to do with QB64. I suggest you use the new QB64 _FLOAT type (instead of SINGLEs or DOUBLEs) and round your answer to the nearest x-many decimal places before displaying it.
« Last Edit: May 02, 2012, 05:14:21 AM by Galleon »

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #39 on: May 02, 2012, 05:18:37 AM »
For Me if I Said what I would liked Removed! Everyone would be Unhappy!

As I only Use QB64 for My Own Programs!...Which are Simple for QB64 as the Output is Only .txt  (If I Had Windows Maybe I would Use QB.7) But I like QB64 on Linux! as Linux Never Crashes!

Would it Be Possible to Have Different Run Modes for QB64 Like (Simple) (Moderate) (Advanced) or Something like that!

Which would make (Simple) Mode Super fast for those type of Programs!


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #40 on: May 02, 2012, 05:23:36 AM »
Quote : Galleon "Sounds like floating point rounding trouble. It has nothing to do with QB64. I suggest you use the new QB64 _FLOAT type (instead of SINGLEs or DOUBLEs) and round your answer to the nearest x-many decimal places before displaying it."

That is NEW to Me!  8)

Displaying is not a Problem! there are Many ways round that! It's Holding the Information in the Variables that is the Problem!

The Original is Always different After Reversed Percent!


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

Galleon

  • Administrator
  • Hero Member
  • *******
  • Posts: 3736
  • QB Forever
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #41 on: May 02, 2012, 05:53:03 AM »
Quote
That is NEW to Me!
http://en.wikipedia.org/wiki/Round-off_error
http://www.validlab.com/goldberg/paper.pdf
« Last Edit: May 02, 2012, 06:03:39 AM by Galleon »

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #42 on: May 02, 2012, 06:12:09 AM »
Very Interesting .Pdf Thanks Galleon...

Any Thoughts on Different QB64 Modes! a bit like How Washing Machines Have different Modes! (They Now Use Fuzzy Logic!)  :)


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

mcalkins

  • Sr. Member
  • ****
  • Posts: 479
    • qbasicmichael.com
    • Email
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #43 on: May 02, 2012, 06:15:30 AM »
I have a very hard time understanding you A.R.B.

http://en.wikipedia.org/wiki/IEEE_754-1985

Floating point numbers are binary. If you store any fraction whose denominator is not a power of 2, you will have rounding, and you will have inaccuracy. For example: 3/8 can be stored, because 8 is a power of 2. 3/10 cannot be stored because 10 is not a power of 2. Someone please correct me if I'm wrong.

http://www.network54.com/Forum/648955/message/1329671496/Quirky+behavior

Regards,
Michael.

A.R.B

  • Sr. Member
  • ****
  • Posts: 457
Re: QB64 IS GETTING TOO BIG!! Vote!.
« Reply #44 on: May 02, 2012, 06:55:50 AM »
So Have you Reached the Same Place as Me Michael ?

Computers & QB64 + Don't do it!


A.R.B
Knew That We Ventured On Such Dangerous Seas
That If We Wrought Out Life 'Twas Ten To One.

William Shakespeare, Henry IV, Part II, Act I, Scene 1 lines 181–2.
----------------------------------------------------------------------
Jesus Crucified By His Own Kind! Is Proof of How Bad! They Were! Are!

  • Print