Hacker News new | ask | show | jobs
by ericathegreat 2142 days ago
A familiar dream, that kind of misses the actual challenge of programming is not the syntax. HTML really doesn't take long to learn - at least, not the kind that's being produced here. The hard part is unambiguously describing what you actually want. That's what code is, at a fundamental level - a way of describing exactly what you want in a way that cannot be misinterpreted.

Consider the instructions.txt given; 'This is an application called "My Bikes".'.

Okay, so what does "called" imply here? Is this what you want displayed in a title bar? Or is this the name that should be used for links to this application? Or is this text that should be displayed in large type at the top of the page? Or is this the name you're going to refer to it as in other "instruction.txt" files, when you want to link or reference this app? Or is this the label that should be used when someone adds their app to their phone home screen? Or something else entirely? I would argue that any of these would be valid interpretations of the phrase, but I'd bet that at least some of them would not be what the author originally intended (or even considered) when they wrote the phrase.

Consequently, you might find that you need to say something more like 'This is an application. The browser title bar should be "My Bikes". The displayed heading should be "My Bikes" in large, sans-serif font. When other pages link to this page, they should use the link text 'EricaTheGreat's Bikes'..." etc, etc.

And you can bet that pretty soon, users of this language will start complaining that "I have to type so much to get even the most basic things going. Could I just simplify it down to something like 'title bar: "My Bikes", heading text: "My Bikes", heading size: large, heading font: sans-serif"... "

Well look at that! In making this statement unambiguous, we've just created a very verbose programming language!

It remains as ever a delightful dream, but unfortunately one that doesn't actually solve the real problem - that natural language uses a lot of words to say things that are ambiguous and ill suited to producing the desired outcome.

1 comments

This misses one particular market though, which is the users that don't care how "My Bikes" is displayed. This is the Shopify / Squarespace market; people that just want to sell/conduct their business, not design a website.

To those people a natural language such as this could be a huge boon to business, because they could just spend an afternoon writing an instructions.txt and publish the website that night rather than spending hours figuring out how to use the built-in editor and customization options.