REALbasic
From Wikipedia, the free encyclopedia
Categories: BASIC programming language family | Integrated development environments | Programming languages | Object-oriented programming languages
REALbasic (RB) is an object-oriented dialect of the BASIC programming language developed and commercially marketed by REAL Software, Inc in Austin, Texas for Mac OS X, Microsoft Windows, and Linux.
HistoryREALbasic was created by Andrew Barry. It was originally called CrossBasic due to its ability to compile the same programming code for Mac OS and Java (although the integrated development environment was Mac only). In 1997 CrossBasic was purchased by FYI Software which renamed it REALbasic as well as renaming the company REAL Software. At this time they dropped the Java target, later replacing it with a Windows target and database support. The IDE is now available for Microsoft Windows, Mac OS X, and Linux and can compile applications for Windows (Windows 2000 and higher), Macintosh OS X (PowerPC, Intel, and Universal Binary) and x86 Linux. Language featuresRB is a strongly-typed language with minimal automatic type conversion, which supports single inheritance and interfaces, class methods and class properties, automatic memory management via reference counting, and operator overloading. A very important feature is the ability to extend (not just inherit from) existing classes, like Objective-C Categories. This considerably reduces the need for the Abstract Factory Pattern, which complicates using Application Frameworks in Java and C++. REALbasic 2007 Release 3 includes namespace support, which allows modules to contain classes, interfaces and other modules, while REALbasic 2007 Release 4 added support for delegates. The latest version of REALbasic (2008 Release 1) added support for introspection. Framework featuresAs described in the language reference, its built-in framework supports (REAL Software 2006):
The framework functionality can also be extended by creating plugins using the Plugin SDK provided by REAL Software. Plugins are created using C/C++ with a variety of supported compilers, including Metrowerks Code Warrior, Microsoft Visual Studio, gcc and Xcode. Plugins can support any platform REALbasic supports, but are not required to support all platforms. File formatThe source file format contains window and control placement data and is proprietary, although XML import and export are supported. All source code can be contained in one project file, but it is also possible to have classes/modules in separate files in the same way as most other languages or dialects can. REALbasic compiles directly to machine language for each platform that it supports. REALbasic 2006 Release 3 and newer also supports a human-readable version control format which allows easy collaboration with tools such as Subversion or CVS. Current editions of IDEImage:REALbasic2006r3.png
A typical GUI building session in REALbasic's IDE
There are two versions of the IDE:
IDE featuresBoth versions of the IDE permit building the application's graphical user interface by dragging the controls from a toolbar to their parent window. Layout of the controls is helped by the IDE that permits aligning them (both horizontally and vertically), and which gives information about the distance between controls, or between a control and the window borders. Like many modern IDEs, the code editor supports customizable syntax highlighting, autocompletion and refactoring tools. The IDE also includes editors for menus and database schema as well as viewers for multimedia files such as pictures, movies or sounds. With REALbasic 2006 Release 1 and higher, the IDE gives you access to scripting features via RBScript. This allows you to control the IDE for doing automated tasks such as running regression tests or doing nightly builds. The scripts can either be global or project-specific. One major new feature of REALbasic 2007 Release 2 is incremental compilation, whereby the compiler only needs to recompile the parts of your project which have been modified. For instance, if you only modify the body of a method, then just the project item containing that method is recompiled (instead of your entire application). Example codeThis is an example of operator overloading for a hypothetical Complex class which permits to sum a real to a complex number, and to sum two complex numbers: Function Operator_Add (rhs as Single) As Complex Dim ret As New Complex ret.R = Self.R + rhs ret.I = Self.I Return ret End Function Function Operator_Add (rhs as Complex) As Complex Dim ret As New Complex ret.R = Self.R + rhs.R ret.I = Self.I + rhs.I Return ret End Function The same function can be defined to accept Double datatype values. This code shows how to use the Complex class to sum a real with a complex number: Dim First As New Complex (0, 1) Dim Second As New Complex (1, 1) Dim Sum As Complex Sum = First + 5.0 + Second // Sum will be (6, 2) See alsoComparable Basic DialectsOther Programming LanguagesReferences
External links
et:REALBasic es:REALbasic fr:REALbasic it:REALbasic ja:REALbasic nl:REALbasic ru:REALbasic sv:REALbasic | ||||||||||||||||||||


