(Hello, Ruby! Please take care of me.)

Ruby

Forgive me if this entry is going to sound like something that would come out from a shoujo manga story, but in a way, it is. You’ll see why as you read along.

Today is the first day of my Ruby on Rails Blueprint class at Skillcrush. I know I may sound like a whiny kid when I hear this, but I really do feel that the instructors at Skillcrush do all they can to simplify things and make the concepts understand a lot better than how complicated any computer language should be. I’ve just completed Day 01 lessons, 1 which doesn’t include any hands-on stuff just yet. The instructors aim for beginners to learn more about the Ruby basics first before we start diving on Ruby on Rails and other Ruby- based application frameworks like Sinatra.

The otaku in me says that Japan is the coolest country with (some of) the coolest pop culture trends the world has ever known and loved: anime, manga, J-Pop, J-dramas, video games, consoles like Nintendo and PlayStation, delicious authentic cuisine, and loads more. The artist in me says that Japan is the coolest country that creates the coolest writing instruments and art supplies any artist would dream of. Pilot pens, 2 Pentel pens, 3 Uni-ball pens, 4 and Zebra pens, 5 as well as the Sakura pens, the super-awesome Copic markers, the Tombow tools, Kuretake brushes and brush pens, and the list goes on and on. Even the existence of the Mom and Pop Daiso store makes me happy altogether. Now, the web designer/developer in me says Japan is cool for just one thing that made software developers and programmers fall in love.

Yup. Ruby was made with love in Japan.

Back in 1994 6, a Japanese computer programmer named Yukihiro Matsumoto (known to the programming world as “Matz”) created the Ruby language for one purpose: to make developers and programmers happy. Around that time, many Japanese were so interested in creating games, 7 but Matz himself was more interested in how computers work and how humans can interact with computers through programming. It was originally to “train” computers to “follow his words like he would train a dog” 8 and to eliminate all the complicated characters and character limits per line that many other programming languages use. Ruby caught on during those early days among Japanese programmers, and that it became a signature programming language in Japan, with its complete documentation in Japanese. As many of us know about Japan, they’re very known to make a lot of existing things become a lot more simple and convenient, like with cars and video games and some household items like the Swiffer. Matz was influenced by other languages such as Perl, Lisp, Smalltalk, Ada, and Eiffel, 9 and it wasn’t until his university days that he finally had a chance to do some actual programming, and from there, began his time to clean up many of the concepts in programming languages in general. Those were the very early days of Ruby.

It wasn’t until 2000 that the first English language of the Ruby documentation was published in a book called Programming Ruby. The Western World caught on Ruby and excitement grew. New programmers and veteran programmers collaborated through mailing lists and small meetup groups to learn and appreciate this new programming language.

Here are a few samples. First, let’s write “Hello World” in Javascript.

// Write "Hello World!" in Javascript

document.write("Hello World!")

And then, “Hello World” in PHP:

// Write "Hello World!" in PHP

<?php echo 'Hello World!'; ?>

Finally, “Hello World” in Ruby:

// Write "Hello World" in Ruby

puts "Hello World!"

In comparison with the other two languages, Ruby doesn’t have all those characters such as the semicolon or brackets or parenthesis and such. Matz wanted to create a programming language that is straightforward and easy to remember. That’s what Ruby stands out from the rest. In addition to that, Matz created Ruby, simply because he wanted to have his own programming language, which in turn, he created it because of his love and desire for computer programming.

Ruby was created for the purpose of love, happiness, purity, beauty, and… wait, that sounds like something Sailor Moon would say. In a way, Ruby became the magical girl of computer programming among programmers around the world like Sailor Moon, Cardcaptor Sakura, and all those ultra-kawaii and powerful magical girls we’ve known in anime. 10

And yet…?

Yes… and yet… Ruby, unlike Javascript and PHP like above, isn’t really a web programming language. Ruby is just another programming language that you can create software and apps with, but never a web programming language, which is why it hasn’t really gained ground throughout the internet. Some established Ruby programmers want an easier way to create something that would work with the web, and during the early 2000s, Perl/CGI, Javascript, and PHP were the main players of creating dynamic websites and web apps.

Meanwhile somewhere in America in 2005, there was a small company called 37signals. 11 The head of 37signals who goes by the name of Jason Fried was looking for an experienced programmer who can help them build the backend for their upcoming task management service called Basecamp. Initially, he found a programmer living somewhere in Europe who goes by the name of David Heinemeier Hansson (a.k.a. “DHH”), a Danish programmer who is also a LeMans auto racer at the same time, to assist him in coding the backend of the project using PHP. DHH is one of the very few Ruby enthusiasts who found Ruby a whole lot easier to program (because it was meant to “give love and happiness” to developers and programmers) and decided to use Ruby to build a faster, more robust, and clean web framework that would make Basecamp work. From then, DHH created Ruby’s future soulmate, Ruby on Rails (a.k.a. Rails or RoR). DHH began using this new web framework for Basecamp. It worked perfectly, and both Basecamp and Rails were born. 12

Ruby and Rails met, fell in love, and joined together as Ruby on Rails. Together as a beautiful, loving, and happy couple, they set out to the interwebs to create beautiful, loving, and happy children together. These children are known as Twitter, Shopify, 500px, GitHub, and the list continues on and on. RoR isn’t going to stop there, as long as the happy and overjoyed programmers take a chance at them and use their special superpowers to create more children together. Yes, their love story is still ongoing, and I’m joining in the story too.

And so, I am taking a chance on this lovely couple to learn programming and create beautiful, loving, and happy children to add to their list of children. My first idea was to build a blog service completely made from RoR like WordPress.com. Then after going through the first two lessons, a few ideas came to my mind:

  • A link directory that also serves as an aggregator (like a mix of Nerd Listings and Listen Up! in one app)
  • A script for anyone to download (well, this would be a tough one) and use the platform for anyone interested in building those free graphics and tutorials sites
  • I’m curious about those scanlation sites like MangaKoi and see what language they were built from. Javascript? PHP?
  • A forum/message board script. Yup.

I wanted to go ahead with the lessons, but I have to stay up a bit late so I can start shopping for Prime Day for my parents. 13 And then, I’ll be working tomorrow, extra shift, so I can have more money to check out a few things in the future. I’m excited!

On the sidenote…

  1. Skillcrush divides their lessons by days, which is something I like.
  2. Founded in 1918 by Ryosuke Namiki in Tokyo.
  3. Founded in 1946 in Tokyo.
  4. Founded in 1887 by Niroku Masaki in Tokyo. Sanford is the American distributor for the Uni-ball pens, but Uni-ball itself was invented in Japan
  5. Founded in 1914 in Tokyo.
  6. I was still in high school then!
  7. Thanks for that, Nintendo!
  8. The Changelog #202: 23 Years of Ruby with Matz (Yukihiro Matsumoto), May 6, 2016
  9. I’ve only heard of Perl and Lisp. I don’t know the others…
  10. Ah, Japan… I love you because of your culture… your language… your anime/manga… your video games… your art pens… Ruby… 😅
  11. As of 2014, 37signals converted themselves to a new company name, Basecamp, based on their flagship project.
  12. DHH eventually moved from his home country of Denmark to Chicago, where he became the CTO of 37signals. He still works for Basecamp till today, but also occasionally attends conferences and give out talks to some Ruby/Rails related events, as well as becoming a bestselling author on Rails and any other topic related to remote jobs.
  13. Because they want to take advantage of my employee discount…