Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

People have written a lot about programming languages that try to use natural-language syntax, but one idea that I remember is that both HyperTalk and AppleScript are a lot easier to read than to write, because you can relatively easily use your knowledge of English to understand what the code is doing, but you can't easily use your knowledge of English to figure out how to phrase instructions in a way that the interpreter will understand. And your own praise of HyperTalk mentions its being easy to read, not easy to write. :-)

One way to experiment with this distinction might be to look at the Wikipedia page

https://en.wikipedia.org/wiki/HyperTalk#Fundamental_operatio...

and read through the examples and see if you follow them. I'm sure you will.

Now, close the page and try to write a valid loop, and a valid user interaction, and a valid test for the existence of a file. I don't think you're likely to succeed unless you've actually programmed in HyperTalk recently.

But I could readily imagine that many people can learn HyperTalk more quickly or comfortably than a language without the natural language elements. Maybe part of that is the low psychological barrier to using a system that looks like it makes sense semantically, compared to learning special meanings for lots of symbols.



Inform 7 ( http://inform7.com/ ) is a modern programming language with "English like" syntax. And as someone who's tried to work from their manual (it has only "shallow end" and "learn by example" formulations) when you actually want to do the thing, one particular English-like construction will compile and a very similar English-like construction will be rejected and it's awfully hard, except by repetition, to learn which one will work.


I find well thought-out formalized grammars easier to follow in either direction. In particular, I find Python striking a good balance between reading almost like English for the most part, and being compact and non-ambiguous.


Like many commenters here, I loved HyperCard and used it quite a bit in middle through high school (and even college years). For me, it never was the syntactic-sugar-laden language, but the entire environment: it was really easy to create an interactive, custom GUI to do more or less what one wants. And since every Mac shipped with HyperCard, a stack can run anywhere (unless it depended on specific extensions).


Considering code is read more frequently than it is written [0] [1], seems like a trade-off that could be helpful... I wonder if autocomplete to a language like this would help a lot. There was nothing like that for HyperCard.

[0] https://blogs.msdn.microsoft.com/oldnewthing/20070406-00/?p=... [1] https://blog.codinghorror.com/when-understanding-means-rewri...


The way "normal" people tend to enter into programming is by starting with some example code and modifying it to their purpose. In this sort of scenario readability is very much a benefit.


As opposed to software developers, who take some existing application code and refactor it to their purpose.


I would expect a software developer to be able to write code from scratch (when necessary), but then again I'm old fashioned like that.


not when you're in a language you've never used before...




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: