4 ms·
I would not. I've used PHP, Python, Go, JS/TS, and Ruby in production with small to medium teams. Teams that I managed on occasion and recruited, to a certain e
by nickserv 2y ago
I would not. I've used PHP, Python, Go, JS/TS, and Ruby in production with small to medium teams. Teams that I managed on occasion and recruited, to a certain extent.
RoR is great at first but in my experience quickly becomes full of hard to diagnose bugs, its magic metaprogramming seems too tempting for developers to use and leads to all sorts of problems.
There is a lack of good quality, well maintenained 3rd party libraries. No such problem with Python, Node, even PHP to a certain extent.
It's slow, except compared to Python. Ruby 3 is much better but still behind.
If you need to ship decent code fast, I would reach for Django.
If you're doing AI stuff, any Python framework will be best.
If you need to hire a sizeable team quickly, I would reach for Node or PHP.
If you need high performance and high reliability I would use Go.
- robertlagrant 2y ago> If you need to hire a sizeable team quickly, I would reach for Node or PHP. I always wonder about this. Surely the technology you pick influences the size of the team.
- gregors 2y agoshopify, airbnb, github, hulu ....managed to make it work
- robertlagrant 2y agoThat's not what I'm saying.
- nickserv 2y agoThere is definitely some link to the technology and developer productivity, and therefore team size. It's true that statically typed, compiled languages tend to take more time to ship a similar feature, than loosely typed dynamic languages. But beyond small projects, team size is more dependent on the number of features to ship. That is to say, as code complexity increases, the choice of language on team size matters less.
- jdauriemma 2y ago> RoR is great at first but in my experience quickly becomes full of hard to diagnose bugs, its magic metaprogramming seems too tempting for developers to use and leads to all sorts of problems. I think this is true. With Rails you want to be very deliberate about who you hire (there are lots of "Advanced Beginners" out there) and how you vet and manage abstractions outside of the MVC architecture. But if you can stick to those tenets, you'll be rewarded with a very productive engineering org.
- hedgehog0 2y ago> If you're doing AI stuff, any Python framework will be best. I understand that AI stuff now is mainly Python. But is it possible to connect Rails with some Python program/service, is this one of the purpose of microservices?
- phaedryx 2y agoI work for a company that uses Rails. We don't have any Python code, but we use a lot of AI.
- hedgehog0 2y agoThank you for your reply. In your other comment, you mention that you know Ruby relatively well. Would you recommend learning Ruby along side with Rails (i.e., learning Ruby in/with Rails), if I have some experience with other languages, such as Java, Python, C/C++, Lisp, and so on? Also are there any Ruby AI libraries that you would recommend? Thanks!
- nickserv 2y agoYes, of course. One of the Ruby shops I worked for did exactly this. But why add the extra complexity? Ruby and Python are similar enough in terms of productivity and processing time that there's no reason to do this IMHO.
- turtletime 2y agoAgreed that the metaprogramming can lead to some head-scratchers. However, in my experience with Rails/Ruby, that generally seems frowned up on most teams. Readability is a core tenant in Ruby, but every once in a while someone likes to show how clever they are. No more a problem in Ruby than other languages IMO. I disagree that there is a lack of good quality, well maintained libraries. Depending on the domain, I think most people would agree that Ruby and Rails has a pretty thriving 3rd party ecosystem. A big part of that is because of how mature both Ruby and Rails are.