RunRev vs RealBasic

Gordon Webster gwalias-rev at yahoo.com
Mon Jan 3 10:53:21 EST 2005


I really like what Frank is contemplating ... 

It would be ganz wunderbar if rev users had the option
to create stacks that were destined to be natively
compiled as externals. I guess that rev would have to
insist on some sort of type declarations in such a
case to get optimal performance, but this could be
done only in the stacks that are to be compiled,
allowing rev users to keep a flexible, typeless
environment except for the parts of the app that
needed compiled performance. Naturally, the runtime
would produce all the necessary boilerplate code for
the interface between the rev runtime+bytecode app and
the new external :-)

BTW: I purchased rev because I was tired of working on
my hands and knees pushing heavy boulders with my
nose, writing in C (or doing the same with a hippo on
my back, writing in C++). Isn't there some way that
rev could free us from the hell of having to write
externals in C? I also use PowerBasic, which allows
you to declare the functions exported by a DLL in your
code and then simply use them as if they were an
"Include".

How about it rr - something like:

revDeclareExternal someFunction in "C:\something.dll"

Wouldn't that be sweet :-)

Best

Gordon




--- "Frank D. Engel, Jr." <fde101 at fjrhome.net> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> On Dec 31, 2004, at 5:04 PM, Chipp Walters wrote:
> 
> >
> > On Fri, 31 Dec 2004 2:40 pm, Ken Ray wrote:
> >> That's one of the beauties of Rev... data can be
> stored *inside* the 
> >> stack
> >> files, either as data in fields that have been
> saved, or as custom
> >> properties that are stored with the stack itself.
> >
> > A great point. I recently was able to create a
> compressed, encrypted 
> > binary data storage file using a stack and a
> single line of code. This 
> > data file stores text data along with imades in 3
> different formats.
> >
> > This data file is actually a stack with no
> business logic and is 
> > opened by my app invisibly and data selectively
> moved to the gui, 
> > edited there and then moved back to the inv stack
> to save. Talk about 
> > simple. Doing the same in VB would be very
> complicated. I imagine RB 
> > too.
> >
> > Btw, regarding speed issues, I think there have
> been a number of speed 
> > coding challenges between RB and RR with no
> conclusive winner. Perhaps 
> > Frank can be more specific with regard to areas he
> feels RR runs slow?
> 
> Again, CPU-Intensive routines, such as processing
> each byte of a long 
> string individually.  Most of the more "stock"
> operations run quite 
> well in Rev, but when doing intensive, custom
> CPU-intensive routines, 
> it generally pays to write an external, particularly
> when targeting 
> older hardware.
> 
> > Also, last time I looked, RR compiles scripts 'on
> the fly' like Java. 
> > Didn't know RB was a compiler. Must be tough on
> edit/compile/run/debug 
> > cycles. Perhaps it's an interpreter like RR and
> compiles during 
> > runtime? I don't know.
> 
> Rev "compiles" scripts into a bytecode format which
> is later 
> interpreted by the runtime environment.  Faster than
> a "pure" 
> interpreter, but still slower than compiled code.
> 
> Java code gets run through a compiler which
> translates it into a Java 
> bytecode.  That bytecode is then interpreted at
> runtime, much as is Rev 
> code.  However, some Java runtime environments
> (JREs) will actually 
> "recompile" the bytecode into native code for the
> platform.  This is 
> slower than compiling code directly for the
> hardware, but adds the 
> write-one-run-anywhere flexibility of Java (and to
> some degree of Rev), 
> and the result of this (sometimes referred to as
> "Just-In-Time" 
> compilation) is much closer in speed to native
> compiled code.
> 
> Real Basic is a true compiler, which translates code
> into instructions 
> for the actual hardware on which it is run.  This is
> the fastest 
> solution, since the computer hardware does virtually
> *all* of the work 
> of figuring out how to execute each instruction, and
> there is no 
> runtime translation step.  However, this also locks
> the compiled 
> version to the platform for which it was compiled
> (similarly to a 
> standalone produced by Rev), and it causes a
> Compile-Run-Debug cycle to 
> be introduced.  Visual Basic (M$ product) is also a
> true compiler.
> 
> I personally wonder what it would take to create a
> true compiler for 
> Rev stacks?  Obviously this would introduce some
> limitations on certain 
> operations, but for stacks which don't use those
> operations, it could 
> substantially increase performance...
> 
> > Best,
> > Chipp
> > Chipp Walters, Altuit.com
> > Sent from my Sidekick
> > _______________________________________________
> > use-revolution mailing list
> > use-revolution at lists.runrev.com
> >
>
http://lists.runrev.com/mailman/listinfo/use-revolution
> >
> >
> -
>
-----------------------------------------------------------
> Frank D. Engel, Jr.  <fde101 at fjrhome.net>
> 
> $ ln -s /usr/share/kjvbible /usr/manual
> $ true | cat /usr/manual | grep "John 3:16"
> John 3:16 For God so loved the world, that he gave
> his only begotten 
> Son, that whosoever believeth in him should not
> perish, but have 
> everlasting life.
> $
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (Darwin)
> 
>
iD8DBQFB2WM77aqtWrR9cZoRAsUbAJ4gtrDqiI1CZJxxBW6uoR4CoaMjCwCePAdK
> KhTWir4Ze+lNH6W5Kgz47x8=
> =6op3
> -----END PGP SIGNATURE-----
> 
> 
> 
>
___________________________________________________________
> $0 Web Hosting with up to 120MB web space, 1000 MB
> Transfer
> 10 Personalized POP and Web E-mail Accounts, and
> much more.
> Signup at www.doteasy.com
> 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
>
http://lists.runrev.com/mailman/listinfo/use-revolution
> 



More information about the use-livecode mailing list