Python is readable
showell30 at yahoo.com
Thu Mar 22 16:33:34 CET 2012
On Mar 22, 1:56 am, Steven D'Aprano <steve
+comp.lang.pyt... at pearwood.info> wrote:
> On Wed, 21 Mar 2012 18:35:16 -0700, Steve Howell wrote:
> > On Mar 21, 11:06 am, Nathan Rice <nathan.alexander.r... at gmail.com>
> > wrote:
> >> As for syntax, we have a lot of "real" domain specific languages, such
> >> as English, math and logic. They are vetted, understood and useful
> >> outside the context of programming. We should approach the discussion
> >> of language syntax from the perspective of trying to define a unified
> >> syntactical structure for real these DSLs. Ideally it would allow
> >> representation of things in a familiar way where possible, while
> >> providing an elegant mechanism for descriptions that cut across domains
> >> and eliminating redundancy/ambiguity. This is clearly possible, though
> >> a truly successful attempt would probably be a work of art for the
> >> ages.
> > If I'm reading you correctly, you're expressing frustration with the
> > state of language syntax unification in 2012. You mention language in a
> > broad sense (not just programming languages, but also English, math,
> > logic, etc.), but even in the narrow context of programming languages,
> > the current state of the world is pretty chaotic.
> And this is a good thing. Programming languages are chaotic because the
> universe of programming problems is chaotic, and the strategies available
> to solve those problems are many and varied.
> Different programming languages are good for different things because
> they have been designed to work in different problem/solution spaces.
> Although I dislike C with a passion, I do recognise that it is good for
> when the programmer needs fine control over the smallest details. It is,
> after all, a high-level assembler. Likewise for Forth, which lets you
> modify the compiler and language as you go.
> Some languages are optimized for the compiler, some for the writer, and
> some for the reader. So are optimized for numeric work, others for
> database access. Some are Jack-Of-All-Trades. Each language encourages
> its own idioms and ways of thinking about programming.
> When it comes to programming, I say, let a thousand voices shout out.
> Instead of imagining a single language so wonderful that every other
> language is overshadowed and forgotten, imagine that the single language
> is the next Java, or C, or even for that matter Python, but whatever it
> is, it's not ideal for the problems you care about, or the way you think
> about them. Not so attractive now, is it?
I'm not imagining a world where a single, imperfect programming
language crowds out other useful solutions.
What I am hoping for is a more purposeful diversity. It would be
great if the top 20 languages in the future had the same expressive
power as say the top 200 do now. In other words, by the time you
investigated the 21st best language for your needs, it would be
something really interesting and cutting edge, instead of PHP.
It's hard to imagine the *specific* form of progress we'll have in the
future, but I'd imagine that some day we'll have something more
interesting than a best-of-breed Algol derivative dominating the
> > The optimistic view is that there will be some kind of inflection point
> > around 2020 or so. I could imagine a perfect storm of good things
> > happening, like convergence on a single browser platform,
> You call that a perfect storm of good things. I call that sort of
> intellectual and software monoculture a nightmare.
> I want a dozen browsers, not one of which is so common that web designers
> can design for it and ignore the rest, not one browser so common that
> nobody dares try anything new.
I don't want a monoculture any more than you do. When I talk about
"convergence on a single browser platform", the thought was that web
designers might not to have waste brain cycles on IE6 workarounds in
2020; instead, they could be working on actual, cutting edge design.
By "convergence on a single browser platform", I was hoping for
something like the Unix situation that we have now--there's still
competition, there's still innovation around the edges, but you can
generally rely on 90% of the platform to be predictable.
> > nearly
> > complete migration to Python 3, further maturity of JVM-based languages,
> > etc., where the bar gets a little higher from what people expect from
> > languages. Instead of fighting semicolons and braces, we start thinking
> > bigger. It could also be some sort of hardware advance, like screen
> > resolutions that are so amazing they let us completely rethink our views
> > on terseness, punctuation, code organization, etc.
> And what of those with poor eyesight, or the blind? Are they to be
> excluded from your "bigger" brave new world?
I made my hypothetical advance ("screen resolutions") a little too
narrow and hardware-focused. What I really meant to imagine is a
world where eyesight and monitors stop being a bottleneck. Suppose
people with normal eyesight had way, way better monitors, and suppose
people with less than perfect eyesight had way more remedies available
(laser surgery, brain implants, whatever). With those constraints
removed, how would it change our view on what code should "look" like?
Also, far more people are already held back by a lack of vision than a
lack of eyesight. They can only imagine the worst scenarios with any
suggestion of progress, they embrace the status quo despite its
obvious shortcomings, etc.
More information about the Python-list