Main
   Home
   About
   DiscussionBoard
Files
   About
   Submit
   Search
Downloads
   Action
   QB64
Links
   Link to us
QB45.org
[ Back to QB45 | FAQ | Search a message | Reply to this message | Back to messages ]

Cyperium on 05/02/11 - 20:13:17

Someone at the FreeBasic forums spoke of creating code that works on both languages. I would like to see something like that!

What are the uniting aspects of both languages? What does QB64 do better, and what does FreeBasic do better? What are the limitations that QB64 has? What are the limitations that FreeBasic has?

What are the main differences between our languages?

Cyperium on 05/03/11 - 21:51:29

Ok, fine. I'll start:

This works in both QB64 and FreeBASIC:



'$lang:"QB"
CLS
PRINT "Hello World!"
SLEEP



You have to use SLEEP in FreeBASIC since there isn't a "Press any key to continue...", in this example you actually didn't have to use '$lang:"QB" but I thought I'd have that too since I personally had difficulties finding documentation on how to use the lang switch in the source.

I hope that someone can provide some more examples, it will be helpful on both ends.

Also, FreeBASIC users; I hope you get my intention about this, I don't simply try to fish users from you, I want to find something to unite us by. I'm not that competitive when it comes to FreeBASIC and QB64, I just think that people exaggerate some of the differences and feel a need to set things straight.

kidfromars on 05/10/11 - 16:43:28

The uniting aspects are that both languages aim to continue the growth and life of a great language, QuickBASIC. They are similar in syntax, and share most features. That said, QB64 is very strong in support for old/legacy QBasic programs, where as FreeBASIC requires a lot of adaption and hours of work to convert programs. QB64 is also much more intuitive for beginners, as they are able to have the IDE open and a programming running in seconds from downloading. FreeBASIC requires more time to learn the basics (Ha), and drops a lot of the old features that QB64 works to support. But still, FreeBASIC gives a lot more control over to you then QBasic with the more expansive control structures and data management, where as in QB64 a lot of things are done automatically and behind-the-scenes. FreeBASIC also functions more like a main-stream language (like C, Pascal, etc.) then QB64 or QuickBASIC.

I think it would be great if they united. (I don't quite understand why they split, as I wasn't around at the time)

Whoo, I feel like I just wrote an essay. Hope it makes sense.

Cyperium on 05/14/11 - 19:44:44

They didn't really split, they were never "joined" :), FreeBASIC split seemingly because the developers wanted free hands without having to worry about QB compatibility. The FreeBASIC community didn't put up much of a fight against this (perhaps because of the -lang oppertunities?).

Anyway, I think that QB64 is a better beginners language (to a degree because, as you say, it does many things behind the scenes that the programmer doesn't have to worry about).

Thanks for responding to my thread! I thought I was going to have to run a one-man show :)

kidfromars on 05/16/11 - 13:04:48

No prob. I've been thinking about this since I first learned QB and FreeBASIC (I program in both).

Todd on 05/17/11 - 22:26:43

From using both, QB64 preserves more of the classic aspects of QB with the capability of running it in a more modern OS with the native environment being preserved for running QB applications.

FreeBASIC has tried to implement these things however I feel like the project is more focused on making a versatile BASIC language compiler that can handle the simple tasks like the older BASIC dialects. I know it has object-oriented capabilities so I feel it's trying to cater to the newer crowds with its implementation of common programming paradigms with a BASIC-like syntax.

I am not saying that either project is useless but I believe they each demonstrate their own level of usefulness. FreeBASIC has taken away a lot of the old functionality of BASIC and made it into a more modern programming language that extends the capabilities for better development of software today.

The old BASIC compilers with the intention of using them on computers that supported their capabilities back then. Since then technology has evolved and more people want to do more things with their computers. FreeBASIC reminds me of the old Visual Basic (before MS converted it to a .NET syntax) where you had all the old functions like MID, LEN, and DIM, but now with new functionality implemented and combined with a slightly varied syntax.

My conclusion: FreeBASIC is trying to live up to the "All purpose" part of the BASIC acronym. QB64 is trying to preserve the functionality of a retro compiler and DOS-like environment for running all the old QB code on a native platform.

Cyperium on 06/05/11 - 14:15:49

QB64 is also going to have the same amount of object-oriented that FreeBASIC has, it also expands the features of QB so I really don't see why it isn't all-purpose. Even pointers and 32-bit memory movement will be supported along with many other things that is common in modern languages. QB64 is still under development and I'm sure the all-purpose criteria of BASIC will be well met.

Todd on 06/06/11 - 06:58:15

Cyperium, what I meant by "object-oriented" capabilities was that the user could type something like this and it would compile:


Type ABC
x as Integer
Declare Constructor ()
Declare Sub xyz ()
End Type

Constructor ABC ()
x = 4
End Constructor

Sub ABC.xyz ()
PRINT (this.x+3)
End Sub



What I meant by "all-purpose" was that the purpose of BASIC programming in the 80s was not the same as it is today. GUIs were rare back then as well as the available programming languages (i.e. higher-level languages).

QB64 is a great project but I wouldn't want it to be like FreeBASIC. There are many pros and cons of each language but making something that's unique will draw attention and garner a good reputation for it.

Please correct me if I sound out of place but I feel like you are trying to build a fanbase for QB64 - they will come in due time. Websites and software rarely become popular overnight and FB took a while to get noticed. The other situation is that the BASIC community is sadly not growing as much as it used to. People aren't hanging around QB communities as much anymore because QB runs in DOS and DOS programs are difficult to run on newer platforms without an emulator. And like everything in life, things change for the coders. Some remain steadfast and others flock to newer and more powerful languages. It's just how things are sometimes and you can't blame anyone for it.

Cyperium on 06/07/11 - 13:00:10

All I know is that Galleon said that QB64 will have the same amount of object-oriented features that FreeBASIC has today. QB64 can and will grow (and has grown a great deal) without having to abandon QB 4.5 compatibility. QB64 is a way to program on modern computers with modern features without abandoning the programming style and syntax of QB 4.5. I don't see any reason why the example you provided couldn't be implemented in QB64, it wouldn't present incompatibilities with QB 4.5 code and as long as it doesn't then it could very well be implemented.

QB64 isn't stuck in the 80's, it's today with modern features, it only remain compatible with the 80's unlike anything else.

Cyperium on 06/07/11 - 13:06:49

And if someone joins QB64 because of correct information rather than incorrect information then that's a good consequence. For now it's enough work to correct the misconceptions about QB64.

TomyYoung on 06/08/15 - 16:01:55

Yes prob. I've been thinking about this since I first learned QB and FreeBASIC (I program in both).

TomyYoung on 06/08/15 - 16:02:27

Yes HTML allowed. You may use BB-code in your posting.

TomyYoung on 06/08/15 - 16:02:27

Yes HTML allowed. You may use BB-code in your posting.

Reply to this message
Name:
Message:
Please enter this number:
No HTML allowed. You may use BB-code in your posting.
Members
Login
Register
QB45 Members
Member List