5 ms·
i have only used python for small (but professional) projects. i really did not enjoy working with the language. it just feels so sloppy and unprincipled. when
by nikofeyn 9y ago
i have only used python for small (but professional) projects. i really did not enjoy working with the language. it just feels so sloppy and unprincipled. when i worked with it, it felt i constantly met strange quirks (the underscore business is a good example), much more than any other language i have learned.
i could probably think hard and remember the examples, as i realize i just said "feels" here, but i think that that's actually important. as i am writing code in f# or racket, i feel at ease. these languages are consistent and relatively simple in their experiences. how you feel when using a tool matters a lot in addition to technical talking points.
python feels like it ignores language design principles on purpose and not for a lot of good reason. but unfortunately, it's used everywhere. it's especially bad in scientific contexts where scientists don't know better and are lured in because of its decent selection of available packages.
- cirgue 9y ago> it's especially bad in scientific contexts where scientists don't know better and are lured in because of its decent selection of available packages. Packages are the motivation for using the language. No other language has both the array of scientific and math-related libraries and a robust non-math-related ecosystem. I know that there would be enormous demand for alternatives but none exist so far.
- nikofeyn 9y agoi agree that python has a surprising amount of useful packages, but unless you are using those unique-to-python packages, then i honestly don't understand why you would choose the language. i have seen it used in two cases where it shouldn't have been used. one had no use of special python packages and to be honest, the ecosystem was a mess. so i disagree with the robust ecosystem part. the other case was transitioning academic work to a product. it's obvious they used python in their academic work but to continue using it for a product with user interface and speed requirements made no sense to me.
- Daishiman 9y agoIt's not in general a good idea to use a slow, interpreted language for a GUI product with performance requirements. However, UI development is complex in any language, and Python's bindings for toolkits are comparatively much better than most other languages in similar domains.
- kiriakasis 9y agoI the scientific context the main contender is matlab/octave; i think the main problem is that matlab is too expensive (and sold in various sizes) and octave has a features problem[citation needed]. Otherwise in term of number crunching matlab is (expecially on the feels side) a lot better than python