In general, I’m really loving working with Ruby on Rails.Â (For the non-technical, that is a programming language and development environment.)Â I’m astonished at how fast I can build things with it.
But I do have one criticism.Â I am frequently finding one certain type of bug that is really annoying to me.Â A bug that would not occur in Java or C++ or another strong-typed language.
IÂ write a valid Rails program.Â It fails with strange errors somewhere in the bowels of the Rails infrastructure.Â I scratch my head in great puzzlement.Â Finally, I realize what happened: I used a variable name that was already used by Rails.Â Something like “url” – something that you would expect that I could use.Â Ruby never warned me that I was overwriting a Rails variable – that’s perfectly valid.Â (Java or C++ would give me a compile error, tell me that the variable already exists.)Â Instead, with Ruby things just break.
I change the name of my variable to something a little less general, something like “story_url”.Â Suddenly, things work perfectly.
Not only does Ruby on Rails give me no warning, but I have yet to see a set of complete documentation of semi-reserved words (words that I should not use in my Rails application, though the Ruby language allows them).