StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Product

  • Stacks
  • Tools
  • Companies
  • Feed

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service

© 2025 StackShare. All rights reserved.

API StatusChangelog
Ruby
ByRubyRuby

Ruby

#8471in Languages
Discussions58
Followers21.8k
OverviewDiscussions58

What is Ruby?

Ruby is a language of careful balance. Its creator, Yukihiro “Matz” Matsumoto, blended parts of his favorite languages (Perl, Smalltalk, Eiffel, Ada, and Lisp) to form a new language that balanced functional programming with imperative programming.

Ruby is a tool in the Languages category of a tech stack.

Ruby Pros & Cons

Pros of Ruby

  • ✓Programme friendly
  • ✓Quick to develop
  • ✓Great community
  • ✓Productivity
  • ✓Simplicity
  • ✓Open source
  • ✓Meta-programming
  • ✓Powerful
  • ✓Blocks
  • ✓Powerful one-liners

Cons of Ruby

  • ✗Memory hog
  • ✗Really slow if you're not really careful
  • ✗Nested Blocks can make code unreadable
  • ✗Encouraging imperative programming
  • ✗Ambiguous Syntax, such as function parentheses
  • ✗No type safety, so it requires copious testing

Ruby Alternatives & Comparisons

What are some alternatives to Ruby?

Shell

Shell

A shell is a text-based terminal, used for manipulating programs and files. Shell scripts typically manage program execution.

Swift

Swift

Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C.

C lang

C lang

Objective-C

Objective-C

Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime.

PowerShell

PowerShell

A command-line shell and scripting language built on .NET. Helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

CoffeeScript

CoffeeScript

It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.

Ruby Integrations

Rails, Rails, Sinatra, Padrino, OmniAuth and 7 more are some of the popular tools that integrate with Ruby. Here's a list of all 12 tools that integrate with Ruby.

Rails
Rails
Rails
Rails
Sinatra
Sinatra
Padrino
Padrino
OmniAuth
OmniAuth
Volt
Volt
PgHero
PgHero
BlockScore
BlockScore
Flynn
Flynn
Trailblazer
Trailblazer
CarrierWave
CarrierWave
Pow
Pow

Ruby Discussions

Discover why developers choose Ruby. Read real-world technical decisions and stack choices from the StackShare community.

Paul
Paul

Nov 22, 2018

Needs adviceonSqreenSqreenNode.jsNode.jsRubyRuby

I chose Sqreen because it provides an out-of-the-box Security as a Service solution to protect my customer data. I get full visibility over my application security in real-time and I reduce my risk against the most common threats. My customers are happy and I don't need to spend any engineering resources or time on this. We're only alerted when our attention is required and the data that is provided helps engineering teams easily remediate vulnerabilities. The platform grows with us and will allow us to have all the right tools in place when our first security engineer joins the company. Advanced security protections against business logic threats can then be implemented.

Installation was super easy on my Node.js and Ruby apps. But Sqreen also supports Python , Java , PHP and soon Golang .

It integrates well with the tools I'm using every day Slack , PagerDuty and more.

0 views0
Comments
Dima Korolev
Dima Korolev

Principal Maintainer at FriendlyData

Sep 25, 2018

Needs adviceonRubyRubyC++C++

Ruby #NLP C++ #Grammar #BNF

At FriendlyData we had a Ruby-based pipeline for natural language processing. Our technology is centered around grammar-based natural language parsing, as well as various product features, and, as the core stack of the company historically is Ruby, the initial version of the pipeline was implemented in Ruby as well.

As we were entering the exponential growth phase, both technology- and product-wise, we looked into how could we speed up and extend the performance and flexibility of our [meta-]BNF-based parsing engine. Gradually, we built the pieces of the engine in C++.

Ultimately, the natural language parsing stack spans three universes and three software engineering paradigms: the declarative one, the functional one, and the imperative one. The imperative one was and remains implemented in Ruby, the functional one is implemented in a functional language (this part is under the NDA, while everything I am talking about here is part of the public talks we gave throughout 2017 and 2018), and the declarative part, which can loosely be thought of as being BNF-based, is now served by the C++ engine.

