Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #106581

Re: Promoting Python

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Chris Angelico <rosuav@gmail.com>
Newsgroups comp.lang.python
Subject Re: Promoting Python
Date Thu, 7 Apr 2016 00:14:23 +1000
Lines 63
Message-ID <mailman.134.1459952066.32530.python-list@python.org> (permalink)
References <DUB110-DS131649FA6F6AA56BBDD63E989E0@phx.gbl> <mailman.54.1459840979.32530.python-list@python.org> <ne2qd3$8rg$1@dont-email.me> <87h9ffgdtr.fsf@elektro.pacujo.net> <ne348r$f5b$1@dont-email.me> <CAPTjJmrCbA5UDW9tMVndw2U4EZAn+PBpOL2wYVc=6Mpfee0_pg@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8
X-Trace news.uni-berlin.de 8eqLRhAoJO94wKug9SA8GAWVn9OutFBajoGOgQ91/eEA==
Return-Path <rosuav@gmail.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'subject:Python': 0.05; 'compiler': 0.05; '*not*': 0.07; 'emulate': 0.07; 'executable': 0.07; 'expressions': 0.07; 'plenty': 0.07; 'cc:addr:python-list': 0.09; 'essential.': 0.09; 'mutable': 0.09; 'python': 0.10; 'translate': 0.15; 'wed,': 0.15; 'variables': 0.15; '(either': 0.16; '2016': 0.16; 'assignments,': 0.16; 'brilliant': 0.16; 'cleanly': 0.16; 'elsewhere,': 0.16; 'experiments': 0.16; 'expressions,': 0.16; 'expressions.': 0.16; 'from:addr:rosuav': 0.16; 'from:name:chris angelico': 0.16; 'independent,': 0.16; 'intrinsic': 0.16; 'least.': 0.16; 'lend': 0.16; 'messy': 0.16; 'opposite': 0.16; 'pairs).': 0.16; 'participate.': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'syntactic': 0.16; 'those,': 0.16; 'wrote:': 0.16; 'variable': 0.18; 'language': 0.19; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'background.': 0.20; '(by': 0.22; "aren't": 0.22; 'rid': 0.22; 'programming': 0.22; 'code.': 0.23; 'sets': 0.23; 'slightly': 0.23; 'implemented': 0.24; 'header:In-Reply-To:1': 0.24; 'feature': 0.24; "doesn't": 0.26; 'required.': 0.26; 'coding': 0.27; 'message-id:@mail.gmail.com': 0.27; 'mathematical': 0.27; 'regular': 0.29; 'i/o': 0.29; 'if,': 0.29; 'understand,': 0.29; 'themselves': 0.29; 'classes': 0.30; 'that.': 0.30; 'code': 0.30; 'normally': 0.30; 'programmers': 0.30; 'push': 0.30; '[1]': 0.32; 'maybe': 0.33; 'getting': 0.33; 'accessible': 0.33; 'languages': 0.34; 'that,': 0.34; 'received:google.com': 0.35; 'so,': 0.35; 'functions.': 0.35; "isn't": 0.35; 'but': 0.36; 'should': 0.36; 'there': 0.36; 'received:209.85': 0.36; 'basic': 0.36; 'flow': 0.36; 'notes': 0.36; 'pm,': 0.36; 'subject:: ': 0.37; 'two': 0.37; 'being': 0.37; 'say': 0.37; 'received:209.85.213': 0.37; 'seem': 0.37; 'doing': 0.38; 'received:209': 0.38; 'means': 0.39; 'does': 0.39; 'enough': 0.39; 'easily': 0.39; 'some': 0.40; 'your': 0.60; 'skip:u 10': 0.61; 'url:t': 0.62; 'more': 0.63; 'more.': 0.63; 'intent': 0.66; 'eight': 0.72; 'evaluate': 0.72; 'transfer': 0.73; 'actually,': 0.84; 'chrisa': 0.84; 'console,': 0.84; 'paradox': 0.84; 'proves': 0.84; 'unnecessary,': 0.84; 'to:none': 0.91; '*for': 0.91; 'simulation': 0.91; 'url:youtu': 0.91; 'have.': 0.93
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc; bh=5vMEeEY4PdHkxQ3fDKbmfsVGmlz0oghA3SjNYixQNnA=; b=mjBqdBu1TKTtyLS6XAvSFUPvai6fGhxZ9Ncea14NnaEbgonpGwNeWJard2oCAOrnyi XRbTK/JKCdYxb8IeFza5mbua35wzk7Bwepfu1vIX10EZBjyFdipeDUXcRq657cYUIkH8 eG5oltDNHS0bKBTMjRgb3fw7h8vtepjS97jj63xgoJDGy80rqhswu+1dkbR5Gev9HUdT +O/wKOF3TKdygphvOkQpD0Kh0ZSYCm10Z99s61NqVCjHKJWz3lk4Q561ycA95iozpmCa WQbfU5J9rzknwTycIEpvavracz5jLRja49UTbyI1KGDxw/SOorG1zJuI6ecxHewRIyun hI2A==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:cc; bh=5vMEeEY4PdHkxQ3fDKbmfsVGmlz0oghA3SjNYixQNnA=; b=VJOGFc3mHLl7wPXmeaURAKYvwYhSwzKg8brq+zeN1ooJIoVWdJql1ZwcxKOYvZhGeP hJPIArx/gBbJyxMrMYUxL82HDCYoKfIDpAhFJeC0FUGlcb517ShBc/jnMRN260lYheQd FYXIiNM5VL2pnui2G1TiXZxcoPau3UfvLMG7FAp8HR5rmFO8IaDso157/PwgUrs403Br 3VjHkAiW/fMiwRi2U/Vue+kYhBzPg9p8iqzqainqkEcqWsS4VBQk2/IzPjHzuN+6Z/OX G73BVkjKa66m4mEvMEdqqzUb3mKxYXKxR9xp3JykgAlkg/5AgZuKT6Ai3CQNAfCAUIGu y21Q==
X-Gm-Message-State AD7BkJJVtyz5EseIIjGAXMZ5YlIgujUzIJEOx6pggm0dpjtboDvgKmaYD6bAoEpEevXUs5Nvs13WKixOhPG8Zg==
X-Received by 10.50.124.36 with SMTP id mf4mr10281245igb.92.1459952063160; Wed, 06 Apr 2016 07:14:23 -0700 (PDT)
In-Reply-To <ne348r$f5b$1@dont-email.me>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.21
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <CAPTjJmrCbA5UDW9tMVndw2U4EZAn+PBpOL2wYVc=6Mpfee0_pg@mail.gmail.com>
X-Mailman-Original-References <DUB110-DS131649FA6F6AA56BBDD63E989E0@phx.gbl> <mailman.54.1459840979.32530.python-list@python.org> <ne2qd3$8rg$1@dont-email.me> <87h9ffgdtr.fsf@elektro.pacujo.net> <ne348r$f5b$1@dont-email.me>
Xref csiph.com comp.lang.python:106581

