My answers (not in any particular order, mind you...) Rankings in angle brackets; 1 - least important to 5 - most important.

* Works on Mac!!!!!! <5>
* Cross-platform <3>
* OO with true inheritance (not like VB 6 in other words) <4>
* Future potential (still to be realized... mostly...) <2>
* No external frameworks to load (unlike VB .Net) - executables self- contained (except Linux, apparently) <3>

Things that could be improved: (***Warning - rant ahead!! ***)

* Introspection <4>
* Native Datagrid control <2> (may require Pro version)
* Allow external editor/version-control <3>
* Bug fixes for earlier versions (due to getting stuck with a particular version for reasons of their company's policy or budget restrictions, or waiting for a show-stopper bug to be fixed in the latest version without something else breaking.) on a pay-as-you-go basis. <4> * Ability to compile for Sony PSP/Nintendo Wii/XBox 360/crackberry (I mean, Blackberry) :) <1> * Easy random-access files!! (this is one area where VB beats RB hands-down) <5>

In VB, I would do:

Type myType
  // field definitions
  ...
End Type

...
Dim myRec As myType
Dim filnum As Integer
Dim filnam As String

filnam = GetAppPath() & "MYDATA.DAT"
If (Dir(filnam) > "") Then
  ' File Exists, read it in
  filnum = FreeFile
  Open filnam for Random Access Read Write As #filnum Len = Len(myRec)
  Do
    Get #filnum, , myRec
    ' Perform a check to see if this is the EOF record
    If (myRec.spacer = Chr(0)) Then
      Exit Do
    End If
    ' Do something with the record.
    ...
  Loop
  Close #filnum
Else
  MsgBox "Can't find: " & filnam
End If

* A new 'package-specific' licensing model <5>

The RB IDE would now run - and compile - only to the target system; no more cross-compilation (with one exception if you purchase the "Package" package, you'd be able to - see below) but - in return - there would be no more differentiation between Standard and Pro features. The source would - however - remain cross-platform compatible (you could take the source from one to the other just as you can now, as long as you properly localize it with preprocessor 'TargetXXX' checks.) You could still remote-debug, though. This would allow each platform to run optimized for that OS (MacOS X, Win32, or Linux) and take advantage of features of that OS without extensive declares.

* MacOS X - Core Audio/Video, Quartz OpenGL, Spotlight, etc... would be exposed via internal plugins to cover what previously required declares. I would have added CoreData, but - from what I can tell - it's so tightly integrated with SQLite3/Cocoa that it just doesn't seem feasible. * Win-32 - DirectX and OpenGL, registry, task-bar, Jet database engine, etc... would now all have internal plugins for support previously available only through declares. * Linux??? - compilation support for older PowerPC distros (like Suse 6/7, YDL, etc... that can be installed on older Macs) Not sure about anything else as I don't use the Linux features.

Note that such features would - if ported to a different RB platform - cause a compile time error: "This feature not available on <platform>" The "Basic" package (sorry about the unwanted pun) would give you all the standard/pro features, but only the built-in RB database. To this would be available several extra packages which could be added as desired.

* Game package (specify your platform): Adds pathfinding AI, handy routines for view mapping (flat cartesian to fps, isometric, etc...) between the on-screen view and your game world, and support for OpenGL or DirectX depending on platform. * Database package: adds up-to-date database plugins and a native datagrid control. * Maths package: adds symbolic processing, a "LongDouble" data-type, and a "Fraction" data-type. * Reports package: adds nifty graphing routines, and an 'easy report' printing model. * Science package: (requires the "Maths" package) adds realistic physics modeling routines; useful in combination with the "Game" package! * Statistics package: (requires the "Maths" package) - adds better PRNG algorithms, the ability to generate PRNs (Pseudo-Random Numbers) with a specific distribution (gaussian, uniform, etc...), and more statistics-type math routines. * Music package: (may require the "Maths" package) adds MIDI support (through hardware if available), a better NotePlayer control, and 3D/ surround-sound support. * Package package: comes with the new "package" SDK, plenty of documentation and examples, and would re-enable cross-compilation for other platforms.

In fact, with this scheme, plugins - as such - would no longer exist. Instead you would add to RBs functionality with packages; these would be similar to Java's .jar files or JavaBeans, or .Net assemblies or some such. They would have far greater control (for the developer) as to what is 'exposed' to users; allowing the package as a whole to contain pre-compiled code for PPC/Intel MacOS X, Win32, and Intel Linux whose classes, modules, windows, and UDTs could be selectively exposed or hidden (like giving Public|Protected|Private to a class, module, or window as a whole), and; with source, with encrypted source, or with no source code at all (the code editor disclosure simply wouldn't 'open'.) I anticipate a big flame war here, but I've got my Nomex™ suit on... :)

(***End rant***)

On Jan 5, 2007, at 1:32 AM, Ryan Dary wrote:

Hi. Some people might not appreciate this message, but I think that it is warranted. Some people have been using REALbasic since it was first introduced as CrossBasic. Other people didn't get a chance to use it until it was renamed REALbasic. And then there are a bunch of people who picked it up sometime between then and now.

What is the draw to REALbasic? Is it cross-platform? Is it rich framework? Is it easy to learn?

I'd like to know why everyone is using REALbasic. There are other tools out there. There are other languages out there. Why REALbasic?

With all the problems that REALbasic has, it still keeps a following. There is still some use for it, and it appears to be getting better in each build, even if it isn't always apparent.

I'd like to hear from you. If you'd email me off the list and tell me why you're using REALbasic and what you like and what you don't like about it.

There is a group of us out there that is unhappy with REALbasic and would turn to another product immediately if it just offered that one or two things that we're using from REALbasic. What is that one piece for you?

I can't wait to hear,

- Ryan Dary
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>

Reply via email to