3 ms·
I would identify as a .NET developer primarily as that's most of my professional background, but I've used Python a lot and while I also prefer the syntax, the
by rubber_duck 6y ago
I would identify as a .NET developer primarily as that's most of my professional background, but I've used Python a lot and while I also prefer the syntax, the main thing for me is design decisions. Ruby has "10 ways to do the same thing, some identical and aliases some subtly different" and the worst part is nobody tells you "this is the preferred way" so you end up with everyone using their own preferred aliases, syntax approaches, etc. This just decreases maintainability and increases cognitive load.
Stuff like Pythons "one right way to do things" is something I see in other good frameworks, I just identify it with Python in this comparison because it's closes to Ruby. Most of Zen of Python is good SW engineering practices and Ruby gladly goes against those - which, predictably, leads to messy code base I've witnessed.
- tomc1985 6y agoAgain, they are different approaches. Ruby derives heavily from Larry Wall's Perl, where multiple ways to do things was a feature. (Wall is a linguist and Perl reflects this) The way you manage this with a team is enforcing a "house style". This is how we did it when I worked at a Perl shop, it's how we do it at the Ruby shop I work at now, and it's how other teams manage their language's sprawling featuresets. Python is unique in that it is one of the few languages to really hold "only one way to do things" as a pillar. I think it makes writing code more brainless and leaves less room for nuance and artistry, plus it forces you into weird syntax corners that you have no other way of getting out of. The python syntax for so many things is such a mess, I still cannot recall off the top of my head what the correct way is to do different kinds of iterations over a dictionary without looking it up. (And whenever I had to I remember hating it) I've worked professionally in Python and it's not a bad language. (In fact I use it or its derivatives in a lot of personal projects.) It just so happens that I don't understand why people hold it up as this paragon of virtue, when it's literally just another tool, with another tired opinion. > and the worst part is nobody tells you "this is the preferred way" That's on your manager/team lead. In a good shop they'll tell you the preferred way.