Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>tl;dr answer: Give it time and embrace the differences, it will come to you eventually.</p> <blockquote> <p>Are there any other sources/tips/links you would recommend for a Ruby learner with prior Java experience?</p> </blockquote> <p>Yes, forget want you learned so far and start from scratch. I've been teaching Ruby courses on RubyLearning.org since January 2009 and regularly it's the people with only a Java background that have the biggest trouble adjusting to Ruby. Since I don't have much Java experience, I can't really say why that is, but the observation holds in every single new course. </p> <p>It just seems to me that many Java developers assume that the way things are done in Java is the only way/the right way for some reason. But in a lot of regards programming languages are like real languages. Some are very close and concepts (and grammar) translate easily between them. Others are very different, but that doesn't mean they are not able to express the same things. Asking "how do you get away without static members" is like a German speaker asking a Chinese person how they get away without using grammatical cases, it's just the way the language works. Generally it's a bad idea to say "programming language X has this, how do I do that in language Y", but try to find out how things are generally done in Y.</p> <p>After this rant, here are some more practical tips:</p> <p>If you are interested in books, I usually recommend "The Well-Grounded Rubyist", followed by "Eloquent Ruby" and "Ruby Best Practices". I blogged about this not too long ago:</p> <p><a href="http://citizen428.net/blog/2011/04/23/ruby-book-recommendations/" rel="nofollow">http://citizen428.net/blog/2011/04/23/ruby-book-recommendations/</a></p> <p>Another thing I'd recommend is writing a lot of code, be in with the Ruby Koans, programming katas or contributing to an open source project. While doing so try to let Ruby's features influence the design, not your Java program. This may be hard at first, but I've seen people improve a lot in a really short time (our courses are 2 month long) by embracing the differences between the languages instead of forcing one to be like the other. Programming is a way too think about and solve problems, languages are just tools. You've obviously learned the first already, now try to apply it to different languages, following different paradigms. </p> <p>You may have heard that it's good learn one new programming language per year. I don't particularly care about the time interval, but learning a new language is quite likely to make you a better coder in some way, as it often forces you to tackle problems from a new angle, thus increasing your "problem solving vocabulary". </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload