I would say that the other big use of Ruby is for system administration. Puppet and Chef both have significant Ruby components. However, Python is quickly catching up in that area, since Salt and Ansible are almost all Python.
-- Rohit On Thu, Nov 21, 2013 at 9:41 AM, Chris Barker <chris.bar...@noaa.gov> wrote: > On Thu, Nov 21, 2013 at 9:21 AM, David Goldsmith > <d.l.goldsm...@gmail.com>wrote: > >> Thanks, Kevin. Yes, quite an interesting post. One of the things I >> noted was that he states that he still uses Ruby for text processing >> (whereas I thought that this is one of the functional things that Python >> excels in). >> > > Yeah, I thought that was odd, too -- I can imagine someone still using > Perl for text processing if they were used to that -- after all it was > originally designed for just that, but I don't get Ruby. > > Thus my curiosity was piqued-- "what's the deal" (anyone) with Ruby: is >> it an interpreted (as opposed to compiled) language? Un- or weakly-typed? >> > > dynamically types, similar to Python > > > >> Have a "rich" set of built-ins and an even richer set of available >> modules? >> > > pretty good I think, yes. > > >> More or less widely and broadly used than Python? >> > > Less -- I think much less. "Ruby on Rails" was/is the "killer app" for > Ruby -- it provided a really nice way to put together web sites, and got a > lot of folks using Ruby. I suspect that most Ruby use is web development, > primairly with Rails )only with Rails?), but it is certainly used for other > stuf as well -- for instance the "Homebrew" package management/building > system for OS-X is written in Ruby. > > Generally, as objectively as possible, how is it "better" and "worse" >> than Python? Thanks! >> > > In the scheme of all programming languages -- Ruby and Python are a heck > of a lot alike, and I think, are well suited to similar problems (i.e. most > of them :-) ). > > I've never done anything real with Ruby, but I saw a cool talk a couple > years ago demonstrating how it has more powerful, maybe-even lisp-like > macro ability -- a way to dynamically change a bit how the language works > -- pretty powerful stuff, though scary to me. (though I'm not sure they > call it macros -- memory is fuzzy here) > > Ruby has a nice system for managing external packages ("Ruby Gems") -- it > was much better than Python before PyPi and pip and all, not sure if it's > still better. > > As for downsides: > > The syntax looks cluttered to me: " end", and more brackets and odd > symbols. Not as bad as Perl, and this is really a taste issue. > > Not as wide a user community -- particularly for scientific / > computational development I used to find Python stuff for science because > I was looking for python stuff. Now I'm finding more and more libraries and > systems that I discover for some totally other reason, and low and behold, > it's got python bindings, or python scripting capability. > > I do note that it seems to have a Matrix class in the standard library, > and it's nicer than the numpy Matrix class. > > And there is sciRuby: > > http://sciruby.com/ > > Doesn't look nearly as mature as scipy, but there is at least a community > building. > > And a lot of people really seem to like it. > > -Chris > > -- > > Christopher Barker, Ph.D. > Oceanographer > > Emergency Response Division > NOAA/NOS/OR&R (206) 526-6959 voice > 7600 Sand Point Way NE (206) 526-6329 fax > Seattle, WA 98115 (206) 526-6317 main reception > > chris.bar...@noaa.gov >