is Qb dead?
is Qb dead?
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?
-
- Veteran
- Posts: 202
- Joined: Mon Aug 30, 2004 6:18 am
- Location: Croatia
- Contact:
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.Of course, once a program is in .exe form, nobody cares what was used to make it,...
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.
Lachie Dazdarian - The Maker Of Stuff
- Codemss
- Veteran
- Posts: 124
- Joined: Sun Jun 24, 2007 6:49 am
- Location: Utrecht, The Netherlands
- Contact:
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:
DIM variable AS INTEGER
It gets me an error. I hate it to write this:
DIM AS INTEGER variable
DIM variable AS INTEGER
It gets me an error. I hate it to write this:
DIM AS INTEGER variable
Check out my site: <a href="http://members.lycos.nl/rubynl">Click here</a>
Hope you like it. Send some feedback if you want: <a href="mailto:basicallybest@live.nl">Mail me</a>
Codemss, before known as RubyNL
Hope you like it. Send some feedback if you want: <a href="mailto:basicallybest@live.nl">Mail me</a>
Codemss, before known as RubyNL
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.
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.
-
- Veteran
- Posts: 202
- Joined: Mon Aug 30, 2004 6:18 am
- Location: Croatia
- Contact:
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!
http://lachie.phatcode.net/mightyline.php
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!
http://lachie.phatcode.net/mightyline.php
Lachie Dazdarian - The Maker Of Stuff
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.
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.
-
- Veteran
- Posts: 288
- Joined: Sat Feb 18, 2006 4:02 pm
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.
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.
- Codemss
- Veteran
- Posts: 124
- Joined: Sun Jun 24, 2007 6:49 am
- Location: Utrecht, The Netherlands
- Contact:
HeheCodemss, 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.
![Razz :P](./images/smilies/icon_razz.gif)
-lang qb is something I dont know. What is it?
Check out my site: <a href="http://members.lycos.nl/rubynl">Click here</a>
Hope you like it. Send some feedback if you want: <a href="mailto:basicallybest@live.nl">Mail me</a>
Codemss, before known as RubyNL
Hope you like it. Send some feedback if you want: <a href="mailto:basicallybest@live.nl">Mail me</a>
Codemss, before known as RubyNL
-
- Veteran
- Posts: 399
- Joined: Wed Mar 02, 2005 9:01 pm
- Location: Nashville, Tennessee
- Contact:
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 nowCodemss wrote:-lang qb is something I dont know. What is it?
![Smile :)](./images/smilies/icon_smile.gif)
-
- Veteran
- Posts: 202
- Joined: Mon Aug 30, 2004 6:18 am
- Location: Croatia
- Contact:
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:
And DIM X is what gives you the error.
In FB (I'm not sure if in QB too) the correct way would be:
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
DIM X
DIM Y AS INTEGER
In FB (I'm not sure if in QB too) the correct way would be:
Code: Select all
DIM AS INTEGER X, Y
Lachie Dazdarian - The Maker Of Stuff
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.
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.
- Raspberrypicker
- Veteran
- Posts: 55
- Joined: Thu Aug 02, 2007 4:54 pm
- Location: Florida
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.k7 wrote:NaTeDoGG, could please explain how you find Java syntax far simpler than QB?
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.
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, VB.net, 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.
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.
- Raspberrypicker
- Veteran
- Posts: 55
- Joined: Thu Aug 02, 2007 4:54 pm
- Location: Florida
-
- Veteran
- Posts: 202
- Joined: Mon Aug 30, 2004 6:18 am
- Location: Croatia
- Contact:
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: http://www.petesqbsite.com/sections/exp ... tml#angles
You can also try with this example game I coded (heavily commented): http://lachie.phatcode.net/Downloads/mi ... _FB017.zip
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: http://www.freebasic.net/wiki/wikka.php?wakka=FBWiki
Don't forget to download one of the IDEs:
http://fbide.freebasic.net/ (not updated anymore but simpler)
http://fbedit.freebasic.net/ (newer and more advanced)
Regarding FB...
D.S., you can try with my latest tutorial from QB #23: http://www.petesqbsite.com/sections/exp ... tml#angles
You can also try with this example game I coded (heavily commented): http://lachie.phatcode.net/Downloads/mi ... _FB017.zip
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: http://www.freebasic.net/wiki/wikka.php?wakka=FBWiki
Don't forget to download one of the IDEs:
http://fbide.freebasic.net/ (not updated anymore but simpler)
http://fbedit.freebasic.net/ (newer and more advanced)
Lachie Dazdarian - The Maker Of Stuff