4 ms·
I don't think you're understanding their use case, they aren't building some Flask service, they're an ML drug discovery company supporting research scientists
by codekansas 4y ago
I don't think you're understanding their use case, they aren't building some Flask service, they're an ML drug discovery company supporting research scientists and as such they're more or less building a framework. There's a lot of code reuse and most large orgs building similar frameworks have adopted similar code quality standards - think PyTorch, Fairseq, Pytorch Lightning, Huggingface - which is why tools like MyPy / PyLint / Black exist. For people who have used those libraries there is a night-and-day difference between the anything-goes ones and the ones that do linting and unit testing.
- ReflectedImage 4y agoIn my personal experience codebases using MyPy tend to be considerably worse than codebases that don't. By using a static type checker on a dynamically typed language, you have admitted you don't know what are you doing right of the bat. This means the software engineers in the project are very bad and therefore the code quality overall will also be bad. Tools like MyPy exist to make Python appear to be more like Java to help Java developers, who aren't willing to learn how to code in a different programming paradigm. That code will always be far worse than Python code written using the Python development paradigms.
- kortex 4y agoWhat are some examples of popular python libraries that use this ideal python development paradigm?
- ReflectedImage 4y agoMost of the Python libraries that are not locked to specific versions of Python, which is often the case with a lot of the badly written ML libraries.
- throwaway343244 4y ago
- LtWorf 4y ago> This means the software engineers in the project are very bad and therefore the code quality overall will also be bad. Conversely, I do think you're very bad and don't have much experience with large python codebases. For example the suggestion to split and use microservices makes no sense. Microservices are even harder to refactor.
- eloff 4y agoActually now I'm thinking you might be trolling.