3 ms·
OP here. I know that these rules of thumb gloss over some of the details, and it's this kind of ruthless criticism that I wanted to invite with posting this :)
by hamburga 6y ago
OP here. I know that these rules of thumb gloss over some of the details, and it's this kind of ruthless criticism that I wanted to invite with posting this :)
I'm coming from the perspective of a tech giant, where there are thousands (tens of thousands) of services, and it's often a huge challenge to trace the flow of data through any given system or API and pin down the cause of production issues.
The static typing with Java gives us a lot more guarantees about the data flowing through systems, compared to Python. If I want to inspect some code or debug a production issue, static typing gives me a lot of guardrails. I can be sure that data coming in is of a particular shape, that null constraints are met, etc. Whereas (from what I can tell) it takes a lot of extra work (and more possibility of missing something) to do the same with Python or Ruby. But I haven't ever built a Python or Node service or whatever.
That's what I meant by legibility and debugging speed.
If you define legibility as "can understand the purpose of the code," I do think that Python can be way more legible since you've got so much less boilerplate.