Of course, I'm biased...
Of course, I'm biased...
I have no Ruby or Python experience, but my friend claims Java is easier to learn... At least from his perspective.
Basically, I tried to convince him to learn Python before compromising on Ruby. If you could make a convincing case for him to learn Python instead of either Ruby or Java, I'd be much obliged.
Note: I suggested he learn Python or Ruby because I think he's going to end up in the startup scene, where those are the de rigueur languages (alongside the HTML5 family of markup/programming languages).
If he wants to be a good programmer, he should be able to pick up languages rather quickly after he learns his first one. So switching language is not an issue. Keep in mind though, learning the first one will take some time.
1. Best tool for the job. This is heavily weighted towards what I already know if my familiar tools are good enough but not otherwise my first choice.
2. This could be a subset of #1, but library availability could be a deciding factor.
3. Availability of documentation. A lot of comfort comes from finding those gold mines of great documentation. I would argue that Ruby (and community projects built in Ruby) has been the weakest among the top web programming languages for documentation, but this is just a "shoot from the hip" feeling.
Perhaps your real battle is finding better learning materials than that of what your friend has found? Also, even if a language is difficult to learn, with good documentation and daily practice, then level of difficulty shouldn't be an issue. The bottom line is that your friend will have to put in X number of hours to get experience no matter what path he chooses. For example, given a year of sustained effort, your friend might have been further with Ruby than he would have been with Java, but not by much. He would have a good amount of knowledge either way.
Javascript might be another interesting option. If you are doing web development, then you have to learn it eventually. You can do front end and back end. However, Node for the back end probably isn't the best way to go for beginners because of point #3.
Another consideration might be the path to landing a job. I started out with freelancing and PHP has been good because the market for it is huge. However, much of that market is CMS related (Wordpress, Drupal, etc) rather than building apps from scratch.