Kee Nethery writes: > I've been following the Revolution lists because it is the closest > thing available to Hypercard but I've been exploring all the > alternatives because I've come to believe the dominate opinion that > Hypercard and things like it, are not real programming environments.
This begs the obvious question: What defines a "real" programming environment? I don't mean to dis HyperCard, but there were a number of design decisions that forced non-standard workarounds (e.g., what were they thinking with that scroller widget palette while everything else Apple turns out uses scrollbars?). Even with the few stacks laden with hundreds of dollars of externals to get around such things, you need only drag a window and watch its outline snap at 16-pixel increments to know what it was built with. SuperCard took giant leaps to give folks the ability to make native-looking apps, but the speed of the interpreter still posed some design limitations. And then there's Revolution: I have an commercial app built with the Rev engine, and it's so fast a magazine editor listed it as having been built with C++. :) That editor wasn't far off the mark. As my old pal Mark Hanrek used to remind me, "It's all about where you place the dividing lines", determining when to leave something up to the scripter and when to include it as optimized machine code in the interpreter. For example, the Transcript "split" and "combine" commands could be done with scripting, but they're so commonly used that it makes good sense to have those in the interpreter. The "repeat for each" construct is another good example of smart dividing lines in language design. As Osterhaut describes in his seminal paper, "Scripting: Higher Level Programming for the 21st Century" (see <http://dev.scriptics.com/doc/scripting.html>), most modern high-level languages act as a sort of glue that connects optimized precompiled routines. With such a perspective, clearly an advantage lies with those languages that let you do the most work with the fewest scripted lines. You intuitively discovered this for yourself with this observation: > I sat through Geoff's presentation with some other folks at Apple's > WWDC and then we sat through the RealBasic presentation. Geoff did an > excellent job but the clincher for me was seeing the RealBasic demo. > RealBasic just looked more complicated. Looking at Fig. 1 from Osterhaut's paper, mentally substitute "Visual Basic" with "RealBASIC", and "TCL" with "Revolution". Perhaps the biggest obstacle to being considered a "real" programming language is simply marketing. In spite of the beauty and power of HyperTalk and its subsequent influence on the industry (it was the inspiration for Visual Basic, which was first prototyped on a Mac using SuperCard), Apple dropped the ball and botched a golden opportunity. Microsoft's investment in VB shows how it could have been for Apple: strong investment in evangelizing an OS-specific high-level programming system guarantees rapid proliferation of apps for that OS. Rev takes this proposition a step further by giving us true platform independence. Only Java lets you develop and deploy GUIs on as many platforms, but Java runs much slower and has an order-of-magnitude longer development cycle. RealBASIC enjoys a perception of viability not entirely of their own making: by riding on the coattails of Microsoft's unmatched investment in popularizing VB, the program is in the enviable position of being able to leverage the huge infrastructure and community assets of the VB world (for a good discussion of why this is critical for product adoption see Geoff Moore's book "Crossing the Chasm"). As a thought experiment, imagine where any of the BASIC flavors would be today if it weren't for Microsoft. Meanwhile, if you look past the marketing and focus on results, on what a tool lets you deliver relative to your effort, as you've discovered Revolution provides a very strong return on investment. -- 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 ___________________________________________________________ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution
