Number of languages known [was Re: Python is readable] - somewhat OT

Steve Howell showell30 at yahoo.com
Wed Apr 4 03:07:33 EDT 2012


On Apr 3, 11:19 pm, Steven D'Aprano <steve
+comp.lang.pyt... at pearwood.info> wrote:
> On Tue, 03 Apr 2012 08:39:14 -0400, Nathan Rice wrote:
> > Much like
> > with the terminal to GUI transition, you will have people attacking
> > declarative natural language programming as a stupid practice for noobs,
> > and the end of computing (even though it will allow people with much
> > less experience to be more productive than them).
>
> I cry every time I consider GUI programming these days.
>
> In the late 1980s and early 1990s, Apple released a product, Hypercard,
> that was a combination GUI framework and natural-ish language programming
> language. It was an astonishing hit with non-programmers, as it allowed
> people to easily move up from "point and click" programming to "real"
> programming as their skills improved.
>
> Alas, it has been abandoned by Apple, and while a few of its intellectual
> successors still exit, it very niche.
>
> I *really* miss Hypercard. Not so much for the natural language syntax,
> as for the astonishingly simple and obvious GUI framework.
>
> To get a flavour of the syntax, see OpenXION:
>
> http://www.openxion.org
>
> and for a hint of the framework, see Pythoncard:
>
> http://pythoncard.sourceforge.net
>
> > Ultimately, the answers to your questions exist in the world for you to
> > see.  How does a surgeon describe a surgical procedure?  How does a chef
> > describe a recipe?  How does a carpenter describe the process of
> > building cabinets?  Aside from specific words, they all use natural
> > language, and it works just fine.
>
> No they don't. In general they don't use written language at all, but
> when they are forced to, they use a combination of drawings or
> illustrations plus a subset of natural language plus specialist jargon.
>
> Programming languages include both specialist grammar and specialist
> semantics. That makes it a cant or an argot.

The "building cabinets" problem is interesting:

  1. To actually build a cabinet, there's a lot of domain knowledge
that's probably implicit in most circumstances.  A carpenter might
tell another carpenter which hinge to use, but they won't have to talk
about why doors need hinges or how to do the assembly.
  2. It's quite common for humans to use computer programs as part of
the design process.
  3. Often, the output of a CAD program (at the file level) is some
sort of vector representation that only describes the end product
(basic dimensions, etc.).

I wonder if there are mini-languages out there that allow you to
describe cabinets in a very descriptive way, where the description
easily translates to the actual steps of building the cabinet, not
just the final dimensions.





More information about the Python-list mailing list