• demesisx@infosec.pub
    link
    fedilink
    English
    arrow-up
    39
    arrow-down
    7
    ·
    edit-2
    2 days ago

    “If you use Python, you should probably just admit to yourself that you don’t actually care about understanding what your program is doing.” Conal Elliot

    • palordrolap@fedia.io
      link
      fedilink
      arrow-up
      20
      arrow-down
      4
      ·
      2 days ago

      I’m not going to disagree with this on the grounds that you could replace Python with any language and still be right for a handful of programmers using it.

      Relatedly, there are plenty of people who write code in Python who know exactly what they’re doing (thus defeating the quote), to the point that an amateur reading that code has literally no idea what’s going on. Abstractions upon abstractions. Horrors upon horrors. Likewise this can be done in any language. Try taking apart one of the standard Perl modules (that’s written in Perl anyway), for example.

      What does concern me is that the only source I can find for this quote is your comment. I can find Conal Elliot and even a suggestion that they have written code in Python (making the quote a self-burn, perhaps), but not the quote itself.

        • palordrolap@fedia.io
          link
          fedilink
          arrow-up
          17
          ·
          2 days ago

          Condescending tone was not intended, but on rereading I can see how I’ve come across that way. Sorry about that.

        • mox@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          2
          ·
          edit-2
          18 hours ago

          Conal’s point is that no, in fact there are almost zero programmers that fully understand even the simplest Python code

          Can you summarize the reasoning there, for those of us who are mildly curious what you’re talking about but don’t have time to spend on a podcast?

          By “fully understand”, does he mean knowing exactly how data are being laid out in memory, or when it is reclaimed? Knowing exactly what CPU instructions are being executed, registers used, and stack frames created behind the abstractions? Something else?

          since it is a dynamically typed language.

          What does Python’s type system have to do with it? Python doesn’t quietly convert objects of one type to another behind your back, like some other languages do.

          What concerns me is your condescending tone.

          I didn’t read condescension in that comment. It’s possible that none was intended.