crazy programming language thoughts
Terry Hancock
hancock at anansispaceworks.com
Fri Aug 22 09:47:08 EDT 2003
Istvan Albert wrote:
> Ryan Lowe wrote:
> >>>>v = read lines from 'file.txt';
> join it with '\n'; lower it; split it at '.'
>
> split line at '\n' is no better than line.split("\n")
> after all then you could argue that you should be
> able to say "'\n' is the splitting character in line" or
> "break into pieces at '\n'" and so on.
Yeah, I think this is ultimately the problem with "English-like"
syntax. The fact that Python's syntax (one of many examples)
is more like mathematical notation is a cue to both the author
and the reader that a more exacting attention to syntax is
required. Maybe this is what they really meant by "one obvious
way to do it" versus "there's more than one way to do it": in
English there are many -- maybe infinitely many -- ways to say
essentially the same thing.
But a parser that could understand them all would pass the
Turing Test and want a paycheck. ;-)
Of course, it is interesting to note that it is the *author* who
primarily needs this cue. The *reader* benefits from using English
words instead of abstract symbols. So perhaps this is why
Python's mix of syntax works well -- not too hard to write, and
not too hard to read. I'm not even going to speculate about
whether it is the best such mix. ;-)
The main language I use that resembles the "English" style
is SQL:
SELECT * FROM table_a WHERE field_b LIKE '.*[abc][def]'
and while I find SQL very useful in its limited application
domain, I wouldn't really want to turn it into a real
programming language*!
Cheers,
Terry
*By which I meant "Turing Complete" and nothing else. And
no value judgements whatsoever. :lol:
--
Terry Hancock
Anansi Spaceworks http://www.AnansiSpaceworks.com/
More information about the Python-list
mailing list