Hacker News new | ask | show | jobs
by oglop 908 days ago
To Ruby’s credit, they foresaw what others bolted on years if not decades after.

Remember Python didn’t start with being fully object oriented, everything is not exactly an object, they bolted on the useful functional stuff later (like every language has now after a weird period of people crapping on FP for some reason) and to top it off bundler, and Ruby version manager again were just largely copied over to Python as pip and venv. I like both languages, and I say this after getting schooled a few times about great things I thought Python did that I was a few times rather embarrassingly shown to have just been Ruby ideas picked up by others.

I’ll give you the language looks a bit funny and I’m not saying it’s better or anything, I work in Ruby and am all too aware of the warts. Just trying to share what I’ve learned that they did well because it’s a good and thoughtful community.

3 comments

> Remember Python didn’t start with being fully object oriented, everything is not exactly an object, they bolted on the useful functional stuff later (like every language has now after a weird period of people crapping on FP for some reason)

None of that is actually true, to the extent that it makes any sense (which it doesn't really). Python had a complete object system and first class functions pretty much from the first preview, and anonymous functions (lambda), map, filter, and reduce were added before 1.0 was cut. Which predates the first public preview of Ruby.

> to top it off bundler, and Ruby version manager again were just largely copied over to Python as pip and venv.

And that is complete nonsense, virtualenvs have nothing to do with rvm, and pip is in no way a copy of bundler (not that it's in any way exceptional, it's a package manager).

> I say this after getting schooled a few times about great things I thought Python did that I was a few times rather embarrassingly shown to have just been Ruby ideas picked up by others.

So after getting told you were spouting nonsense one way you went on to spout nonsense the other way?

I believe you that pip has no relation to bundler and venvs have no relation to rvm or rbenv because bundler and rbenv are so much more intuitive and useful.

Poetry gets very close through, but it took decades to get there and afaik it is still not viewed as an "official" part of the toolset.

rvm has almost nothing to do with venv, conceptually.
RVM gemsets are used for the same reasons one would use venvs, no?
> and to top it off bundler, and Ruby version manager again were just largely copied over to Python as pip and venv.

Python’s venv is so much better than whatever Ruby has.

Venv tries to do too much and manages to not be great at anything, which is a direct contributing factor to Python being worst in class by a wide margin when it comes to packaging and dev environments.
I have the exact opposite experience, bundler + rbenv are so much nicer to use than pip and venv. rbenv automatically loads the correct ruby version when I enter a project directory and bundler is just so much more capable and intuitive than pip.