4 ms·
Python wins the triathlon by being second best in all the disciplines. Matlab is better at linear algebra, R is better at statistics, Mathematica is better at
by isitmadeofglass 4y ago
Python wins the triathlon by being second best in all the disciplines.
Matlab is better at linear algebra, R is better at statistics, Mathematica is better at notebooks, C# is better at desktop applications, C is better at low level, JavaScript is better at web, Perl is better at job security. And so forth and so forth. But if you ever spent time with python in any one of those fields and though “ok, I don’t hate it but still prefer the leading player” and then switch to doing something else and you have the option of using the second best tool, or spend a ton of time learning the best, your bound to just go “I’ll just use python”
> discover the rough edges and debates - a few that have come up lately for me at work - typing or no typing, oop or functional? pytest or unittest? poetry vs pipenv
None of that has anything to do with python, it’s just the typical team bike shedding debate about what tools and features to use. There’s always going to be the typed vs untyped debate. But normally that’s settled when you decide to use node, or when you decide to use rust. Using one unit test framework or another is always potential discussion independent of python, and you’ll always need the team to deal with versioning and dependencies.
If your “rough edges” in python is literally just that your team can’t agree on things, your not going to have it any easier by switching to Rust or Perl, Julia or C#.
- rlawson 4y agoThanks for your comment, very insightful. One quibble - in Python - for a language with preferably one way to do things there are a lot of choices! In Java you are going to get strong typing and you are going to structure your code in an OOP fashion - simply by the nature of the language. Also dependency management is a solved issue - maven for most, gradle for some. Project layout in 99% of projects follows the maven style. Maybe I just don't have the experience in Python and these decisions are obvious to someone with more time in the language. I do however enjoy coding in Python very much.