Show key headers only | View raw


On Wed, Apr 6, 2016 at 11:54 PM, BartC <bc@freeuk.com> wrote:
> There are plenty of features that /I/ consider must-have, which Python
> doesn't have. It has to emulate them, unsatisfactorily, with variables or
> classes or functions, or do without.

Blub's Paradox epitomized.

> But you're right in that little is actually essential. Basic has shown that.

Actually, BASIC has a lot that isn't essential. A Turing-complete
language can be implemented with just three tokens, although that's
slightly cheating; they form eight opcodes (by being used in pairs).

http://www.dangermouse.net/esoteric/ook.html

> You need expressions, IF, GOTO, variables and assignments, and some means of
> doing I/O.

Depending on your meaning of "language", I would say that I/O does
*not* have to be an intrinsic part of it - it can be implemented far
more cleanly with built-in functions. Python 2 gave good syntactic
support to printing to the console, and messy syntactic support to
printing elsewhere, but Python 3 proved that it's not only
unnecessary, but counter-productive - it's better to push that to
regular functions.

Technically, expressions aren't required. However, a modern imperative
language will normally have expression support because it's so, well,
expressive.

Variable assignment, yes. And you need some form of flow control
(either 'if' or 'while').

> Pretty much every language has (had) those, although it's fashionable now to
> do away with GOTO, and some are getting rid of (rewritable) variables too!
> Others seem intent on doing away with control flow altogether, just having
> expressions. Apparently they think coding should become more elitist with
> only mathematicians allowed to participate.
>
> I have the opposite view.

