Hacker News new | past | comments | ask | show | jobs | submit login

Could u tell me more details the "opposite" things here in details ?



By far the biggest thing for me is package/environment management. All of the tools I've used just suck. Pip, virtualenv, conda. For me, at least, getting started with anything non-trivial in Python involves grinding my teeth and slogging through whatever unpleasantries. Recently I've run into problems where some stuff seems to not work between different minor versions of Python 3. Ruby is generally easier and more portable – that a large subset of Python folks have standardized on a model / management tool like Conda that's not portable is something I can't say anything civil about. I can't think of any other language that's done something so boneheaded.

Beyond that Python is opinionated. In a lot of ways this is an improvement over e.g. Perl. However enjoyment is largely predicated on liking the opinions, if you don't it's not fun. For instance I wanted to write a multi-line lambda recently (mostly to make it easier to read). With Ruby and Rust I can do this pretty easily. With Python? No dice. Sure, there are good reasons to not make a lambda a multi-line ordeal but sometimes I just want to.


The things that attracted me to Python were:

1. “One way of doing everything”

2. Had a “Rails like” framework with Django

3. If I wanted to dip my toes in an AI library it would be a good choice

4. Access to a lot of system level libraries.

These all fell apart for me after getting into it.

1. As the other commenter suggested, there’s not even one clear way to handle package management. It’s a mess. In other languages, I’ve never had a good development experience with Docker because native is usually so much smoother, but with Python native is a bit of a mess with everyone recommending different tooling. This was compounded because I got into it during the last year of Python 2 so library segmentation was a bit of an added problem.

2. I’m hugely opposed to the way Django handles database changes compared to standard Rails migrations. This is personal preference.

3. I never had time to get into it, but figured if I ever did I’d setup something more dedicated for it. Plus Elixir released so much tooling around this space that I’d probably just go that route anyway.

4. I haven’t found anything system level that I need that I can’t get from Ruby or just calling directly from the command line.

Those were the biggest items.

It’s just not for me. I say that knowing full well that there are plenty of people who don’t like Ruby.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: