Ruby Tuesday is an ongoing series of blog posts in which I share my experiences of learning a completely new and unfamiliar language, Ruby on Rails, for my final University Honours Project. View all Ruby Tuesday posts here.
Jumping into a completely new language can be extremely be daunting; it’s always a frightening feeling to jump into an unknown territory, a place that’s out of someone’s comfort zone. This is exactly what I’m going through and in this series of blog posts (posted either weekly or biweekly on Tuesdays) you can follow my experiences of learning a new language, Ruby, and how I cope with it.
Every Computing Science Student at the University of Aberdeen goes through the CS4526 course, or more commonly known as the Honours Project*. In this course (one of the final two courses of our degree, the other being Professional Topics in Computing) we undertake a project under the supervision of a teaching staff in the department. In my case: Bruce Scharlau. The Honours Project I’m working on is an Audience Mapping Tool, cloud based of course! Working closely with a client, The Polka Dot Factory based in Edinburgh, the requirements were set and brainstorming began.
I soon met my first major hurdle; deciding what language I should use. Ruby, Java, Django, PHP? There’s an endless choice of languages and frameworks to build web apps these days, but I decided to narrow my choices down to Java and Ruby for the main Business Logic. Java seemed extremely enticing; 3+ years of learning the language and I feel quite comfortable tackling Java problems. Using Spring Roo and the Spring Framework allows for lightweight development with fast results while being able to use 100% Java knowledge. On the Ruby side we have Ruby on Rails and the hundreds of gems that are available. I spent last weekend playing around with both languages, weighing the pro’s and con’s of each. After todays meeting with Bruce, I’ve decided on my final technologies.
- Twitter API
- Ruby on Rails
- Google Maps
- Heroku & Git
After having installed Ruby, a bunch of gems and looked through a lot of documentation, it’s time for my first Ruby app! As per usual, let’s write a Hello World app. I’m currently using Smultron as my editor for Ruby files.
[Image no longer available]
That’s it! That’s a simple Hello World app written in Ruby. To run it, I’ll need to type the following into Terminal.
[Image no longer available]
That’s my first attempt at coding Ruby, and after having read through many of the tutorials available online I can safely say that I will definitely enjoy learning this new language. My main reason for choosing Ruby over Java was because of the vast array of great tutorials, gems, frameworks, quick deployment and the generally great community on the web.
Bellow are some links to the tutorials and books I’m currently working through and my aim for next week is to set up the basic components of my application; i.e. understand how I’ll link Twitter data into SimpleGeo and join that together with Google Maps in order to display it in a web app written in Ruby on Rails. Ambitious, but I’m excited – do wish me luck!
- Teaching Ruby links and help pages ~ Bruce Scharlau
- Getting Started with Rails ~ Various Authors
- Learn to Program ~ Chris Pine
- Ruby on Rails Tutorial – Learn Rails by Example ~ Michael Hartl
*N.B. Some students may take a Joint Honours Computing Project instead, coded CS4525. The main difference being that they are undergoing a Joint Degree Program, or sometimes known as a Double Degree!