Or maybe they think that coding should become more accessible to
people with a strong mathematical background. There was a time when
programming was a thing that only programmers did; that time is no
more. A brilliant physicist who sets up synchrotron experiments should
be able to learn enough Python to tinker with his simulation code; a
mathematician who devises cryptographic algorithms should be able to
transfer the algebraic notes directly into code. A language that makes
it easier to translate algebra into executable code is *easier*, not
harder, for those kinds of people. It might be harder *for you*, but
that just proves that, once again, you don't like what you don't
understand, and it scares you, and this feature is mysterious at
least. [1] Also, languages with no mutable state and everything
implemented as expressions lend themselves well to massive
parallelization; the compiler can look at the code and see easily that
these two subexpressions are entirely independent, and evaluate them
in parallel. That's pretty powerful.

Welcome to Blub's Paradox, once again.

ChrisA

[1] https://youtu.be/xCENkwPiuU0?t=1m59s

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Promoting Python "Gordon( Hotmail )" <sionet3344@hotmail.co.uk> - 2016-04-05 06:48 +0100
  Re: Promoting Python Rustom Mody <rustompmody@gmail.com> - 2016-04-05 00:31 -0700
    Re: Promoting Python Joel Goldstick <joel.goldstick@gmail.com> - 2016-04-05 08:06 -0400
      Re: Promoting Python alister <alister.ware@ntlworld.com> - 2016-04-05 18:02 +0000
        Re: Promoting Python BartC <bc@freeuk.com> - 2016-04-05 19:47 +0100
          Re: Promoting Python alister <alister.ware@ntlworld.com> - 2016-04-05 19:38 +0000
    Re: Promoting Python Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-04-05 08:13 -0400
      Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-05 15:31 +0300
  Re: Promoting Python Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-04-06 20:52 +1200
    Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 12:12 +0300
  Re: Promoting Python BartC <bc@freeuk.com> - 2016-04-06 12:06 +0100
    Re: Promoting Python Ned Batchelder <ned@nedbatchelder.com> - 2016-04-06 04:38 -0700
      Re: Promoting Python BartC <bc@freeuk.com> - 2016-04-06 14:21 +0100
    Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 14:46 +0300
      Re: Promoting Python Michael Selik <michael.selik@gmail.com> - 2016-04-06 13:33 +0000
        Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 17:14 +0300
          Re: Promoting Python Chris Angelico <rosuav@gmail.com> - 2016-04-07 00:20 +1000
            Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 21:23 +0300
              Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 21:50 +0300
              Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 22:30 +0300
          Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 22:22 +0300
            Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 22:59 +0300
              Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 23:39 +0300
                Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-07 01:03 +0300
                Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-07 09:30 +0300
                Re: Promoting Python Ian Kelly <ian.g.kelly@gmail.com> - 2016-04-07 00:56 -0600
                Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-07 10:19 +0300
                Re: Promoting Python Steven D'Aprano <steve@pearwood.info> - 2016-04-08 16:09 +1000
          Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 23:05 +0300
      Re: Promoting Python BartC <bc@freeuk.com> - 2016-04-06 14:54 +0100
        Re: Promoting Python Marko Rauhamaa <marko@pacujo.net> - 2016-04-06 17:08 +0300
          Re: Promoting Python Larry Martell <larry.martell@gmail.com> - 2016-04-06 10:36 -0400
        Re: Promoting Python Chris Angelico <rosuav@gmail.com> - 2016-04-07 00:14 +1000
        Re: Promoting Python Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-04-06 15:20 +0100
          Re: Promoting Python Ned Batchelder <ned@nedbatchelder.com> - 2016-04-06 07:34 -0700
            Re: Promoting Python Ned Batchelder <ned@nedbatchelder.com> - 2016-04-06 10:55 -0700
              Re: Promoting Python BartC <bc@freeuk.com> - 2016-04-06 23:24 +0100
          Re: Promoting Python BartC <bc@freeuk.com> - 2016-04-06 18:04 +0100
    Re: Promoting Python Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-04-06 08:04 -0400
    Re: Promoting Python Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-04-06 13:39 +0100
    Re: Promoting Python Steven D'Aprano <steve@pearwood.info> - 2016-04-07 03:40 +1000

csiph-web