• terse

    From avi.e.gross@gmail.com@21:1/5 to avi.e.gross@gmail.com on Fri Feb 24 12:28:09 2023
    Greg,

    I do not advocate for writing extremely concise python as mentioned in that book although I was quite interested and do use some of the methods.

    But I worry about what you focused in on. Everyone says a picture is worth a thousand words. So when writing about python one-liners, you might shorten
    some programs even more with a nice illustration!

    But if that is an obstacle, perhaps the edition below is less illustrative.

    https://www.amazon.com/gp/product/B07ZY7XMX8

    Just a reminder. My point was not about a book or set of techniques. It was that lots of Python features can be used quite effectively to reduce the
    need for more lines of cluttered code or places you may be tempted to use semicolons. Having said that, guess what some one-liner techniques use?

    In my view, terseness is not a goal in and of itself. However, it has often been said that the number of bugs in code often seems correlated with the number of lines and code written using higher levels of coordination and abstraction in a language that supports that, can often be written with
    fewer lines and apparently even with fewer bugs.

    There is also a well-known set of phenomena about us humans in that many of
    us are wired to handle fairly small amounts in memory at a time, such as perhaps 7. People who can do substantially better are often using an assortment of tricks like clumping. I mean most people can remember a
    10-digit phone number for a while because they may chunk it into
    xxx-yyy-abcd or something like that where xxx is just remembered as one unit
    as a complete area code while abcd is remembered as 4 individual digits.

    So languages that allow and encourage not so much terseness as variations
    like chunking, meaning using lots of smaller well-named functions, objects
    that encapsulate what your program logic is, and yes, terse but easy to understand ways of doing things like loops and functional programming
    methods, and that are extended by modules or packages with a well-defined interface, can let you focus on the program at higher levels that do fit in your memory and can be reasoned more easily and accurately.

    So some one-liners are great. Others not so much. Can you imagine a list comprehension with a dozen or so nested loops on one long line, including regions grouped in parentheses and lots of "if" clauses? It may be one line that wraps on your screen into many or has to be scrolled sideways. Yes, you can rewrite it split across many lines. But at some point, it may be better
    to refactor it using a functional style or writing the loops out explicitly.

    In my experience, some one-liners are accompanied by paragraphs of comments explaining them. And often they use tricks that are less efficient.

    Avi


    -----Original Message-----
    From: Python-list <python-list-bounces+avi.e.gross=gmail.com@python.org> On Behalf Of Greg Ewing via Python-list
    Sent: Friday, February 24, 2023 1:31 AM
    To: python-list@python.org
    Subject: Re: semi colonic

    On 24/02/23 9:26 am, avi.e.gross@gmail.com wrote:
    Python One-Liners: Write Concise, Eloquent Python Like a Professional Illustrated Edition by Christian Mayer (Author)

    I didn't know there were any Professional Illustrated Editions writing
    Pythom. You learn something every day! :-)

    --
    Greg
    --
    https://mail.python.org/mailman/listinfo/python-list

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)