Sunday, June 1, 2008

What is RapidQ ? Why re-write the compiler ?

The RapidQ compiler written by William Yu was popular because it was a Basic compiler which was easy to learn, easy to create both DOS and GUI programs and was a freeware. It is a cross-platform compiler in the sense that the versions are available for both Windows and Linux. The easiness with which one could learn RapidQ attracted people who were new to programming to RapidQ. Further, one thing added to its popularity was that it was a freeware. To know how popular the compiler is even today, search for 'RapidQ' using Google and see the number of results!

But RapidQ was not complete. It was in the beta stage of development when it was abandoned by William Yu. I read somewhere that the company that makes the 'RealBasic' compiler bought the sourcecode of RapidQ from William Yu. So further development was stopped. But the compiler in beta stage was released as a freeware on the Net. There are reports of 'memory leak' in the compiler. Somewhere on the Net, I have found someone claiming that the memory leak was fixed ! But how ?! I wonder ( more about it later).

The software release came with an IDE which was buggy. It looked like a small brother of the Visual Basic editor. You could drag and drop controls on the form in the Design view and edit the code in the 'Code view'. There is a property window where you can edit the properties of the controls on the form you are designing. But that IDE too was not complete.

There were some attempts to re-create the RapidQ compiler. But the only attempt that I have found to be successful was the 'HotBasic' compiler. Though it is not claimed to be 100% compatible, it is claimed to be almost similar to RapidQ.

There was no way to further develop the RapidQ compiler since its source code was not released to the public. So only the only option remaining was to re-write it from scratch which is indeed a daunting task. Writing compilers is one of the most difficult areas in computer science. It is highly technical and one look at the contents text books will make a lay hobby programmer dizzy! Writing a compiler is highly complicated and time consuming. That may be one reason for the failure of such attempts.

But is there a way to write a compiler without going such highly technical details ? May be to some extent. But in some cases we may have to rely on some of the compiler theory in computer science.

I will discuss more about this in my next post. See you then!

No comments: