A newer version of REAL Studio is available.Or, Learn More About REAL Studio
Full user review
"The Truth about REALbasic"
This review was originally posted on VersionTracker.com.
is that it is a tool to develop software, and as any tool it has strengths and weaknesses. Most people complaining seem to miss the point, and would probably use a screw driver to hammer in a nail and complain afterwards.
So what is the truth?
(1) You want to learn to program?
Already you are faced with a plethora of choices: cross-platform or for Mac only? Standalone programs or ones which need a runtime? Just for fun or might it develop into something more serious?
For me the requirements were: easy to learn, good graphical user interface, cross-platform, and if possible cheap (preferable free)
That excluded X-Code (though I still have it on my Mac), Tcl, Python, and a few others and left me seriously looking at REALbasic, Java, SuperCard and Revolution. I tried all of them for a few weeks and REALbasic came out on top by a mile Ã¢?? I hadnÃ¢??t previously appreciated the difference a fully object-oriented language would make.
X-Code is a good alternative if you (a) program for the Mac only and (b) you can stand the C language (not everyone can). But be aware that the latest version of X-Code requires Leopard and does not compile for older versions. To guarantee compatibility you'd need to install both X-Code 3 and X-Code 2.5. Or in other words: programs developed in X-code 2.5 under Tiger will run fine on Leopard but not necessarily the other way round
But as far as cross-platform programming goes, REALbasic is the best solution by far.
(2) Is REALbasic as fast as C?
Yes and No.
REALbasic is a fantastic Rapid Application Development Tool. It will usually take you far less time to write a program in REALbasic than in C, and for most programs it makes no difference if they have speed x or 2x (as the user is the slowest component in the chain and the computer waits most of the time for input from the user).
Even better if you have time critical parts then just write a plugin in C/C++ and REALbasic will happily accommodate it. You can also use declares to directly access APIs. And dealing directly with memoryblocks will also give you a speed boost should you need it.
That being said you can usually write a program that is faster in C than in REALbasic. Recently I was curious enough to try this, and my REALbasic program took about 650 milliseconds for the task, while the C program took 570 milliseconds. Was it worth the extra hassle to program it in C? No. But I can see situations where I might still go for a C plugin.
So people complaining about REALbasic being slower than C either donÃ¢??t know what they are talking about or deliberately deceive the readers.
(3) Why are REALbasic programs so big?
REALbasic programs contain the whole framework Ã¢?? that means they are completely self contained and donÃ¢??t rely on other bits being installed on your computer (like C# programs). Yes, that means a program doing nothing looks pretty big Ã¢?? and the situation is aggravated on the Mac where Universal programs need to contain both PPC and Intel code.
But the truth is that the size from then on doesnÃ¢??t increase much as you add your code. And it has one advantage which beats the increased download size: I can run the program without an installer. Anyone who is on a Ã¢??managed systemÃ¢?? where IT does not let you install anything knows what IÃ¢??m talking about (donÃ¢??t you hate it when IT isnÃ¢??t supporting your work anymore but became the masters of the house?). My REALbasic programs will run straight out of the box, no installation necessary, even from a USB stick if necessary.
(4) Is REALbasic buggy?
Sure it is. So is X-Code. VisualBasic. C#. MacOS X. And donÃ¢??t get me started on Word and Windows.
Any complex program contains bugs. But the big question is are there bugs which make the program unfit for purpose? So called show stopper bugs? And there the answer is a resounding Ã¢??NoÃ¢?? for REALbasic. That doesn't mean that there aren't some bugs that can make you swear and tear your hair out, but there are usually ways around it (even the RTF bug I've been bitterly complaining about could be dealt with with a free plugin. And the bug seems fixed in version 2008R4 anyway).
Furthermore most Ã¢??bugsÃ¢?? IÃ¢??ve come across turned out to be errors in my code, so in the meanwhile IÃ¢??m more carefull about mouthing off and ask politely first.
P.S. Lately Ã¢??luckyaliveÃ¢?? (a well known troll) has started posting lists of REALbasic bugs as proof that REALbasic is unusable Ã¢?? well, firstly most of the bugs he posted have a Ã¢??fixed/implementedÃ¢?? behind them so his postings seems somewhat strange. Secondly letÃ¢??s have a look at MacOS X 10.5 Leopard:
- 10.5.1 fixed over 25 bugs (including a nasty one leading to data loss)
- 10.5.2 fixed over 10 bugs (incl 7 which could lead to arbitrary code execution)
- 10.5.3 fixed over 200 bugs (humongous update)
- 10.5.4 fixed over 20 bugs (quick update to fix the serious Adobe CS3 bug)
- 10.5.5 fixed over 70 bugs
Now the forthcoming MacOS 10.5.6 update has over 100 bug fixes Ã¢?? anyone thinks 10.5.5 is unusable? ;-)
Or anyone still wants to complain that 10.3 is no longer updated? Gee Ã¢?? get over it. At some point you always have to pay for new features and bug fixes ... I for one am looking forward to the new MacOS X 10.6 Snow Leopard (which will drop support for G4 and G5 Macs and only run on Intel Macs)
(5) Can I compile for OS9?
Amazingly we still have quite a few old Macs running OS9 around. And about 10% of my users are still on OS9 (other developers report a similar percentage). If you want to compile for OS9 then you need to use 2007R4 or earlier for the compilation.
I have several versions of REALbasic on my Mac, and the same code runs fine in all of them.
I should point out that dropping OS9 support in REALbasic isn't a complaint - RS supported OS9 much longer than Apple did.
(6) Can REALbasic be extended?
Yes. There are several high quality plugin developers, among which the Monkeybread Collection is especially noteworthy. You can buy the whole collection (at a sizeable discount) or just the modules you need (quite cheaply).
I would like to point out that I can't understand people who criticize the existence of third-party plugin developers and insist on them being included with REALbasic. That's like requiring Apple or Microsoft to include all those third-party templates, fonts, etc. and hey, why stop there? Why not include all programs ever written when you buy a computer?
That's just dumb and shows how insincere those posters are.
(7) Can I do everything with REALbasic?
No. No matter how hard you try you canÃ¢??t make a decent cup of coffee with it.
Sorry, but the question is too general to be meaningful. You could ask Ã¢??Can I do everything with X-CodeÃ¢?? and the answer would still be Ã¢??NoÃ¢?? - for example you canÃ¢??t compile for Windows or Linux.
But REALbasic can Ã¢?? and as such there are some compromises that must be made. Not everything is supported on all platforms Ã¢?? mainly because there is no equivalent on the other platforms. But the same applies to Java to a much greater extend, and strangely enough you donÃ¢??t hear people complaining that Java canÃ¢??t do everything.
Basically anything you want to do can be done, and REALbasic even supports a large amount of platform specific items (like AppleEvents or Spotlight on the Mac or RegistryItems and TrayItems on Windows) - but then using them defeats the purpose of a cross-platform development tool somewhat (though it is good practise to support some platform specific conventions Ã¢?? which can easily be done with conditional statements like .
//Windows specific code here
//Macintosh code goes here.
//Linux code goes right here.
(8) WhatÃ¢??s the greatest strength of REALbasic?
Definitely the support both from the developers and the user community Ã¢?? where else do you have the CEO answering questions directly, the developers pinching in with advice on the forums and mailing lists, and an immense number of users eager to help you with your problems? The only other community where I experienced similar support (but not quite as good) is the RapidWeaver forums. Especially Joe Strout and Aaron Ballman deserve mentioning.
The one thing which constantly baffles me though is the politeness of the REALbasic developers Ã¢?? following some exchanges in the newsgroup by a certain individual I would have already been fuming at his personal attacks and unjustified comments, and ready to throw some four letter words in his face, but they still kept their cool. That is simply AMAZING.
(9) WhatÃ¢??s the greatest weaknesses of REALbasic?
For me it is the lack of a better EditField control Ã¢?? the current one supports styled text (bold, italic, underlign, alignment, colour, fonts, size) but super/subscript are missing. And it is slow when using large texts. But then I rarely use more than 100,000 characters in a text ... actually, once a week I need to clean up a text with about 160,000 characters which then takes about 3 seconds. I can live with that.
Another sore point is that the documentation is lacking - with the Rapid Release model the documentation does not always reflect all changes. But anyone who ever had to write a documentation and keep it current knows what a task that is.
(10) What is this Rapid Release model?
Originally RS released a paid REALbasic version containing new features maybe once a year and then came up with a few free bug fix releases. However developers wanted new features quicker - so now a new release is made every 90 days. You pay once for a 12 month term and all releases in the following 12 months are paid for (sometimes 5 releases in 12 months if you time your purchase right). This has advantages and disadvantages. The introduction of new features can result in new bugs being introduced as well. Under the old model you usually ended up with a pretty bug-free version before RS moved on to the next release. Under the new model you get the same amount of bug fixes but features faster than you did before ... and new bugs. It's a trade-off most developers seem to be happy about, though I personally preferred the older model.
(11) WhatÃ¢??s the matter with Ã¢??luckyaliveÃ¢???
Well, he keeps posting defamatory comments, quoting people out of context etc, or as versiontracker themselves wrote when I pointed out some extreme postings: Ã¢??I'm leaving one post up that doesn't appear to violate submission guidelines, but am removing a bunch (if not all) of the rest. Not sure I've seen someone with this much of a vendetta before....Ã¢??
To give you a fairly harmless example (I donÃ¢??t think the nonsense he spouts is worth repeating): I wrote that REALbasic programs are self-contained. He writes Ã¢??Really, Self contained - why the QuickTime requirement?Ã¢??
QuickTime is a technology developed by Apple and is available for MacOS & Windows. It is a fantastic piece of technology (basically it takes all the hassle out of playing music and video) and most media companies and media software use it. It is a free download and can be installed on a computer, but it does not have to be. iTunes is just one example of a program that uses QuickTime to play music and video.
Now REALbasic makes it very easy to use Quicktime in your own programs Ã¢?? they have a Quicktime player control. Of course if you use it then the user needs to install QuickTime to use the feature, and you can easily check that by doing something like this in the applicationÃ¢??s open event
If Not System.QuickTime.Installed then
... // tell the user that QuickTime needs to be installed to use certain features
... // continue as normal
Now complaining about REALbasic not being complete because you have to install QuickTime in order to use QuickTime features is the same as saying websites that use flash or java are incomplete because the user might not have flash or java installed. That is insincere at best and doesnÃ¢??t speak well of his understanding of the most basic principles, but I think it is deliberately misleading as he clearly knows better.
He continues Ã¢??Quicktime is very limited so most developers are stuck with paying out more cash to third party plugin developers for additional picture manipulation; or by spending a huge amount of time trying to develop their own (which is more complicated in itself as the projects they wish to utilize inÃ¢??
Now that is simply wrong on two counts: for one thing you do not need QuickTime to manipulate pictures in REALbasic (misleading) and to complain that there are third party plugins that extend the abilities of REALbasic is insincere - there are thousands of plugins for other programming languages too, e.g. MicrosoftÃ¢??s VisualBasic (thatÃ¢??s actually one of its biggest strengths, though VisualBasic falls flat on his face in many other regards like its extremely poor support for object oriented design, and of course it canÃ¢??t cross-compile to other platforms). The same is true for many other types of software: think of all the plugins you can get for Firefox, effect plugins for movie editors, plugins for Word (like EndNote) and Excel etc etc (and yes, you have to pay for many of them too Ã¢?? not everything is OpenSource or freeware)
One last example (and as I said IÃ¢??m using the PG rated ones): he writes: Ã¢??Some people never learn and continue to buy RB despite warnings of how the company will eventually screw you over one way or another.Ã¢?? and then quotes from AaronÃ¢??s blog about a change to REALbasicÃ¢??s handling of DLLs. A change due to an issue that ONLY appears on WINDOWS and only under certain conditions: for one thing the programmer must use REALbasic plugins, and he must have a naming conflict. No plugins, no problem. If you use a Mac and develop for Macs only Ã¢?? no problem. If the plugins use a proper naming scheme Ã¢?? no problem. And the only thing that has changed ... is that on WINDOWS instead of a single executable you get a folder with the executable plus DLLs for your plugins (because Windows doesnÃ¢??t use bundles like the Mac does Ã¢?? bundles are double-clickable folders which start the application residing inside). So in short REALbasic now uses the standard Windows way on Windows instead of implementing a Mac-like way. This change makes REALbasic Windows programs more stable if plugins are used. Which in my book is a good thing. So you get more stability, and you still donÃ¢??t need to run an installer to use REALbasic programs (invaluable on managed systems). How he can deduce that this is RS Ã¢??screwing youÃ¢?? is beyond me.
It is sad, and that he is hiding his comments behind a pseudonym tells a lot about him. IÃ¢??ve always been of the opinion that you have to stand up for what you believe in, and lets face it Ã¢?? heÃ¢??s not facing jail for his comments like Chinese protesters would. ItÃ¢??s a cowards way, snipping and shooting others in the back, and the only reason for him using a pseudonym is that he would be ashamed if he was found out and his name connected to his comments. Which in turn tells me a lot about the worth of his comments and how seriously to take them.
(12) Why do I keep posting and rating?
luckyalive say about me Ã¢??rating the same product (4.2) over and over again is against the rulesÃ¢??. I only started doing this after he posted about 20 very defamatory one star ratings (nearly all of which have been taken down now by versiontracker), so I think heÃ¢??s a tad insincere here. I would say REALbasic deserves about four stars, but to balance luckyalive a bit I give it five. I also think people should get a fairly balanced view, not the drivel luckyalive is spouting.)
Furthermore I update and extend my previous reviews with new information as it becomes available.
(13) Any more information?
There are some very nice video tutorials geared towards the beginner at http://www.realbasic.tv/ which give a good idea of what using REALbasic is like
(14) What should I do now?
Simple. Download it, try it, and make up your own mind.
No matter what anyone says, whether they have an axe to grind, or have a self-interest in a product, in the end only your own opinion matters.