• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Just submitted this to BugReporter as feature request - comments...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Just submitted this to BugReporter as feature request - comments...


  • Subject: Just submitted this to BugReporter as feature request - comments...
  • From: Jim Witte <email@hidden>
  • Date: Sat, 10 Apr 2004 15:03:26 -0500

Hi,

Last night I submitted the following to Apple's Bugreporter ad a feature request. Anyone have any comments - or are lots of other people here "HyperCard veterans"?

It would be SO nice if in Applescript I could simply write:

put 5 into tVar
put "set x to" && quote & tVar & quote && "+10" into tCommand
[...]

than the rather cumbersome (and much less Englishlike)

set tVar to 5 -- or equivalently 'copy 5 to tVar'
set tCommand to "set x to \"" & tVar & "\"+10"
[...]

First of all, the word 'quote' is just easier on the eye than the escape-double-quote, except perhaps for people who are used to reading Perl for a living - which I don't think AS's audience is.

The && operator for concatenation with a space is not as intuitive, but it is simple, and accomplishes a function that one often wants to do when composing text. It is both easier (some would say more concise) than using the 'space' keyword, and is easier on the eyes than writing "this string " & "has a space in it" with the space at the END of the first string literal - the eye can VERY easily miss that space, or worse, delete it by mistake.

As for the 'put' command - I have never liked AS's 'set' command - it makes sense to *set* properties such as the height of an object. It does not however make as much sense to "set" a variable. It makes sense, but it's not what people generally say when they are referring to real world containers, which after all, are what variables are - containers. One never says "I set water into the bucket". HC succeeded because the programming language metaphors matched the real-world metaphors they were trying to emulate. AS doesn't do this as much (and I have written quite a lot of HC in my time, and a fair amount of AS too)

The 'copy' command is closer to the English language usage, but again, not quote. To copy implies that the destination already exists, and that the source will continue to exist after the execution. This is true with variables, but it is also (assummed) true with 'put' and 'set' as well (that's where the metaphorical relation between computer-variables and real-world-objects breaks - the contents of variables are almost ALWAYS copied, whereas real-world objects cannot be generally)

'Set' also brings to mind to possibility that it is performing a refernce-copy instead of a value - like a 'clone' command (from NewtonScript). Which of course it doesn't either.

When AS came out, I had hoped that I would either be able to type in HC scripts I had been writing for years *exactly* as they had been, and have them work (as far as they would - as HC had no application-object model), or that they would with very minor changes. Alas, that didn't happen, and it *continues* to frustrate me to this day, because I write something that would have worked in HC, and it doesn't in AS, and I can't figure out why.

Most often this has to do with coercian of variables that didn't seem to be a problem in HC (having to write kludgy-looking things as "display dialog (tFile as string)" instead of having the AS compiler know enough to do the coercian of a file refernce to a string automatically. But that's another bug report - I'll have to come up with specific examples.

Generally, I would hope that Apple would resurect the entire HC language syntax, and re-create it as an AS dialect (if those still exist in the current codebase - I know they did at one point). This would be of great benefit if there are still a bunch of HyperCard veterans like me out there (I don't know), especially if Applescript Studio were reworked into an interface as easy to use as HC (instead of requiring one to use xCode and IB, which while much more powerful, is also somewhat intimidating than just having a little palette with 15 or 18 buttons on it, creating little buttons, and editing their scripts all in one place..

Hypercard was one of the most innovative, possibly THE most innovative application or technology on the Mac ever, aside from the Mac itself. In my opinion, it should have been integrated directly into the system and Finder (buttons and fields on the desktop, in folders, etc), and made into a system scripting lanuage, combining what later was to be AppleEvents and AppleScript functionality, as well as UI scripting like QuicKeys. Network support should have been added, and more robust data transfer capabilities. If that had been done, HC would have been a platform for user-level programming (which it already was), and more so, for "user GUI design" - a concept which does not currently exist in ready form on either MacOSX OR Windows. SmallTalk and Squeak may have parts of it (I haven't played with thse much). This kind of technology, coupled with easily-accessible application-control and UI-scripting (comparable in part to VBA on Windows and a number of disparate pieces on MacOS including QuicKeys, iKey, AppleScript Studio, and MetaCard) YEARS before Windows did. With network ability, scripting ability (equivalent to JavaScript), and multimedia capabilities, HC could have formed the basis for the World Wide Web, taking the place of, or combining with the current protocols of HTML, XML, DHTML, JavaScript, Java, and all sorts of CGI platforms, as well as WebObjects.

Apple could still put together this "user GUI design" paradigm on the desktop end - and work toward integrating it more closely with Java, JavaScript, DHTML and the DOM, and WebObjects on the enterprise size - even now. It would undoubtedly be harder (technically and logistically), and the payoff would be much more uncertain, but if done correctly, it could possibly create the next interface revolution for the 21st century, after the desktop-metaphore pioneered at Xerox-PARC. It already exists in small forms in Squeak and some Java environments, but it has yet to reach the mainstream, and I believe will never reach the mainstream unless a large company commits to it. MS is probably not going to do so, or it likely already would have.

Plus, for users, the "Steve Jobs keynote selling-point demonstration" is obvious: how would you like to be able to create a customizable list of stock quotes that would always be on your desktop, yet roll away at the click of a mouse, in only 6 lines of code? And it would take you less than 5 minutes to do." and it could be done, eith HC and SOAP queries..

Jim
_______________________________________________
applescript-users mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/applescript-users
Do not post admin requests to the list. They will be ignored.


  • Follow-Ups:
    • Re: Just submitted this to BugReporter as feature request - comments...
      • From: Graff <email@hidden>
    • Re: Just submitted this to BugReporter as feature request - comments...
      • From: "John C. Welch" <email@hidden>
    • Re: Just submitted this to BugReporter as feature request - comments...
      • From: Jon Pugh <email@hidden>
    • Re: Just submitted this to BugReporter as feature request - comments...
      • From: Bill Hoffman <email@hidden>
  • Prev by Date: has option in system attributes
  • Next by Date: Re: has option in system attributes
  • Previous by thread: Re: has option in system attributes
  • Next by thread: Re: Just submitted this to BugReporter as feature request - comments...
  • Index(es):
    • Date
    • Thread