This is an old revision of this page, as edited by 67.0.72.247 (talk) at 04:43, 5 June 2006 (Added Link to Extremebasic - Readers Have the Intellectual Right to Know About Extremebasic as both RB and EB Were Both Started By One Man - The Same Author!). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Revision as of 04:43, 5 June 2006 by 67.0.72.247 (talk) (Added Link to Extremebasic - Readers Have the Intellectual Right to Know About Extremebasic as both RB and EB Were Both Started By One Man - The Same Author!)(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)REALbasic icon | |
The REALbasic IDE running on Mac OS X | |
Developer(s) | REAL Software, Inc. |
---|---|
Stable release | 2006 R2 / April 10 2006 |
Operating system | Mac OS X, Microsoft Windows, Linux |
Type | Programming |
License | Commercial |
Website | REAL Software, Inc |
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.
History
REALbasic was originally created by Andrew Barry, who has since created Extrembasic, Inc. 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). It was then redubbed REALbasic by REAL Software when they took over development in 1997 and dropped the Java target. The IDE is now available for Microsoft Windows, Mac OS X and Linux and can compile applications for Windows (Windows 98 and higher), Macintosh (Classic and OS X) and x86 Linux.
Language features
RB is a strongly-typed language with minimal automatic type conversion, which supports single inheritance and interfaces, class methods and class properties, 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++.
Framework features
As described in the language reference, its built-in framework supports
- application programming interface calls to compiled C libraries on all supported platforms,
- dictionaries,
- HTTP,
- POP3,
- real-time 3D graphics,
- regular expressions,
- scripting language embedded in REALbasic programs through RBScript,
- SMTP,
- serial communications,
- SOAP,
- sockets (both TCP and UDP),
- sound,
- SSL (Professional edition only),
- cooperative threads,
- full Unicode support,
- XML parsing and generation,
- Visual Basic datatypes compatibility,
- console and service application support (Professional edition only)
- Mac-specific:
- Apple events,
- Address book,
- QuickTime on Mac and Windows,
- Windows-specific:
(REAL Software 2006).
File Format
The 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.
Current Editions of IDE
There are two versions of the IDE:
- The professional edition can compile programs for Mac OS X, Mac Classic, Linux and Windows from the same source code file; it can also access databases (Oracle, PostgreSQL, MySQL etc.) including the built-in single-user REAL SQL Database engine based on SQLite; it compiles console applications, can remote debug and has numerous other features.
- The standard edition only compiles programs for the platform that the IDE is running on (either Windows, Linux or Mac), and does not allow access to databases other than the built-in REAL SQL Database.
Both 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 informations about the distance between controls, or between a control and the window borders.
Example code
This 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)
References
- Smith, Tony (September 13 2005). "RealBasic 2005 for Mac, Windows and Linux". The Register. Retrieved 2006-04-11.
{{cite web}}
: Check date values in:|year=
(help)CS1 maint: year (link) - Barr, Joe (August 4 2005). "Review: REALBasic 2005 for Linux". Linux.com. Retrieved 2006-04-11.
{{cite web}}
: Check date values in:|year=
(help)CS1 maint: year (link) - REAL Software (April 10 2006). "REALbasic Language Reference". REAL Software. Retrieved 2006-04-11.
{{cite web}}
: Check date values in:|year=
(help)CS1 maint: year (link)
External links
- REAL Software, Inc., makers of REALbasic.
- Made with REALbasic Showcase
- RBDocs, a wiki dedicated to REALBasic documentation
- REALbasic Developer Magazine
- RBLibrary
- REALDev, a wiki-powered developer community and code repository
- Really Basic REALbasic