As I was progressing through my coding course, I’ve encountered something that will capture any girl’s attention – unknown substances called “gems”. What are those precious little things?
The name hypnotized me for a little bit as I started imagining the Ruby on Rails application I was working on as a beautiful necklace and even deciding whether I wanted actual rubies in there or I’d prefer other gemstones (sorry, Ruby, sapphires won as they’d match my eyes much better). But after a sip of coffee that brought me back from that little dream, I decided it was time to really understand what gems were.
So what are Ruby gems?
Gems are little packages of code, you can think of them as plug-ins. If you add them to your Ruby on Rails application, it will gain new functionalities – depending on the gems themselves, and will make your life easier.
I’ve decided to use the example of a female handbag to explain it in more details. Imagine one of those handbags that seems to fit everything there is – useful and not so much. However, this isn’t one of those where things seem to disappear, as its owner is well organised and places everything in little bags or folders.
In this example, the handbag itself is an application, while the little holders are gems. I’ve drawn a little image to illustrate some of the contents of this handbag app, as you can see there is a makeup bag gem (which contains the makeup software that you can use), a document folder gem (where you can find documents) and the little green sausage is a pencil case gem (that you can use to write and edit your documents). There are also other gems in there – it’s completely up to you what to install in your handbag and that will determine its functionality.
The beauty of gems is that you don’t need to write the software from scratch and that there are so many of them in third party RubyGem Libraries.
The name “gem”
But where does the name come from? This is just my speculation as I couldn’t find an explanation online, but I think it comes from the fact that the creator of Ruby language, Yukihiro Matsumoto, was really into gemstones at the time.
As he says, he named his baby “Ruby” because it was the idea of one of his friends and also because the gemstone goes after “Pearl” in birthstone calendar (according to a source, Mr. Matsumoto wanted Ruby to be more powerful than the language called Perl).
So I think that Ruby gems got their name from that play on words 🙂
I hope you’ve found this helpful/entertaining! Please let me know if you have any comments/suggestions as it is a learning process for me and I’d love some feedback on how I can improve 🙂