I really do not know how to reply to your comments Chris. I think it is
self-evident that your grasp on the details is a little simple.
It seems that you want all the power and speed, but are not willing to
sacrifice the simplicity and almost worry-free programming environment of
REALBasic. It doesn't make any sense.
Once again I don't see you stating any reason for why you can't have both
Speed and simplicity?
Please support your case of why this is not possible.
Personally a good java IDE feels a lot like coding in RB.
I have a tone of basic utility objects and I have GC.
And, if I may state Chris, REALBasic, Java, and Objective-C all use
dynamic binding. For example, consider the following object heirarchy:
Only Obj-C has dynamic binding of functions at runtime.
Java comes close with all its object introspection and being able to link
at the beginning of the start up process.
Obj-C looks up all method calls dynamically.
Nothing is linked.
You can insert new code or commands at runtime.
This is like most scripting languages out there.
LifeForm->Animal->Dog->Border Collie
This means that Border Collie can respond to messages sent to any of its
four interfaces. Basic Polymorphism. Consider this:
dim myLifeForm as LifeForm
myLifeForm = createRandomLifeForm() //plant, fish, dog, cat, chris
myLifeForm.die() //calls some sort of die.
Polymorphism -> Dynamic binding. Comp Sci 101
Polymorphism does not equal Dynamic binding.
See wiki
You will read here that dynamic binding is a common solution for Polymorphism.
It requires runtime look up of the functions used.
As far as I know onlt Obj-C does this.
http://en.wikipedia.org/wiki/Dynamic_binding#Dynamic_binding_for_polymorphism
A good example would be javascript.
Where you can call any method on any object at runtime by passing it a string.
The method is then looking up in basically a hash table and if it is
found it is run if not it is discarded.
You can also take an object and add new methods to it at runtime.
Example something like
var a = new object();
a[ "test" ] = function test(){ print( "TEST"); }
--
Email: chrisd at plaidworld dot com
iChat / AIM: crackbunny at mac dot com
Buy Art : http://www.starbounce.com
Listen to Music: http://www.trance-o-matic.com
Play Games: Plaid World Studios http://www.plaidworld.com
Learn game programming at http://www.idevgames.com
Day job: Software Engineer for http://www.riskwise.com, Part of LexisNexis
_______________________________________________
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>
|