3 ms·
I'm not claiming that one can't be successful by using Python (or pretty much any programming language). Market success or user count are unfortunately not tigh
by blub 9y ago
I'm not claiming that one can't be successful by using Python (or pretty much any programming language). Market success or user count are unfortunately not tightly correlated with technical excellence, as many of us have bitterly found out.
Development speed, maintainability, error count are also important development issues. Unfortunately we don't have much data to judge, but the little that we have such as this article indicate that dynamic typing has a non-negligible negative impact on the above.
""having to push the performance of your product is a nice problem to have and you will probably have the money to spend solving it by either optimising your python or rewriting parts of your application, as all these large companies have done.""
Not considering the topic at all is negligent. I don't understand why you're so sure that the only possible outcomes are either not reaching scale or having the money to optimise or rewrite.
First of all, not even Facebook had the money to rewrite their PHP code base, so that's probably out of the question.
And it's very well possible that one will reach scale and not have the money (or worse the time) to optimise, if optimising means inventing type checkers.
At least one should spend some time thinking about this topic and picking a language that is flexible and can scale at least somewhat. Having to stop writing production code in order to invent a Ruby static type checker or native compiler is decidedly not a good problem to have.
- outsideoflife 9y ago> Market success or user count are unfortunately not tightly correlated with technical excellence, as many of us have bitterly found out It depends on how you define technical excellence. I would suggest a low memory usage might get you a thumbs up from HN, but isn't real technical excellence the ability to solve users problems?
- krotton 9y agoNope. Publishing an offer on Craigslist to help with homework via Skype is solving some users' problems, yet has nothing to do with "technical excellence".
- bonesss 9y ago> ...we don't have much data to judge, but the little that we have such as this article indicate that dynamic typing has a non-negligible negative impact on the above. In my own experience I see it on a spectrum: there are design decisions you can avoid by using dynamic typing that give you speed in the small that start to show their absence in the large. Savings on inputs (quicker coding), tend to evaporate as complexity grows because you're using so much time analysing outputs (the system), to determine behaviour. Every bit of up-front work saved gets amortised across issue after issue, and runtime testing during development, and increasing stagnation in high-level architecture. For me the ideal is the type system of Haskell with the linguistic power of Haskell and the type inference of Haskell... only on a mainstream platform I can convince management to use.