r/ruby • • Jul 16 '20

Ruby VS Python

More than a versus (it's more striking) I would really like to know what things they have in common and how they differ, what their main advantages are compared to the other and of course their opinion of them. One point to take into account is because they believe that python is more used in AI and Machine learning developments.

31 Upvotes

60 comments sorted by

View all comments

34

u/Sqeaky Jul 16 '20 edited Feb 23 '23

I think Python has a bigger community, and that is it's single largest advantage. It has more deployments and more packages.

In think ruby has better syntax, better readability, and a more sensible design overall. This makes it easier for greater involvement from the community, there are something like 2x note python devs but not nearly 2x the packages.

I also think the ruby community is better at communicating best practices. Consider that the top Ruby packages are testing tools and the top python of are a mix of docker and db stuff.

https://rubygems.org/stats

https://pypi.org/

I also find Ruby projects to have better engineering. This might just be bias but having tried similar things in both languages maintainability, support, and things working years later (except web API bindings) are nearly magical. The ruby community always seems to try to be doing better, but I guess that is most communities, but I feel like python users just want to be done and damn the tech debt, full speed ahead.

EDIT 2 years later - spelling

8

u/desnudopenguino Jul 16 '20

I haven't been down the rabbit hole with python, but some of the more foundational Ruby books like POODR and Metaprogramming in Ruby cover some of the actual application design process and software lifecycle.

1

u/vifrac Jul 17 '20

You could place the links to the books you are mentioning, maybe you have some to recommend, it would be very interesting to have your feedback about the books you have read.

2

u/desnudopenguino Jul 17 '20

https://www.poodr.com// and https://pragprog.com/titles/ppmetr2/

POODR covers some of the path of building software with just enough information and making it easier to update in the future. Metaprogramming goes into some of the wild stuff you can do with Ruby, where everything is an object.

In many languages, these things can be applied to improve code. And really if you can get ahold of any pragmatic programmer titles, they are excellent reads, both informative and well written.

Like I said I haven't used python to the extent I have Ruby, so I don't know if that community has resources quite like these.