The C++ engine for the BNF part removed the immediate blockers, gave us 500x+ performance speedup, and enabled us to launch new product features, most notably query completions, suggestions, and spelling corrections.

0 views0
Comments
Jerome Dalbert
Jerome Dalbert

Principal Backend Software Engineer

Sep 19, 2018

Needs adviceonSublime TextSublime TextVimVimAtomAtom

I liked Sublime Text for its speed, simplicity and keyboard shortcuts which synergize well when working on scripting languages like Ruby and JavaScript. I extended the editor with custom Python scripts that improved keyboard navigability such as autofocusing the sidebar when no files are open, or changing tab closing behavior.

But customization can only get you so far, and there were little things that I still had to use the mouse for, such as scrolling, repositioning lines on the screen, selecting the line number of a failing test stack trace from a separate plugin pane, etc. After 3 years of wearily moving my arm and hand to perform the same repetitive tasks, I decided to switch to Vim for 3 reasons:

  • your fingers literally don’t ever need to leave the keyboard home row (I had to remap the escape key though)
  • it is a reliable tool that has been around for more than 30 years and will still be around for the next 30 years
  • I wanted to "look like a hacker" by doing everything inside my terminal and by becoming a better Unix citizen

The learning curve is very steep and it took me a year to master it, but investing time to be truly comfortable with my #TextEditor was more than worth it. To me, Vim comes close to being the perfect editor and I probably won’t need to switch ever again. It feels good to ignore new editors that come out every few years, like Atom and Visual Studio Code.

0 views0
Comments
Jerome Dalbert
Jerome Dalbert

Principal Backend Software Engineer at Gratify Commerce

Sep 14, 2018

Needs adviceondelayed_jobdelayed_jobRailsRailsAWS Elastic BeanstalkAWS Elastic Beanstalk

delayed_job is a great Rails background job library for new projects, as it only uses what you already have: a relational database. We happily used it during the company’s first two years.

But it started to falter as our web and database transactions significantly grew. Our app interacted with users via SMS texts sent inside background jobs. Because the delayed_job daemon ran every couple seconds, this meant that users often waited several long seconds before getting text replies, which was not acceptable. Moreover, job processing was done inside AWS Elastic Beanstalk web instances, which were already under stress and not meant to handle jobs.

We needed a fast background job system that could process jobs in near real-time and integrate well with AWS. Sidekiq is a fast and popular Ruby background job library, but it does not leverage the Elastic Beanstalk worker architecture, and you have to maintain a Redis instance.

We ended up choosing active-elastic-job, which seamlessly integrates with worker instances and Amazon SQS. SQS is a fast queue and you don’t need to worry about infrastructure or scaling, as AWS handles it for you.

We noticed significant performance gains immediately after making the switch.

#BackgroundProcessing

0 views0
Comments
Kir Shatrov
Kir Shatrov

Engineering Lead at Shopify

Sep 13, 2018

Needs adviceonRubyRubyRailsRails

In 2004, Shopify’s CEO and founder, Tobi Lütke, was building out an e-commerce store for snowboarding products. Unsatisfied with the existing e-commerce products on the market, Tobi decided to build his own SaaS platform using Ruby on Rails.

At that time, Rails wasn't even 1.0 yet, and the only version of the framework was exchanged as a .zip archive by email. Tobi joined Rails creator David Heinemeier Hansson (DHH) and started contributing to Ruby on Rails while building Shopify.

Shopify is now one of the world's largest and oldest Rails apps. It’s never been rewritten and still uses the original codebase, though it has matured considerably over the past decade. All of Tobi’s original commits are still in the version control history.

The bet on Rails greatly shaped how we think at Shopify and empowered us to deliver product as fast as possible. While there are parts of the framework that sometimes make it harder to scale (e.g. ActiveRecord callbacks and code organization), many of us tend to agree with Tobi that Rails is what allowed Shopify to move from a garage startup to a public company.

0 views0
Comments

Try It

Visit Website

Adoption

On StackShare

Companies
5.7k
3AAAAB+5695
Developers
25.2k
YCJPGN+25241