My Entry for the RR Wish List

Richard Gaskin ambassador at FourthWorld.com
Fri Feb 22 16:09:00 EST 2002


Boonter Rob Cozens adds these bahl harpins to the tidrick:

> IMFO, in terms of relative programmer efficiency, programming in
> xTalk/CompileIt is to programming in C as programming in C is to
> programming in assembler.  My frustration with assembler came very quickly
> when I realized I was typing half a page of instructions to accomplish
> something I could do in one line of FORTRAN or PL/1.  And so it was with C
> once I learned HyperTalk.  Even in Pascal, which I much prefer to C, the
> overhead involved in writing externals was such I tried to avoid using
> them.  Once I had CompileIt, I was anxious to write my next external, and
> stopped looking for workarounds to avoid them.  Before Revolution,
> CompileIt was my second-most important application behind HyperCard.
> 
> MC/RR were designed to minimize the need for externals, and I'm going into
> my redesign with the goal of eliminating all platform-specific aspects of
> OenoLog.  However, it appears from the List traffic that many people still
> find the need for externals.
> 
> I would be willing to pay a seperate license fee for a tool that would
> allow me to create externals scripted in Transcript.

It would nifty as all get-out, but I'm wondering if there might be a more
Toolbook-like solution instead.

In Toolbook, the downside of the language is that you must declare variable
types.  The upside of this is that typing is the biggest obstacle to making
direct OS calls.  So in Toolbook, with both typed vars and a Rev-like
precompilation when a script is closed, you can make calls directly to the
Win API.  For a project I worked on once we were able to make the equivalent
of Mark Hanrek's RadWindows in just three lines of OpenScript.

While there are some benefits to true compilation for externals, in my
experience the number of cases where such things are needed are relatively
few.  For example, after porting a few dozen projects, ranging from very
simply single-window things like MetaBench (also available as HyperBench and
SuperBench at our FTP site) to very complex systems with dozens of windows,
hundreds and cards, sub-sub-menus and database access, I've rewritten more
than two dozen XCMDs and XFCNs in native Transcript/MetaTalk with no
noticeable degradation in performance (measurable, but not subjectively
noticeable).

The only externals I've ever retained were platform-specific (Tuviah wrote a
wonderful backdrop external that let's Windows users retain access to the
Start bar, and we use his Text-to-Speech externals in Brian Thomas' upcoming
"If Monks Had Macs" CD), and of course the great Valentina external for
access to that nifty DB engine.  Everything else, from text processing to
specialized dialogs, have all been implemented in native Transcript.

Since it seems to be the vertical platform-specific stuff where we need the
most help, it may bring us the biggest bang for the buck to have some means
of making OS calls directly in the language.  We'd have to type our vars,
but that's a small price to pay for all that flexibility.

Ken Ray's been kicking around some ideas along these lines, and hopefully
there's a way to incorporate some if his ideas into a future release.

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 Custom Software and Web Development for All Major Platforms
 Developer of WebMerge 1.9: Publish any Database on Any Site
 ___________________________________________________________
 Ambassador at FourthWorld.com       http://www.FourthWorld.com
 Tel: 323-225-3717                       AIM: FourthWorldInc




More information about the use-livecode mailing list