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

http://inform7.com/ is a successful counterexample, to some degree: it gets used, and it's much closer to the vision than older attempts like Applescript and COBOL. On the other hand, it's bad at the kind of programs Dijkstra liked to think and write about. I'd say Dijkstra expressed a basically sound but overly narrow viewpoint.


I like Inform, but it boils down to a kind of Prolog augmented with procedure-like sections, and I'm not sure that I'd prefer it to something more terse. I started to write a non-trivial game in it, and it was actually a lot of fun, but I had to look up the syntax a lot because it wasn't always obvious how to do something that was otherwise conceptually simple. For example, you could write something like

    The Lobby is a room. The oak table is in the lobby. The cake is on the table. The cake is edible. Instead of taking the cake say, "Best wait until the party starts before digging in."
But even though it's "natural language," it still _feels like_ I'm writing

    is_room(the_lobby).
    contains(the_lobby, the_table).
    is_on(the_cake, the_table).
    on_taking(the_cake, { print "You can't get ye cake!"; }).
That said, Inform _does_ manage to make programming non-scary to non-programmers, which is a very good thing. It's probably the fact that I expect programming languages to be unlike natural languages that I felt it was awkward. (I personally ended up rewriting the game in Scheme. Never finished it. Maybe I should go back and work on it at some point.)




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: