“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
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.
Conal’s point is that no, in fact there are almost zero programmers that fully understand even the simplest Python code since it is a dynamically typed language.
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.
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.
Conal’s point is that no, in fact there are almost zero programmers that fully understand even the simplest Python code since it is a dynamically typed language.
Here’s where I heard it.
https://podcasts.apple.com/us/podcast/type-theory-forall/id1546295833?i=1000654070339
Condescending tone was not intended, but on rereading I can see how I’ve come across that way. Sorry about that.
Love this so much, so much better than reddit
It’s fine. I’m sure I contributed somewhat o the misreading of the tone too. Namaste, my friend.
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?
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.
I didn’t read condescension in that comment. It’s possible that none was intended.