Photo by rbieber
I’ve been focusing on Ruby a lot over the past 3 days (Rails specifically). What a great environment to work in!
This was taken about a month ago. I’ve been doing quite a bit of reading and experimenting with Rails and I have to say, I love it. While I’m still at the stage of figuring out “how” to do things, once you do it you get why its done that way. That can’t be said for many environments.
Tim Bray talks about the recent hiring of the JRuby development team by Sun Microsystems. I think this is awesome. I’m so impressed with the Ruby language and would love to see it operate in a container and leverage all of the great Java components out there. Cote also talks about this over at People Over Process.
Over the last couple of weeks I decided to re-familiarize myself with the Ruby programming language. I was first introduced to it back in 2002-2003 at OOPSLA (or was it the Software Development Conference?) when I took a full day workshop with the Pragmatic Programmers, Dave Thomas and Andy Hunt.
Back then I loved the language, but decided not to focus on it since the support in the form of libraries just weren’t there like they were for Python at the time. I wrote a few programs in Ruby, but left it to the side and focused on Python.
Well, those days are over. When I started with Ruby, I decided to take a look at Ruby on Rails as well. Over the last couple of weeks all of my spare time has been focused on learning the Ruby language and this completely awesome framework, even at the expense of regular podcasts.
First off, I’m absolutely enamoured by the language. So much so that with Rails piled onto it I couldn’t imagine programming in any other language. For quite a while I’ve hated Java and the complexity that it brings to projects. There’s just too much work involved in doing Java development anymore.
Ruby combines complete object orientation with the flexibility of a scripting language. Some of the features it has baked into it, such as iterators and blocks make life so much easier.
Now pile Rails on top of it. Rails is an elegant MVC framework written in the Ruby Language by the folks over at 37 signals. These two things combined make for the perfect programming environment for web applications.
I’m still on the steep end of the learning curve. I’ve got the Programming Ruby : The Pragmatic Programmers’ Guide and Agile Web Development with Rails : A Pragmatic Guide (The Facets of Ruby Series) constantly at my side as I pull my hair out trying to learn all of this stuff.
But the cool thing is, even with my unfamiliarity with the language I’m still productive. If that isn’t the sign of a great development environment, I don’t know what is.
I’m working diligently to become proficient in the language. Rails is a little complex and I’m still struggling to learn all of the conventions. However, I think most of my programming moving forward will be with these tools. Its just a lot easier to spend time thinking about the problems you are trying to solve and being able to express them eloquently rather than struggling with the complexity and code/compile/run process baked into Java development.
These are two things I definitely need carve out some time to look at, and are hereby assigned to my ‘Notes to Myself’ category.
A friend shot me this System Login Demo written using AJAX. This is also worth taking a few minutes to look at.
I’ve read the first half of the two part tutorial and have to say this looks pretty cool. I attended a one day workshop on the Ruby programming language a couple of years ago led by Dave Thomas and Andy Hunt (of Pragmatic Programmer fame) and while I really liked the language, I felt that at the time it was a little too immature to use as compared to a PERL or Python.
I have to say though, after reading the first half of this tutorial, I’m seriously considering looking at Ruby again. You really can get a load of work done in a short time with the language and frameworks like this will really help give a developer that feeling of “immediate gratification” that we all love to feel. I also noticed that Ruby now has a package manager as well called RubyGems. I’ll have to grab that as well.
Here are some quick links to the two parts of the tutorial:
When it comes to general programming, I would pick a good scripting language over something like C or Java any day. I’m a huge Python fan, but only because I didn’t see Ruby as something that was mature enough at the time I looked at it to really warrant my attention, no matter how quickly I could get things done. That seems to be changing. I’ll have to keep a better watch over the Ruby community this year. The language seems have some people building a few really good tools around it.