[OT] If programming languages were religions...

Richard Gaskin ambassador at fourthworld.com
Mon Dec 22 13:41:08 EST 2008


Randall Lee Reetz wrote:
> As I said, there are important aspects of the Revolution product that  
> ARE unique... the use and GUI centered IDE, the multi-platform  
> develop and publish flexibility, the viability of the user community  
> and this online support group, the stability of the company and the  
> rapidity and reliability of the pace of version development cycle,  
> the constant evolution of the product in lockstep with platform  
> evolution, etc.  But the subject was the scripting language itself.

While of course Revolution is just one implementation in the xTalk 
family of languages, its specific dialect at this point is probably 30% 
or even 40% or more unique, or at least distinct from the Mother Tongue, 
HyperTalk.

If we exclude all externals (since they were written in other languages) 
and look only at what's natively in the engine, it might even be the 
case that Rev has added as many new tokens as were in the entire 
HyperTalk 2.x language.

All tokens related to arrays, sockets, URLs, new forms of repeat, icons 
in ask and answer, scrollbars, color, blendlevels, images, groups, 
gradients, aliases, system color and folder pickers, 
compression/decompression, binary file I/O, binary operators, Unicode, 
window modes, mouseMove and other messages, buffer control, video 
playback, QTVR control, drag-and-drop, executionContexts and other 
debugging/logging info, script-local vars, animated GIFs, image export 
formats, screen shots, new date and time formats, backdrops, timers, 
serial I/O, audio recording, substacks, template objects, labels as 
distinct from names, and dozens of new properties for even buttons and 
fields, just to name a few - all unique to Rev.

And then there's a good number of tokens not in HC that Rev has adopted 
from other xTalks, like SC's frontScripts, backScripts, graphic objects, 
transfer modes, and the merge function, and OMO's libraryStack message, 
just to name a few, along with a new altID property to make such ports 
even easier.

If it appears all Rev brings to the table is multi-platform support and 
its IDE, that perception will change as one spends more time with the 
Rev Dictionary.  A LOT has been happening since the engine was born in '92.

I don't even use the Rev IDE nor its externals.  With just the core 
language in the engine, I simply couldn't go back to HC or even SC if I 
had to.  While we're all using xTalks, I've adopted a coding style that 
makes such extensive use of the expanded syntax and object model that I 
doubt much of what I do would run anywhere else.

Sure, Rev feels familiar to any xTalker.  I guess that's a good sign of 
how passionate Mark Waddingham is about maintaining the flavor of the 
language (he was once nearly willing to engage in fisticuffs with me in 
his defense of the language style <g>; I acquiesced, of course, since 
he's both younger and stronger than me and more importantly fighting 
with a greater sense of purpose).  But for all its familiarity, Rev is a 
brave new world among xTalks, one that has earned through the sweat of 
its many programmers a place of unique honor among the xTalk dialects.

True, Mark Lucas, SuperCard's lead programmer, is perhaps the greatest 
Mac programmer I've ever been privileged to know personally, and under 
his stewardship it's no surprise SuperCard has done as well as it has. 
But while Mr. Lucas may do the work of a ten men, not only does he have 
a stronger loathing of the Windows API than even myself, but he would 
also be among the first to note the challenges of doing this sort of 
work for multiple platforms.  Drag and drop, for example, is a complex 
API on OS X; add in Windows and Linux and the complexity grows 
geometrically.

For all the inspiration Rev has drawn from its lineage, the Rev engine 
is quite an achievement in its own right.  Browse through the Dictionary 
and you'll see what I mean.

--
  Richard Gaskin
  Fourth World
  Revolution training and consulting: http://www.fourthworld.com
  Webzine for Rev developers: http://www.revjournal.com



More information about the use-livecode mailing list