Page 1 of 2

is Qb dead?

Posted: Sun Sep 23, 2007 11:35 am
by D.S
I was just looking through Qb express 24 and noticed that there was almost nothing coded in pure qbasic. Everything seems to be moving toward Freebasic. Of course, once a program is in .exe form, nobody cares what was used to make it, but am I seeing the final last breath of the pure qbasic community? Or will pure qb-ers and freebasic lovers just stay mixed as one community?

Posted: Sun Sep 23, 2007 12:03 pm
by Lachie Dazdarian
Of course, once a program is in .exe form, nobody cares what was used to make it,...
Erm....what the heck are you talking about? QBasic produces DOS executables, while FreeBASIC produces DOS, Windows and Lunux executables. With FreeBASIC you have an access to all the nifty 32-bit libraries like FMOD or OpenGL, not to mention all the memory you want (relatively speaking) which DOS couldn't give it to you. So there is a reason people are switching to FreeBASIC.

I'm all for qb-ers and fb-ers staying in one community, but it's just the nature of things that there will be less and less qb-ers developing. I'm sure people will play with qb for quite some time to come, but I doubt I'll see any major qb release (game or utility) ever.

Posted: Sun Sep 23, 2007 12:53 pm
by Codemss
Well, I am somebody who codes everything in pure qbasic. Freebasic is better at some points, but it's that I'm used to code in qbasic. I hate compilers that can't interprete (i know that there is something as a freebasic ide, but I dont like it cuz i had some troubles with it). BTW, always if i compile a program, i get errors with dimming shit. When i do:

It gets me an error. I hate it to write this:


Posted: Sun Sep 23, 2007 1:13 pm
by ThemePark
D.S., to me QuickBasic is still very much alive and kicking. I actually expected QB to be pretty much dead for the last many years, until I came across this site a couple of months ago. The fact that it still exists proves more than anything to me that QB is far from dead. Also, just look at the many threads in here that are created with QB in mind, mainly QB questions.

Now, maybe nobody would really use QB today for developing anything big, I can't really say that. But I do think a lot of us still use QB for developing serious stuff as well, myself included, perhaps mainly those of us who grew up with QB.

Personally I would never switch to FreeBasic, not that I have anything against it but QB is like a dear old friend to me, and its obvious lacks just makes it that much more of a challenge to do what you want it to do. But I believe most challenges in QB can be overcome, and that it just strengthens you as a programmer, it gives you a lot of experience with settling with what you have and making the best out of it, instead of just having something that makes it all possible for you with a simple line of code. Lazy programming as I guess Mac would call it.

Posted: Sun Sep 23, 2007 3:21 pm
by Lachie Dazdarian
Codemss, DIM variable AS INTEGER does not report an error. You are probably doing something else with your code that causes an error. Also, tried to compile your code with -lang qb command line?

Perhaps you should actually choose to want to use FB, instead of finding false reasons not to use it. Not a good way to approach a new compiler.

ThemePark, I just don't believe that shit about serious projects. Sorry, but 2 years passed and nothing relevant happened in QB. No new libraries, no new noteworthy completed games. There is this QB GUI, but holding on to that is silly.

QBasic simply cannot overcome the 16-bit limit, and it will always be a 16-bit DOS compiler. Using it doesn't not strengthen you as a coder. It only limits you. FreeBASIC opened a huge 32-bit door for all QB users. It's up to you if you will use some library for sound or graphics or write you own. You choose the easy way or not. Nothing in FreeBASIC limits you to grow as a programmer. Actually, it can only motivate you to learn C++ and current graphics/sounds libraries, instead of lingering with XMS/EMS management or some similar nonsense. And please, go ahead and use DirectQBSound in your project.

Also, there is nothing wrong with lazy programming. It makes you complete things. But this only me talking, a game designer and not really a programmer. Anyway, this is just a side note, not related to the discussion.

BTW, check my ?no-predrawn graphics? FB game made with its build-in graphics library. All lines and circles!

Posted: Sun Sep 23, 2007 7:56 pm
by Mentat
It's getting quiet, but not dead. Pong and Pac Man haven't died, and they're older.

And who knows? Maybe there'll be a renasiance for BASIC.
Some people might get tired of all these new languages.

Posted: Mon Sep 24, 2007 11:10 am
by NaTeDoGG
I have fond memories of QB, but going back to it after 10 years is really brutal. Modern programming languages have evolved a lot, and QB just can't compete. FB overcomes much of that, but at some point it is time to give up QB syntax and move on to greater things.

I find Java syntax far simpler, it is much more consistent, and object oriented programming is very powerful. But most of all, programming Java in the Eclipse IDE is the killer blow. Eclipse is supremely powerful and one of the most impressive applications I've ever used (JRiver Media Center is another).

With all of this being free, it seems silly to hold on to a legacy language for anything other than nostalgia.

QB might also be useful as an introduction to programming, however I have mixed feelings. It is probably more useful to introduce new programmers to a modern scripting language like Javascript, which is a skill that can actually be applied in the world today. From HTML/Javascript you can move to server side scripting like PHP. With PHP you can write console applications as well as doing web development. After that the next step would be to move to OOP, which can be done in PHP6. That would be a decent introduction to OOP and allow a smoother migration to Java, which IMO should be the end goal.

Posted: Mon Sep 24, 2007 12:17 pm
by bungytheworm
For me, qb.exe is not dead, but she's a friend i see less and less all the time. If i would have windows, then i might use it bit more but now im all for linux and using qb.exe through dosbox or related is just not fun anymore.

It work, but its slow and that combination wont give me nearly anything possibilities to use resources of linux. With FB, i get heck of a more support and linux compatible compiler, so it's nearly allways FB instead of QB.

