A lot has changed since the initial release of Rapid-Q, but one thing that hasn't changed is the fact that
Rapid-Q is constantly being upgraded almost daily. The overall goal still exists, to provide an alternative
BASIC programming language that's not only FREE, but good and easy to use.
Being a BASIC programmer at heart, I looked through the eyes of a user, and added
the features and ease of use that I like to see in a good programming language.
Some of the features you see are spawned in part by our excellent Rapid-Q user base.
Requesting features is one way this project can succeed, since there are many out
there that share the same vision. Perhaps in the future, some of these features will
become standard in all BASIC languages. If you're familiar with either QBasic, PowerBasic, or
even VisualBasic, you'll be able to program in Rapid-Q in no time. The advanced features
that Rapid-Q offers need not be used at all, but is available when you get more
comfortable with the language itself. For example, Rapid-Q offers object/component creation,
function pointers, procedures with infinite parameters, variants, and overloaded macros,
while still maintaining all the fundamental features that most BASIC programmers are familiar
with, ie. GOTO, GOSUB, line numbers, etc...
This makes converting legacy code much easier. The only feature which deviates from
traditional BASIC languages is file handling. I believe that once you understand
how file and memory streams work, this can be a huge benefit, rather than a hassle.
For those who aren't aware, Rapid-Q is a 32-bit multiplatform GUI and CONSOLE BASIC
compiler/interpreter for Windows, Linux, and Unix. Rapid-Q compiles your BASIC source code into byte-code, which
is normally attached to an interpreter, but can also be run from other programming
languages using specialized DLLs.
About this document
These chapters were written and rewritten as new features were added, which means
that it's quite possible you'll find some inconsistent or obsolete comments and code.
If you spot one of these, please send me an e-mail so I can remove/change it.
I have always stressed that the best way to learn is by example. It really isn't
enough just to look at it and say "Uh huh, yeah." Take some time to take it apart and
rewrite the code yourself. Trial and error is always a good way of learning.
It seems we learn more by our mistakes, this is also true for programming.
Yes, you'll have many nights of frustration when your code just doesn't seem to
run properly, but once that bug is found, you'll be dancing around like there's no tomorrow.
I'm also maintaining a knowledge base of some of the many questions that I've received
from fellow Rapid-Q users. You can find a link to this on our homepage. Another site
that I maintain is the All Basic Code Archives at http://www.basicguru.com/abc/
which consists of over 2600 BASIC source codes and hundreds of BASIC related resources.
Being a BASIC programming language, I've targeted BASIC programmers,
primarily beginner to intermediate BASIC programmers, but even advanced
programmers have used Rapid-Q at some point. My future goal is to integrate
Rapid-Q in a classroom, such as in junior/senior high school, or even in college.
The Future of Rapid-Q
Obviously expanding Rapid-Q by adding new features is something that will
continue in the future, but I also plan on open sourcing Rapid-Q when I've
done all I can. This of course can't be guaranteed, and there's no telling when
this decision will be made. It's likely that the Linux/Unix version will be
open source sooner than the Windows version.
Comments & Suggestions
I appreciate all comments, suggestions and constructive criticism.
I would also like to extend thanks to all beta testers for their help and suggestions.
The best way to voice your opinion is on our mailing list, this way we can all discuss
the problem or suggestions that you may have. However, I don't discourage individual e-mails,
so feel free to contact me and I'll try to get back to you ASAP.