4 ms·
I am more of a Python guy but being a language enthusiast I like to learn and experiment with other languages. Ruby the language is something that I found to be
by prog 16y ago
I am more of a Python guy but being a language enthusiast I like to learn and experiment with other languages. Ruby the language is something that I found to be beautifully designed and I really like a lot of its concepts (especially pure OO and blocks which come from Smalltalk). While I know Ruby by writing small scripts and reading the pickaxe book, I have really been wanting to use Ruby in a medium scale project. These sort of articles scare me. Some of the reasons why I haven't gone into Ruby fully are:
* Most of the information is web/rails centric. I generally write unix server apps/tools which have nothing to do with the Web.
* The standard library packages have weird names so its difficult to find. E.g. With DRb it wasn't immediate to me what it does.
* The stdlib documentation is a little lacking. I read the pickaxe book but the stdlib documentation doesn't compare with what I am used to with Python.
* Based on the posts I have read it seems to me that there are multiple libraries that do the same job. So it becomes difficult for a noob like me to know which lib I should invest my time in.
* Articles like these are scary for a Ruby noob like me. For example, I was excited about DRb when I first read about it. Now, in the first of these 'stdlib is ghetto' articles, apparently DRb is not very nice. Thats just confusing to me.
I think Ruby is a really neat language but the Ruby community needs to stop confusing people who want to try it out.
- jamesbritt 16y agoWhile your concerns have merit, the overall picture is not nearly so bleak. Yes, the stdlib docs need some love. I've tried assorted approaches to rousing interest, and now consider it a dead end. A handful of people have done a terrific job in improving what was a once worse situation, and everyone who uses Ruby should be grateful to them, but there's much more to be done. Still, you can get often excellent help on ruby-talk or #ruby-lang on freenode. I feel your pain about available info being Rails-centric; I don't know what the answer there is. Careful Googling perhaps. " -Rails" is your friend. I like having multiple libraries for things. I ask around, get some advice, maybe try some out, and life is good. Really, it's not a big deal. And Drb is really sweet, and fun to play with. "I think Ruby is a really neat language but the Ruby community needs to stop confusing people who want to try it out." Actually, it's various individuals expressing their own opinions. Take it all with a grain of salt. BTW, if you decide to dig fully into Ruby and have questions, feel free to drop me an E-mail. My addy is in my HN profile.
- dagw 16y agoI like having multiple libraries for things...Really, it's not a big deal. Right up until the point you try to deploy your program over a large number of platforms. Sure if all you're doing is hosting a webapp on a server you control (which seems to be the main use case for Ruby), then it's not a problem. Once you start trying to deploy on platforms you don't control a complete standard lib becomes really handy. That is one reason I really like python. I can say something like "install any version of python 2 after 2.6.2" and that's all they need to worry about. There is very little you cannot do using only the standard lib. No hunting for and installing third party libs with all the troubles that can cause. Obviously I'm not arguing against third party libraries. I use and love many in python. But the fact that they are optional in most cases is really handy.
- FooBarWidget 16y agoWhy can't you just bundle the libraries with your app? I'm not sure I agree with your argument. All but the simplest Python/Java/C++/.NET apps also require third party libraries.
- FooBarWidget 16y agoAs one of the authors of Phusion Passenger, I've found Ruby to be an excellent tool for writing Unix server apps/tools. Maybe not high performance servers (the Phusion Passenger core is in C++) but it's perfect for servers in the low to mid performance range that you want to write quickly. Ruby is very, very, very good for writing things like sysadmin tools and installers. The Phusion Passenger and Ruby Enterprise Edition installers are written in Ruby and it was a much more enjoyable experience than writing such things in bash. As for multiple libraries, each language has multiple libraries with the same purpose, Python is no exception. If you want to know which one is best for your purpose you can just ask on StackOverflow these days. DRb works. It's not broken. There are just two issues: * Documentation can be better. It seems people haven't worked on its documentation for a while now. * Few people actually need DRb. "ghetto" here doesn't imply that the stdlib is a horrible broken mess, it implies that some things are better split outside the core Ruby distribution.