7 ms·
Going to somewhat hijack this to ask a question. Are there any popular non-Rails uses for Ruby? I'd like to learn Ruby but it seems that Python and Ruby occupy
by BoysenberryPi 5y ago
Going to somewhat hijack this to ask a question. Are there any popular non-Rails uses for Ruby? I'd like to learn Ruby but it seems that Python and Ruby occupy the same space and use cases so you really only need to know one of them.
- nikodunk 5y agoJekyll and Sinatra are two reasonably popular other web frameworks. But agree with the other sibling comments otherwise.
- Mikeb85 5y agoPuppet, chef, sys-admin-y type things. Jekyll, Sinatra. Mruby (embeddable Ruby). Homebrew and YAST (Suse Linux) are written in Ruby. Stripe uses Ruby but not Rails. Basically anything you'd use Perl for, + a bunch more uses, and of course Rails and web stuff.
- nunez 5y agoi believe homebrew is transitioning to golang. all of the tools you’ve mentioned above that are seeing less usage, unfortunately :(
- poisonta 5y agoStripe (and Shopify) too? Check how many top YC companies use Ruby.
- berkes 5y agoThe question was how many use Ruby, but not Rails.
- Mikeb85 5y agoHomebrew's repo is still almost all Ruby with no signs of Go anywhere. A bit of Swift... And fair enough, tools come and go. Ruby is still the best write-once language I've used though, and Rails is still a top web framework.
- mekster 5y agoYou forgot Discourse and GitLab.
- berkes 5y agoThose are Rails, though. As is mastodon.
- brightball 5y agoI use Ruby without rails all the time. It’s extremely convenient for shell scripting (basically anywhere I might have used Perl in the past). The Sequel gem (rather than ActiveRecord) and the Parallel gem play really well together. Anytime I need to do some scripting against a database it’s very convenient.
- ilyash 5y ago> It’s extremely convenient for shell scripting (basically anywhere I might have used Perl in the past). Exactly the uses cases that I want to "steal" from Python, Ruby, Perl, etc. Not because Next Generation Shell is "better" but because it's focused on the use cases - https://github.com/ngs-lang/ngs/wiki/Use-Cases https://github.com/ngs-lang/ngs/wiki/Use-Cases ... while still being a "real" programming language.
- lmm 5y agoNot really. I think a few sysadmin-type tools are written in Ruby, but Python has more mindshare, and like you say they're pretty similar.
- smt88 5y ago> Are there any popular non-Rails uses for Ruby? No. I'm going to get downvoted for this, but Ruby isn't popular itself (with or without Rails). It's barely more popular than Fortran, according to TIOBE[1]. It cracks the top 10 according to Redmonk, but has been generally declining since 2012[2]. Somewhat shockingly, it's even less widely used than Rust according to Stack Overflow[3]. They also found Ruby has a 53% loved vs. 47% dreaded score, compared to Python's 68% and 32%. It's especially surprising that Stack Overflow's respondents like Ruby less than JavaScript and SQL, the two most frustrating languages I have ever been forced to work with myself. > Python and Ruby occupy the same space and use cases This is absolutely untrue. I personally loathe Python, but it is perhaps the most useful language you can learn right now, and it barely overlaps with Ruby. It's huge in statistics/data science and machine learning. It's not the most common web backend, but it still has a fairly large ecosystem for the web. It's rapidly rising in popularity, too. 1. https://www.tiobe.com/tiobe-index/ https://www.tiobe.com/tiobe-index/ 2. https://redmonk.com/kfitzpatrick/2021/03/02/redmonk-top-20-languages-over-time-january-2021/ https://redmonk.com/kfitzpatrick/2021/03/02/redmonk-top-20-l... 3. https://insights.stackoverflow.com/survey/2021#most-popular-technologies-language https://insights.stackoverflow.com/survey/2021#most-popular-...
- Mikeb85 5y agoTiobe and Stack Overflow rankings don't mean much. Look how popular Tiobe ranks VB due to Excel macros, or SO ranks Bash and PowerShell very highly simply because people ask a lot of questions about it.
- Hamuko 5y ago>or SO ranks Bash and PowerShell very highly simply because people ask a lot of questions about it. Isn't the Stack Overflow one done by a survey, not just by analyzing the questions?
- Mikeb85 5y agoYou're right, although doesn't really change my premise. I use Bash everyday, even though I have never tried learning it, don't really care about it, etc... I really don't think Bash and Powershell are more popular for actual development than C++ and Go respectively. People just use them because they're there... Making the rankings a lot less meaningful.
- cardy31 5y agoHomebrew is written in Ruby IIRC, but that is really just an example, not something that makes it popular.
- tokumei 5y agoIt is also terribly slow, unfortunately; in contrast with other package managers.
- gurkendoktor 5y agoIt's a great example though, I really like how readable Homebrew formulae are. Run "brew edit go" or "brew edit pkg-config" to take a look at how things are downloaded and built.
- FreezerburnV 5y agoDragon Ruby is a relatively recent game making toolkit with one of the main devs being also one of the main SDL devs. It's a full programming language so you can use it for whatever you want, it just is most popularly used for RoR.
- tomc1985 5y agoMetasploit framework is written in Ruby. Also, Jekyll, Sinatra, and Puppet or Chef? I think? You might also want to ask the Japanese community as I have heard it is big there.
- kemitchell 5y agoThere are definitely uses cases for Ruby without Rails. It's a great command-line scripting language, for example, filling the slot of an evolved Perl. There are also lighter-weight approaches to web scripting, such as Sinatra and bare Rack HTTP servers. I have no idea how prevalent that is. I did it for several small but well used apps. Ruby and Python share a lot of commonalities as languages. But their constituencies vary substantially, and that matters. Academic, probably Python. Working "interactive" agency, probably Ruby. Process automation, probably Ruby again. Author's implementation of new algo paper, probably Python. I wouldn't think either-or. If it's worth familiarizing with one, it's probably one more weekend to be walk-on-ready for both.
- berkes 5y agoAs a Ruby developer, I really fail to see any benefit or Ruby over Python (or even Node) for commandline scripting. Other than "I already know Ruby". In fact, I'll often go for the -for me- more unfamiliar Python for such tools. Knowing it will cost me more effort, but also knowing that the libraries, documentation, education and off-the-shelve solutions are far, far better and move available.
- heartbreak 5y agoIf nothing else, Python’s miserable package management ecosystem makes me reach for Ruby instead. I’ll take Bundler over requirements.txt, pipenv, poetry, etc. any day.
- montblanc 5y agoWhat have you built lately in Python/Node that "the libraries, documentation, education and off-the-shelve solutions are far, far better and move available." ? I'm not saying those use cases don't exist at all, but I don't think it's as common as you're making it up to be. As a Ruby dev the last 8 years I didn't have many times when some key functionality was only available in Python/Node. I can see it happening in web crawling or data science but those aren't common to every day web development.
- 5y ago
- nunez 5y agoI have a bunch of APIs running in AWS that are written in pure Ruby. My Slack status automation is written in pure Ruby. Most of the things I integrate with have SDKs for Ruby. As long as Shopify keeps using it, Ruby will have a place in the world!
- jb3689 5y agoScripting? Ruby is an excellent scripting language. I find Python is an adequate scripting language by comparison
- BilalBudhani 5y agoRuby is also popularly used to write command line tools, for instance, Homebrew.
- firstbabylonian 5y agoA lot of iOS build automation tooling is dependent on Ruby. fastlane is the de-facto standard in this space, which is a Ruby gem and CLI application. As a result, every iOS developer almost inevitably has to learn at least some basic Ruby to cobble together a deployment pipeline for their app.
- dsrees 5y agoCocoapods as well. Though I feel like it's getting less and less use with SPM on the rise
- pmontra 5y agoI use Ruby for Rails and for scripting. I script in Ruby anything I used to write in Perl up to about 2010 and I feel too complex to write in Bash. JavaScript is a no go in that space because of async, Python (which I make more money from than from Ruby) is just (subjectively) uglier and less convenient. Maybe this is because I was more in love with Perl than with C in the 90s.
- mekster 5y agoI like ruby but the recent static typing feels a step backwards having have to write a separate file, unlike typescript where you can incrementally add typing to the actual source code. https://developer.squareup.com/blog/the-state-of-ruby-3-typing/ https://developer.squareup.com/blog/the-state-of-ruby-3-typi... And when I saw ruby isn't included in the list of supported language for the next gen JetBrains editor, perhaps due to low sales of RubyMine, I felt its best days may be over. https://www.jetbrains.com/fleet/ https://www.jetbrains.com/fleet/ (Scroll down to the list of programming language icons)
- ksec 5y agoResponse from Jetbrain; "Ruby/Rails will be supported in Fleet. No timeframe, though."
- berkes 5y ago> Are there any popular non-Rails uses for Ruby? Hardly. And that bothers me as a Ruby (not rails) developer. There was Chef, still is around, but Chef "lost" from Ansible and Terraform. There are some commandline tools, but I slowly see them replaced by Go, Rust, node or Python versions. `github`, `heroku` etc. And there are numerous small or tiny platforms, systems and toolkits that failed to get traction and live a (happy!) live with a tiny audience. Think about sinatra, sequent, gosu, (the ruby version of) cucumber, kiba-etl, etc. But I'm pretty sure most of these tools, frameworks and platforms are there because or Rails. To cater people, shops and teams "that already know Ruby inside out" (because of Rails) and therefore choose their, say, ETL system in Ruby too.