RealBasic first impression

Jan 25, 2010

About a year ago in an article called "why we still use VB6 for some projects" I was complaining about the absence of a rapid development tool for Windows that would replace VB6. Even being an experienced C++ guy, I still miss the tool that would be simple as C#.NET, but would produce native code executables (instead of the .NET-Framework based managed ones).

I was looking at RealBasic for a long time and this weekend we finally found some time to experiment with it. Well, it's a great tool, I must say. Even though you can't just "migrate" your existing VB6 code to the new syntax (the "VB6 Migration Assistant" offered by Real Software doesn't really help - you still need to edit almost every method in your code), RealBasic is neat, simple and powerful... In spite of all the minor bugs, like not remembering the IDE's window-position, its a great tool. And the killer features are:

1) It's cross-platform (creates Windows/MacOS/Linux code)
2) It has all those things VB6 missed (like "real OOP" features - polymorphism, inheritance etc.)

But it has one major flaw that kills all the "pros":
The editor does not show all the code.

To edit a function you have to navigate to "application X - class Y - method ZZ". And you can see only one class method at a time. Here's what it looks like (click the image for the full-size screenshot):



Even the method declaration - is a dialog box with multiple fields.

Now, I totally understand that it's a matter of habit. All the other code editors I use ("MS Visual Studio" for C#, ASP.NET and C++, "Delphi", "C++ Builder" not to mention the exotic ones I tried, like "wxDev-C++") have "through" code editors, showing all the code at once. And I totally understand that this can even be an advantage - like someone said on the RealBasic forums - it makes you think more "object-oriented" and "structured". Now, this may be true... But still...

Not being able to see all the code is the biggest disadvantage for RealBasic. And you know why? Because you're not able to copy-paste your code-snippets, you're not able to share your code-snippets on the Internet.

And this is what RealSoftware should really consider - if you expect a platform to become popular among the developers, it should be easy for these devs to blog about the platform, discuss it, make the buzz and, of course, share code - post some samples and snippets on the forums and Q&A-websites like StackOverflow.com.

With the current editor even sharing the code with the guy in the same room becomes a pain! I can't just take a code-snippet and paste it into my app - I have to do it method by method. This is a real pain. And an example of how an internal product architecture affects user experience in a negative way.


P.S. Our Macro Recorder tool also has a built-in "visual editor" that shows a dialog box for every command you want to add to your macro. But still, the tool offers plain text clipboard compatibility - you can select some plain text in Notepad, press Ctrl+V in the Macro Recorder window and it will add the copied commands.

5 comments:

Paul Lefebvre said...

I would hardly call this REALbasic's "biggest disadvantage", but you can certainly copy and paste entire methods to/from REALbasic easily enough: Simple select the method *name* in the left column, right-click and select copy. Then you can paste the entire method into Notepad or whatever (this will include the method signature with parameters and return value).

If you copy an entire method signature (including the Sub/End Sub) along with the code then you can also paste it into REALbasic (select Methods on the left first) and it will automatically create the method with the entire signature for you.

I don't know of a way to copy/paste multiple methods at once, which might be what you're really missing. Perhaps that would be useful, but it sounds to me to like that's much more than a "code snippet".

Alex said...

Yep, I meant that I really miss copying/pasting multiple methods at once. And copy-pasting code between methods (which is really faster when you seen all the code. And what about refactoring? For example if you want to rename a private method - what shoudl you do? Use find/replace? :)

Paul Lefebvre said...

Yes, copying multiple methods would be useful.

I don't understand what you mean by this:
"And what about refactoring? For example if you want to rename a private method - what should you do?"

What is difficult about renaming methods? Just type the new name in the Method Name field.

Alex said...

"What is difficult about renaming methods" - when you rename a method, you have to rename all calls to it also. Which is easy when you see all the code. And freaking hard when you don't - you have to open each method one by one, see if it calls your renamed method, and put a new name there.

Paul Lefebvre said...

Ah. Yes, I do use Find/Search to find all the method calls in question. This brings up a list of them in the Search tab. I can then select the ones I want to update, type in the new method name and click Replace.

And if you use the Search box in the toolbar, you can click the Search icon to drop down a scope menu and tell RB to search only the item rather than the entire project.

Post a Comment