But its not dead. Users of qb are decreasing naturally, but there is allways peoples who likes to play with it, maybe not with too serious proijects, but for fun. And as long as qb gives fun even for 1 person, its alive.

Posted: Mon Sep 24, 2007 1:01 pm
by Codemss
Codemss, DIM variable AS INTEGER does not report an error. You are probably doing something else with your code that causes an error. Also, tried to compile your code with -lang qb command line?

Perhaps you should actually choose to want to use FB, instead of finding false reasons not to use it. Not a good way to approach a new compiler.
Hehe :P. DIM variable AS INTEGER actually gets me an error. It says: "Default types or suffixes are only valid in -lang deprecated or qb, found ',' in 'DIM X, Y AS INTEGER'".

-lang qb is something I dont know. What is it?

Posted: Mon Sep 24, 2007 3:37 pm
by Patz QuickBASIC Creations
Codemss wrote:-lang qb is something I dont know. What is it?
It's a compile time option for FreeBASIC to make it so your program that was in QB has a much better chance of compiling, but you also have most (if not all) the old restrictions that QB had. In my opinion, this is one of the best things I have seen for FreeBASIC, as it can increase compatibility with older QBASIC programs while also not losing the compatibility with newer FreeBASIC programs. Also, some of the stupid bugs that used to be around to make sure that it was compatible with QB can be isolated and fixed now :)

Posted: Mon Sep 24, 2007 4:47 pm
by Lachie Dazdarian
You know why 'DIM X, Y AS INTEGER' will give you an error?

Because in FB when compiled with -lang fb you need to declare all variables and with their type. You can't do DIM X because like the error report says, FB does not support default types (which is INTEGER in QB) or suffixes as QB does (but like I said, you can compile with -lang qb if you want).

What DIM X, Y AS INTEGER does is:

Code: Select all

And DIM X is what gives you the error.

In FB (I'm not sure if in QB too) the correct way would be:

Code: Select all


Posted: Tue Sep 25, 2007 1:40 am
by k7
NaTeDoGG, could please explain how you find Java syntax far simpler than QB?

I feel that QB programmers should stick with QB if they are getting somewhere with it and enjoy using it. But they should move on if they're only sticking with QB to be "loyal" and acknoledge the fact that there are many Windows BASIC dialects similar to QB out there.

Posted: Tue Sep 25, 2007 4:16 pm
by Raspberrypicker
WOOHOO!! My new programming course is finally here. :P :P :P :P

It's been about 4 months since I took a formal programming class. BUT this time I will be learning Java.

So I we'll see if qb is really dead just yet...but i'm pretty sure qb is here to stay.

Posted: Tue Sep 25, 2007 9:59 pm
by NaTeDoGG
k7 wrote:NaTeDoGG, could please explain how you find Java syntax far simpler than QB?
Java is more "C-like" in that it uses curly braces for scope blocks, parenthesis for method calls, etc. Many other languages such as Javascript, PHP, etc use similar syntax so once you learn it, you can apply it across many languages.

QB has things like the use of $ and % after variable names, the lack of parenthesis for function calls, the use of parenthesis for array indexing, DEF SEG, VARSEG, goto statements. IMO these things are weird and/or horrible and shouldn't be taught to new programmers.

I guess I mispoke by saying Java syntax is simpler. I'll reword that to say Java syntax is more widely applicable, and of course the language and tools (IDEs, third party libraries) are far more powerful. What I was really getting at was that teaching new programmers a legacy programming language isn't as good as teaching them something more modern.

Posted: Wed Sep 26, 2007 9:23 pm
by Imortis
I have learned so many languages that syntax is really a non issue. At this time, I know C\C++, php, java, RPG IV, VB6,, HTML, SQL, QB, FB, and ASM(just a little). I've also use so specialized programming languages like TADS 2, TADS 3, Alan, Inform, and AGT all of which are made for the purpose of making text adventures.

Out of all of these languages, the one I like using the most is FB. It gives me ease of use, and looking at the code doesn't make my eyes bleed.

The C\C++ style syntax, however, is very ugly from my point of view. It my be more consistant, but that doesn't mean that it looks GOOD. Just Consistant.

Posted: Fri Sep 28, 2007 2:37 pm
by D.S
is there a way I can compile my Qb code so that it would run like an fb program (it would run well on any machine, not just like a dos program)? If not, is fb easy to switch to, and where can I get a good newbie tut/download?

Posted: Fri Sep 28, 2007 2:51 pm
by Raspberrypicker
you can download qb 4.5 which lets you compile

Check the Questions page, i know there have been a lot of topics about compiling lately.

Posted: Fri Sep 28, 2007 5:05 pm
by Lachie Dazdarian
Raspberrypicker, D.S. didn't mean that. He wanted for QB to compile him a Windows application. That is not possible.

Regarding FB...

D.S., you can try with my latest tutorial from QB #23: ... tml#angles

You can also try with this example game I coded (heavily commented): ...

Unfortunately it's from a series of tutorials that got outdated due FB version changes (I plan to rewrite them soon), but this is a revised example game that works in the latest FB versions. Just read the source.

Anyway, WIKI is a good all-purpose start:

Don't forget to download one of the IDEs: (not updated anymore but simpler) (newer and more advanced)

Posted: Mon Oct 01, 2007 7:57 pm
by Dr_D
Yes, it is.

Posted: Mon Oct 08, 2007 9:20 pm
by shootman
there is no reason to use qbasic in this day of age.

i gradually moved to xblite,, freepascal, or any other useful pascal/basic programming languages out there.