English-like Python

John Roth johnroth1 at gmail.com
Fri Jan 16 09:23:18 EST 2009


On Jan 16, 3:15 am, alex23 <wuwe... at gmail.com> wrote:
> On Jan 16, 5:39 pm, Erik Max Francis <m... at alcyone.com> wrote:
>
> > Inform 7 has some
> > interesting ideas, but I think the general problem with English-like
> > programming language systems is that once you get into the nitty gritty
> > details, you end up having to know exactly the right things to type,
>
> This has always been my impression of Inform 7. I have a lot of
> respect for what they've set out to achieve but English isn't exactly
> known for its lack of ambiguity. This is great for literature but not
> so helpful for programming.
>
> > which ultimately get just as complicated as a more traditional
> > programming language syntax.
>
> And much more verbose, as well.

Since I've used Inform 7 I can say that the syntactic problem isn't
that great: once you get far enough into a project to matter the
specialized constraints just sink in. It's more work to learn, but no
stranger than Python's indentation scheme.

The bigger problem for the comparison is that Inform 7 is a Domain
Specific Language (DSL), not a general purpose language. Not only
that, but the domain is pretty much everyday experience (with a large
dollop of fantasy, of course). All the feedback is that the results
are quite readable to non-programmers. This is why well over half of
the mailing list posts on the authoring mailing list are about Inform
7.

I really don't think that using natural language for a general purpose
programming language is a good idea, for reasons that several other
people have already said. I think it's a great idea for DSLs, at least
in some cases.

The other really major problem is that I don't think anyone really
knows how to process natural language. The direction that natural
language processing has taken in the last 50 years has come up lacking
big-time. It does a good job in a single domain, but try to build
something that crosses domains and nothing works. There isn't a good
alternative in sight

John Roth



More information about the Python-list mailing list