notes-computer-programming-programmingLanguageDesign-prosAndCons-hypertalk

andyfleming 1 day ago

link

I found this nice simple, contrasting comparison of syntax from the last discussion about this (thought it would be worth sharing).

Here is some of the new JavaScript? syntax:

  Mail.outgoingMessages.whose({subject:'JavaScript'})

Here is what it looks like in AppleScript?

    tell application "Mail"
        set msgs to every outgoing message whose subject is 'JavsScript'
    end tell

While the AppleScript? sounds logical, the JavaScript? syntax just feels so comfortable and familiar (obviously).

reply

Tloewald 1 day ago

link

The problem isn't the AppleScript?'s wordiness, it's that knowing the exact way to phrase a command correctly is horrible (and it doesn't help AppleScript? is implicitly strongly typed).

In HyperTalk? you could write something like put 4 + 4, get it; or set fred to 4 + 4; or put 4 + 4 into fred. You could leave quotes off a string, or put quotes on a number, and it would usually "just work". This made HyperTalk? easy for non-programmers to write, yet still easy for programmers to write well (and debug). AppleScript? allows even more syntactic constructs than HyperTalk?, but they all turn out to be semantically different in incompatible ways. (It's very much like they map directly onto C++'s . -> * and & directly.) So if you can set fred to 4 + 4, you probably can't put 4 + 4 into fred. (I'm pulling these examples out of my ass without looking up actual syntax because I can't be bothered.)

I went from being a competent HyperTalk? programmer to "godlike" thanks to a book by Danny Goodman (The HyperTalk? Bible, I think). When AppleScript? came out, Apple commissioned Goodman to write the definitive book on AppleScript? -- I read it and still couldn't get anywhere. AppleScript? is kind of like Blender. I can eventually figure out how to do anything, but knowledge of how I did it evaporates almost instantly. It's perhaps the worst programming language I have ever actually tried to master.

Danny Goodman later wrote books on JavaScript? and DHTML which, for their time, were just as great as his HyperTalk? stuff, but no-one has ever been able to make AppleScript? not suck (for me, anyway).

reply

hugs 1 day ago

link

I miss HyperTalk?. It was my first "love" programming language. I agree, HyperTalk? was different enough from AppleScript? that you could be productive in HyperTalk?, but lost in AppleScript?. It might be due to the fact that AppleScript? is a general purpose language, but HyperTalk? was essentially a limited DSL for interacting with the HyperCard? GUI environment. HyperTalk?'s limited scope was its best and worst feature.

I'm still surprised no one's made a small open-source HyperTalk? clone. A compile-to-JS-and-run-in-the-browser version would be pretty cool.

reply

robterrell 1 day ago

link

An open source HyperCard? clone: https://github.com/jhawcroft/cinsimp/

An open source HyperTalk? (modernized and improved in many ways) https://github.com/kreativekorp/openxion

I've used OpenXION? for shell scripting once or twice, on a lark, and it was a pleasant blast from the past.

reply