• on the python paradox

    From =?UTF-8?Q?Sabrina_Almod=c3=b3var?=@21:1/5 to All on Mon Dec 5 22:37:39 2022
    XPost: comp.misc

    The Python Paradox
    Paul Graham
    August 2004

    In a recent talk [1] I said something that upset a lot of people: that
    you could get smarter programmers to work on a Python project than you
    could to work on a Java project.

    I didn't mean by this that Java programmers are dumb. I meant that
    Python programmers are smart. It's a lot of work to learn a new
    programming language. And people don't learn Python because it will
    get them a job; they learn it because they genuinely like to program
    and aren't satisfied with the languages they already know.

    Which makes them exactly the kind of programmers companies should want
    to hire. Hence what, for lack of a better name, I'll call the Python
    paradox: if a company chooses to write its software in a comparatively
    esoteric language, they'll be able to hire better programmers, because
    they'll attract only those who cared enough to learn it. And for
    programmers the paradox is even more pronounced: the language to
    learn, if you want to get a good job, is a language that people don't
    learn merely to get a job.

    Only a few companies have been smart enough to realize this so
    far. But there is a kind of selection going on here too: they're
    exactly the companies programmers would most like to work for. Google,
    for example. When they advertise Java programming jobs, they also want
    Python experience.

    A friend of mine who knows nearly all the widely used languages uses
    Python for most of his projects. He says the main reason is that he
    likes the way source code looks. That may seem a frivolous reason to
    choose one language over another. But it is not so frivolous as it
    sounds: when you program, you spend more time reading code than
    writing it. You push blobs of source code around the way a sculptor
    does blobs of clay. So a language that makes source code ugly is
    maddening to an exacting programmer, as clay full of lumps would be to
    a sculptor.

    At the mention of ugly source code, people will of course think of
    Perl. But the superficial ugliness of Perl is not the sort I
    mean. Real ugliness is not harsh-looking syntax, but having to build
    programs out of the wrong concepts. Perl may look like a cartoon
    character swearing, but there are cases where it surpasses Python
    conceptually.

    So far, anyway. Both languages are of course moving targets. But they
    share, along with Ruby (and Icon, and Joy, and J, and Lisp, and
    Smalltalk) the fact that they're created by, and used by, people who
    really care about programming. And those tend to be the ones who do it
    well.

    (*) Footnotes

    [1] Audio of the talk, also attached to this post http://origin.conversationsnetwork.org/Paul%20Graham%20-%20Great%20Hackers.mp3

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From David Lowry-Duda@21:1/5 to All on Wed Dec 7 10:58:09 2022
    On Mon, Dec 05, 2022 at 10:37:39PM -0300, Sabrina Almodóvar wrote:
    The Python Paradox
    Paul Graham
    August 2004

    [SNIP]

    Hence what, for lack of a better name, I'll call the Python paradox:
    if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll
    attract only those who cared enough to learn it. And for programmers
    the paradox is even more pronounced: the language to learn, if you
    want to get a good job, is a language that people don't learn merely
    to get a job.

    [SNIP]

    I wonder what the appropriately esoteric language is today?

    We can sort of think of go/rust as esoteric versions of C/C++. But what
    would be the esoteric python?

    Perhaps Julia? I don't know of any large software projects happening in
    julia world that aren't essentially scientific computing libraries (but
    this is because *I* work mostly with scientific computing libraries and sometimes live under a rock).

    - DLD

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stefan Ram@21:1/5 to David Lowry-Duda on Wed Dec 7 16:49:47 2022
    David Lowry-Duda <david@lowryduda.com> writes:
    I wonder what the appropriately esoteric language is today?

    How many Python programmers grog metaclasses or asyncio?
    So, I'd say: The two streams have converged. Python is the
    esoteric mainstream language.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Weatherby,Gerard@21:1/5 to David Lowry-Duda on Wed Dec 7 17:55:20 2022
    I use asyncio in a couple of places. Haven’t quite grokked it yet, though.

    From: Python-list <python-list-bounces+gweatherby=uchc.edu@python.org> on behalf of Stefan Ram <ram@zedat.fu-berlin.de>
    Date: Wednesday, December 7, 2022 at 12:28 PM
    To: python-list@python.org <python-list@python.org>
    Subject: Re: on the python paradox
    *** Attention: This is an external email. Use caution responding, opening attachments or clicking on links. ***

    David Lowry-Duda <david@lowryduda.com> writes:
    I wonder what the appropriately esoteric language is today?

    How many Python programmers grog metaclasses or asyncio?
    So, I'd say: The two streams have converged. Python is the
    esoteric mainstream language.


    -- https://urldefense.com/v3/__https://mail.python.org/mailman/listinfo/python-list__;!!Cn_UX_p3!mvBtuPjNnWaXWGLt8aXlimysNpjtW4fP_ls5-vLPv8qWMyafvYcP6sgo0jcV7ngjmV1E3F0zJ5ipXlbjkBF8_l8$<https://urldefense.com/v3/__https:/mail.python.org/mailman/listinfo/
    python-list__;!!Cn_UX_p3!mvBtuPjNnWaXWGLt8aXlimysNpjtW4fP_ls5-vLPv8qWMyafvYcP6sgo0jcV7ngjmV1E3F0zJ5ipXlbjkBF8_l8$>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Martin Di Paola@21:1/5 to David Lowry-Duda on Sun Dec 11 10:57:36 2022
    On Mon, Dec 05, 2022 at 10:37:39PM -0300, Sabrina Almodóvar wrote:
    The Python Paradox
    Paul Graham
    August 2004

    [SNIP]

    Hence what, for lack of a better name, I'll call the Python paradox:
    if a company chooses to write its software in a comparatively
    esoteric language, they'll be able to hire better programmers,
    because they'll attract only those who cared enough to learn it. And
    for programmers the paradox is even more pronounced: the language to
    learn, if you want to get a good job, is a language that people
    don't learn merely to get a job.

    [SNIP]

    I don't think that an esoteric language leads to better programmers.

    I know really good people that work mostly in assembly which by today
    standard would be considered "esoteric".

    They are really good at their field but they write shitty code in higher languages as python.

    That same goes for the other direction: I saw Ruby programmers writing C
    code and trust me, it didn't result in good quality code.

    I would be more inclined to think that a good programmer is not the one
    that knows an esoteric language but the one that can jump from one
    programming paradigm to another.

    And when I say "jump" I mean that he/she can understand the problem to
    solve, find the best tech stack to solve it and do it in an efficient
    manner using that tech stack correctly.

    It is in the "using that tech stack correctly" where some programmers
    that "think" they know languages A, B and C get it wrong.

    Just writing code that "compiles" and "it does not immediately crash" is
    not enough to say that "you are using the tech stack correctly".


    On Wed, Dec 07, 2022 at 10:58:09AM -0500, David Lowry-Duda wrote:
    On Mon, Dec 05, 2022 at 10:37:39PM -0300, Sabrina Almodóvar wrote:
    The Python Paradox
    Paul Graham
    August 2004

    [SNIP]

    Hence what, for lack of a better name, I'll call the Python paradox:
    if a company chooses to write its software in a comparatively
    esoteric language, they'll be able to hire better programmers,
    because they'll attract only those who cared enough to learn it. And
    for programmers the paradox is even more pronounced: the language to
    learn, if you want to get a good job, is a language that people
    don't learn merely to get a job.

    [SNIP]

    I wonder what the appropriately esoteric language is today?

    We can sort of think of go/rust as esoteric versions of C/C++. But
    what would be the esoteric python?

    Perhaps Julia? I don't know of any large software projects happening
    in julia world that aren't essentially scientific computing libraries
    (but this is because *I* work mostly with scientific computing
    libraries and sometimes live under a rock).

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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Sabrina_Almod=c3=b3var?=@21:1/5 to Martin Di Paola on Sun Dec 11 15:22:11 2022
    On 11/12/2022 10:57, Martin Di Paola wrote:
    On Mon, Dec 05, 2022 at 10:37:39PM -0300, Sabrina Almodóvar wrote:
                            The Python Paradox
                               Paul Graham
                               August 2004

    [SNIP]

    Hence what, for lack of a better name, I'll call the Python paradox:
    if a company chooses to write its software in a comparatively
    esoteric language, they'll be able to hire better programmers,
    because they'll attract only those who cared enough to learn it. And
    for programmers the paradox is even more pronounced: the language to
    learn, if you want to get a good job, is a language that people don't
    learn merely to get a job.

    [SNIP]

    I don't think that an esoteric language leads to better programmers.

    When you say this, I interpret it as a theorem, A implies B, but surely
    nobody would be so foolish to claim such thing, so perhaps you can
    review your reading or writing.

    I know really good people that work mostly in assembly which by today standard would be considered "esoteric".

    So, I wouldn't consider assembly esoteric, but I certainly would not try
    to define esoteric.

    They are really good at their field but they write shitty code in higher languages as python.

    I bet. If all they know is assembly, then they master very few
    linguistic abstractions.

    That same goes for the other direction: I saw Ruby programmers writing C
    code and trust me, it didn't result in good quality code.

    A Ruby person who doesn't know C must also know very little about
    machines and operating systems, so that is bound to failure in C.

    I would be more inclined to think that a good programmer is not the one
    that knows an esoteric language but the one that can jump from one programming paradigm to another.

    That makes a lot of sense. Such person knows so many ways of
    expression, which most likely implies mastery of linguistic abstractions
    and expression.

    And when I say "jump" I mean that he/she can understand the problem to
    solve, find the best tech stack to solve it and do it in an efficient
    manner using that tech stack correctly.

    Got ya.

    It is in the "using that tech stack correctly" where some programmers
    that "think" they know languages A, B and C get it wrong.

    I agree with that too.

    Just writing code that "compiles" and "it does not immediately crash" is
    not enough to say that "you are using the tech stack correctly".

    So true.

    Good thoughts.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Abdur-Rahmaan Janhangeer@21:1/5 to All on Mon Dec 12 00:43:05 2022
    I choose Python and still stick with it as default as I choose
    Python because of its design beauty. Typing does not mean
    mandatory braces. There can be an indentation-based language
    that is strongly typed.

    Python is beautiful in itself. Beautiful to look at. Source code should
    be easy for the average human to relate to and connect with easily.
    Being more alien-ware-like does not magically increase performance.
    Our taste and quality bar should be high after so much time has passed.

    I don't see a language as beautiful as it is front-end wise.

    "And people don't learn Python because it will
    get them a job; they learn it because they genuinely like to program
    and aren't satisfied with the languages they already know."

    Kind Regards,

    Abdur-Rahmaan Janhangeer
    about <https://compileralchemy.github.io/> | blog <https://www.pythonkitchen.com>
    github <https://github.com/Abdur-RahmaanJ>
    Mauritius

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sylvia Else@21:1/5 to All on Sun Feb 12 08:57:13 2023
    XPost: comp.misc

    On 06-Dec-22 12:37 pm, Sabrina Almodóvar wrote:
    The Python Paradox
    Paul Graham
    August 2004

    In a recent talk [1] I said something that upset a lot of people: that
    you could get smarter programmers to work on a Python project than you
    could to work on a Java project.

    I didn't mean by this that Java programmers are dumb. I meant that
    Python programmers are smart. It's a lot of work to learn a new
    programming language. And people don't learn Python because it will
    get them a job; they learn it because they genuinely like to program
    and aren't satisfied with the languages they already know.


    Then we're doomed, because Python is appallingly slow. Not even Moore's
    law can save us.

    And God help us if someone devises another popular language that is
    interpreted by a program written in Python. I expect people are working
    on something at this very moment.

    Sylvia.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Sylvia Else@21:1/5 to Stefan Ram on Sun Feb 12 09:46:42 2023
    XPost: comp.misc

    On 12-Feb-23 9:19 am, Stefan Ram wrote:
    Sylvia Else <sylvia@email.invalid> writes:
    Then we're doomed, because Python is appallingly slow. Not even Moore's
    law can save us.

    Well, then what language do you use for what kind of projects?

    BTW: Maybe you are new to this newsgroup? So let me inform
    you that if you post to comp.lang.python, sometimes, a computer
    set up by a mailing-list person will make a copy of your post and
    automatically post it to his Python mailing list, which possibly
    also might be published in the Web - all without your consent.



    I can promise you that I am totally unconcerned about that.

    Python is reasonably useful for building a framework for running other programs, though I still wish it were strongly typed, rather than using
    the wishy-washy duck typing. But for any serious computing, forget it,
    and I've seen it used for neural-networking projects, for Pete's sake.

    Sylvia.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Stefan Ram@21:1/5 to Sylvia Else on Sat Feb 11 22:19:05 2023
    XPost: comp.misc

    Sylvia Else <sylvia@email.invalid> writes:
    Then we're doomed, because Python is appallingly slow. Not even Moore's
    law can save us.

    Well, then what language do you use for what kind of projects?

    BTW: Maybe you are new to this newsgroup? So let me inform
    you that if you post to comp.lang.python, sometimes, a computer
    set up by a mailing-list person will make a copy of your post and
    automatically post it to his Python mailing list, which possibly
    also might be published in the Web - all without your consent.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Computer Nerd Kev@21:1/5 to Stefan Ram on Sun Feb 12 08:35:17 2023
    XPost: comp.misc

    In comp.misc Stefan Ram <ram@zedat.fu-berlin.de> wrote:
    Sylvia Else <sylvia@email.invalid> writes:
    Then we're doomed, because Python is appallingly slow. Not even Moore's
    law can save us.

    Well, then what language do you use for what kind of projects?

    Cue flame war.

    BTW: Maybe you are new to this newsgroup? So let me inform
    you that if you post to comp.lang.python, sometimes, a computer
    set up by a mailing-list person will make a copy of your post and
    automatically post it to his Python mailing list, which possibly
    also might be published in the Web - all without your consent.

    We all show up on narkive.com (and probably elsewhere) anyway, even
    you with your X-No-Archive header.

    --
    __ __
    #_ < |\| |< _#

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Shepelev@21:1/5 to All on Mon Feb 13 13:53:32 2023
    XPost: comp.misc

    Stefan Ram:

    Well, then what language do you use for what kind of
    projects?

    Python, IMHO, is overestimated. Its popularity is mostly due
    to the enormous amount of very good libraries, written in C
    for speed. Nothing efficient can be written in bare Python.

    --
    () ascii ribbon campaign -- against html e-mail
    /\ www.asciiribbon.org -- against proprietary attachments

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Anton Shepelev@21:1/5 to All on Mon Feb 13 13:48:33 2023
    XPost: comp.misc

    Stefan Ram:

    Well, then what language do you use for what kind of
    projects?

    Julia is faster and expressively more powerful than Python.

    --
    () ascii ribbon campaign -- against html e-mail
    /\ www.asciiribbon.org -- against proprietary attachments

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