Really? It's so basic...

What is Green and looks like a cube? The image accompanying this article. What is it that was the Forte of Bill Gates and a major language for developers since the 80's? - Basic

An application/program is nothing but an extension of our logical thought process. As Humans, we have the need to create, to be able to innovate, there are those that are content with not being able to do so (and nothing wrong with it, either) but for those that want to create, we require the tools to make it an easy process. That way the focus can be on the process than the platform to achieve the same.

I am from the era that grew up at the time of the ZX Spectrum and the C=64, both of which had Basic as their OS language. The advantage of Basic has been the simplicity of use, the syntax is easy and the language flows like English. So it is easy for anyone to read and understand what the program is doing or expected to do. Soon as computers got a bit more powerful around the early 90's, C was dominating as a language over Basic which was supposedly offering powerful native compilation and most importantly Portability. The Basic OS and syntax used by each of the consoles/machines were different. In those days no one bothered to think of portability, after all my friends were the ones that had Spectrums, why would I want to have the C=64 users play this lovely game? Then things changed again, It was the era of the PC, these game consoles and their in-built development languages were soon replaced with non-programmable dedicated games consoles like the Sega Megadrive, Sega Saturn, PSOne, SuperNES, etc and on the desktop front, Graphical UI were now the rage. There were three distinct platforms, Windows, MAC OS X, and Linux (OS/2 had faded away).

Developers had to change focus to the machines that allowed them to develop. It is all about the tools, when the tools were taken away, the herds migrated. Microsoft was having tremendous success with Visual Basic 3 to 6. So much so, that every other language had libraries for visual development. Microsoft had their fingers in the pie as they were the ones with this OS that allowed for development, so Visual Basic, Visual C++, Visual FoxPro, Visual Java (short lived) were their products. Borland that started from C and C++ which were quite popular also had their offerings with OWL against MFC from Microsoft. They even moved Pascal into visual development with Delphi. The mid to late 90's were a rocking and rolling with applications for the Windows platform. Enterprise development and utilities, casual games were the order of the day. This also spawned another parallel industry of Plug-ins (ActiveX components/DLLs and OLE).

All was good, then businesses started to realise the requirement of developing for cross platform, which was offered only by C++. Microsoft being Microsoft did not want to look beyond their own platforms (Windows) and Linux was catching up as a serious contender and had loads of tools for visual development using C++ and frameworks.

Geoff Perlman, CEO Of RealSoftware bought CrossBasic, an app used for development on the Mac platforms adding Windows then Linux support to it and that has over the years transformed into RealBasic and now Real Studio.

In those days it was more command line/console based than the GUI based that it is today. When Microsoft killed Visual Basic 6, many VB6 developers were unhappy with Microsoft to take away a very good software and *shove* the DotNET offering down the developers throats. RealBasic provided these developers with a shoulder to lean on, and not just that it even offered them cross-platform compilation in a language that they were already familiar with.

Fast-forward to present times, after several nip tucks and facelifts (Improvements not just cosmetic), Real Studio 2011 is a mature, stable and a very powerful development platform. Real Studio 2011 has a host of new features which include
  • Easier Working with Web Applications, including exception handling, JavaScript error handling, file uploading and a HTML viewer.
  • Multi-user support for REALSQLDatabase
  • Drag Drop that works better on MAC OS X too
  • MAC OSX Clipboard support
  • Database Support, including MS SQL Support
  • improved Cocoa Support


Over the years mostly since mid 2000's the RB community has grown tremendously, There are several add-ons for RealBasic and there is RealBasic Script that can be embedded to extend the application's capabilities.


Editions

Real Basic comes in four flavours, Personal, professional, Enterprise and Web

For all hobbyists and basic use, Personal Edition is the way to go, what one would miss out on is the Web Functionality, development on various platforms, IDE scripting, Build automation, Priority Tech support and Profiler for code optimization. All of this is available for AUD $95.00 or AUD $65.00(Academic Edition)

Professional Edition costs AUD $285 and had everything that the Personal has Remote Debugging, Container Controls, Database connectivity, serverSockets, Encrypting classes and SSL support. The academic edition costs $AUD 190

