on the python paradox

Sabrina Almodóvar salmodovar at ligumu.com
Sun Dec 11 13:22:11 EST 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.


More information about the Python-list mailing list