Rapid-Q Documentation by William Yu   ©1999-2000 Preface


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.

Source Codes
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 https://basicguru.com/abc/ which consists of over 2600 BASIC source codes and hundreds of BASIC related resources.

Rapid-Q Audience
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.

E-mail me
<>


Contents Next Chapter