Web Edition is AUD $575 or AUD $400 (Academic) and allows for creating only web components, it does not allow for Desktop deployment or applications. Development is all web based, there is no desktop version of RealBasic for development.

The Enterprise Edition is the all of the above and weighs in at AUD $950 or AUD $665 (Academic) and has a 12 month license updates included.

The Web Edition is a fascinating feature specially if an existing application is to be ported from the desktop edition to include a web edition. There would be minimal changes and the app could run as a service over the internet (Web 3.0)

Some Cribs

Though the product is an amazing product and a boon for all developers that are wanting to create apps that are cross-platform without requiring the effort to manage multiple code-bases, there are a few quirks that did get to me while testing

1. I am so used to pressing Tab for spacing out my code and indenting the same, specially comments at the end of the line. In RealBasic IDE the Tab functions as auto-complete and instead of creating indentation, suggests and accepts some random keywords.
2. In auto-Complete pressing space or enter has *now* been the norm for me, however pressing space or enter culls the suggestion and auto-complete fails.
3. Camel Casing, though it is accepted to use camelCasing and all methods and functions start with a lowerCase while Classes start with an UpperCase, RealBasic has CamelCasing but all words start with a Capital letter irrespective of it's type.
4. Hello World is the most common code that anyone would try with a new language. If it is a script based, the way would be to output it to the console, if it was visual, an alert/messageBox would be the way to go. in VB, a quick

MsgBox "Message",vbInformation,"Title"
would be more enough to display a MessageBox

or in Objective-C,
UIAlert *alert = [[UIAlert alloc]
        initWithTitle:@"The Title" 
        message:@"Hello World" 
        delegate:nil 
        cancelButton:@"OK" 
        otherButtons:nil];
[alert show];
[alert release];

or in JavaScript

alert("some message");

on CoronaSDK, (Lua)

native.showAlert("Title,"Message",{"OK"})

But in RealBasic, this kind of stumped me,
dim d as New MessageDialog
d.icon=MessageDialog.GraphicCaution
d.ActionButton.Caption="Do It"
d.CancelButton.Visible=true
d.Message = "Do you want to do something?"
d.Explanation ="If you do something, this will go away"
d.AlternateActionButtom.Visible=true
d.AlternateActionButton.Caption="Don't Do It"
d.ShowModal

Resources

The quality and quantity of resources for learning RealBasic are plenty, there are numerous samples that help understand the various aspects of RealBasic. The Help files itself are quite elaborate and have samples that one can copy and paste into apps. It is a bit different for those that have worked with VB.

We have also reviewed a few applications that have been made with RealBasic and they have been amazing apps,

Closing Thoughts

Around 2006 there was speculation on will RealBasic build for the iPhone SDK, it is 2011 and there is no support for the same. It will be a glorious day if and when it can develop for the mobile platforms, iOS, Android and WP7.

The Basic in the name is related to the ease of use, RealBasic was build with Object-Orientedness in mind and offers the developers full freedom in using the same. So, all concepts like Polymorphism, Encapsulation, etc that were unavailable in other Basic offering are all present in Real Basic. It completes the package offering for developers (Professional/Enterprise) with an integrated Report writer.

The "Write Once, Deploy Any and Many" makes it very powerful

SUMMARY
Software : RealStudio 2011
Version : 2011 r1
Publisher : Real Software Inc
Website : http://www.realsoftware.com/
Twitter : @realsoftware
Platform : Mac OS X, Windows, Linux
Demo : 30 days
Price : Various

Follow us on Facebook by liking our page at
http://www.facebook.com/pages/ReviewMe/137640632964588

Comments

  1. Your Real Studio message box example is using the more advanced MessageDialog class. Simpler is to just do this:

    MsgBox("Hello, world!")

    ReplyDelete
  2. This is a very good example of the exemplary support that RealBasic community has. Paul is one of the more active members and has the RBDevZone blog which is his way of giving to the community of RB developers.

    ReplyDelete

Post a Comment