It's important not to generalize about Ruby as if it could solve all your problems. It is a general-purpose language, but, like all other languages, it will be suitable in some contexts and not in others. The purpose of this post by Kate Cunningham, which I translated, is to show that Ruby's characteristics are very much in harmony with the characteristics needed in an effective learning environment. This doesn't mean that students should stop at Ruby. Ruby will make the path into programming easier for them, but it is only a first step. They should learn other languages too, since that's the only way to grow as a professional in such a dynamic field. You can find the original here. And now, the translation:
The Ruby language has received a lot of attention over the past decade, especially since the advent of Ruby on Rails in 2005. While the blogosphere has been using Ruby for a long time, let’s ask how, exactly, Ruby is suited to an educational environment.
Copyright (C) 2008 Ruby Association LLC
Of course, we could talk about Ruby’s relevance: if you’re being trained in an educational environment to become a computer programmer and you don’t know Ruby, you’re increasingly out of the loop. However, programming languages come and go, and education isn’t about trends; it’s about the ideas that remain valuable over the years.
Let’s look at Ruby’s philosophy and see how well it lends itself to learning. For one thing, Ruby is flexible. It doesn’t have the rigidity of Java or PHP. In an environment that maximizes learning, flexibility is essential. And Ruby is as flexible as possible. Yukihiro Matsumoto, the creator of Ruby, noted what he was thinking when he began working with programming languages: “It’s funny, when I used PHP to develop or did things in Java, I was always looking for something more.”
Another great thing about Ruby is how it encourages creativity. As many Ruby programmers have noticed, Ruby is more aligned with human thought. That makes it very easy to use. And precisely because it’s easier to use, it’s more versatile when it comes to being creative.
The slide presentation about the Ruby language explains how Ruby helps creativity. It says that people lose productivity when they’re forced to do “repetitive tasks, unnecessarily complex tasks, and solving problems that are outside the application domain.” Since Ruby effectively eliminates repetitive and machine-oriented tasks, there’s more room for creativity. For students especially, creative output is key to effective learning.
One aspect of the learning process that is absolutely critical to educational effectiveness is enjoyment. We don’t usually think about fun when we think about education. But think back to your own school years. If you think about it, you’ll realize that the subjects you learned most from and retained best were the ones you enjoyed. That enjoyment, of course, is partly the result of creativity. When you’re being productive, you’re having fun.
Unlike other programming languages, you can do a lot with Ruby even in the early stages of learning. For students, the learning process is frustrating, and it’s made a little harder when small errors get in the way of understanding the bigger concepts. Programming languages like C++ can make it harder to learn those bigger concepts because small errors in the code keep cropping up. With Ruby, students don’t face those little obstacles when they’re just starting to learn.
Naturally, these are only basic indications that Ruby is the best learning tool for people interested in computer programming, especially beginners. However, just as in education as a whole, basic conceptual changes in the learning process lead students toward better learning practices. Ruby offers the possibility of learning that is easy, fun, and creative, simply because the language was designed to work pragmatically that way. Ultimately, Ruby was made for students—young and old, beginners and more advanced learners.
By Kate Cunningham
