File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Ruby and the fly likes Ruby is good learned concurrent with Java, or better cover most java first Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Ruby
Bookmark "Ruby is good learned concurrent with Java, or better cover most java first" Watch "Ruby is good learned concurrent with Java, or better cover most java first" New topic
Author

Ruby is good learned concurrent with Java, or better cover most java first

Leonidas Savvides
Ranch Hand

Joined: Jan 31, 2010
Posts: 402
Ruby is good learned concurrent with Java, or better cover most java FIRST (like ALL text JAVA HTP7 DEITEL) and after start with Ruby?
Ruby is Learned in how many semesters(InterMediate), suppose background in PHP, js, Java/JSP?
Paolo Perrotta
author
Greenhorn

Joined: Mar 27, 2010
Posts: 27
Actually, if I was starting from scratch, I'd rather learn Ruby first, and Java second. You can become productive with Ruby extremely fast compared with Java. For comparison, when I teach Object-Oriented Programming, sometimes I do a 4-hours crash-course in Ruby, and then use Ruby to introduce OOP concepts. With Java, you can take an entire day just to explain all the things going on in "Hello World".

On the other hand, Ruby is like the English language: you can pick up the basics extremely fast, but it takes time to learn the nuances. I took a few months before I quit writing Ruby programs that just looked like Java programs written in Ruby.

It's up to you whether to learn Ruby alongside Java. For sure, it's a great language to use alongside Java, for all those things where Java is not a perfect match (like batch jobs, automation scripts, stuff that integrates with the system, etc.).

Paolo Perrotta, Europe
Author of Metaprogramming Ruby
http://www.pragprog.com/titles/ppmetr/metaprogramming-ruby
Leonidas Savvides
Ranch Hand

Joined: Jan 31, 2010
Posts: 402
generally, are you strongly recommend, either in Semester or Self-Learn, at a time being learning ONLY one programming lang, and after master it enough(eg intermediate-adv) then move to other programming lang??? Also somebody must learn languages in some order(of languages) like each subsequent lang be relative or in the same family?

Studying Ruby, how many semesters to get in (middle) intermediate level? After that is it good move to C/C#/C++...?
Ct Arrington
Author
Greenhorn

Joined: Jan 17, 2001
Posts: 27
I definitely agree that Ruby is a much better first language - it is just more expressive and has fewer things to learn before you can get into the good parts.

I would stick to learning one language at a time, but that may be a personal limitation ;)

I think it takes a week ( a hour or two at a time) to get the basics - syntax, looping, collections, conditionals, OO techniques, etc. At that point you know if you are going to like the language and can look into tool support, like editors, full IDEs, build tools, and unit test support. If you still like it at that point, then you need to write some slightly larger code - maybe file IO, XML creation, basic classes, and a network echo server. After that, I like projecteuler.net for small (and very geeky) programming puzzles and the Ruby Quiz for medium sized project ideas.

Hope you have a fun ride!
- CT



Blog | Getting Started in Software Development
Paolo Perrotta
author
Greenhorn

Joined: Mar 27, 2010
Posts: 27
I agree with Ct Arrington estimates, and I also agree that it's easier to learn one language at a time. Still, you don't need to master one language before moving on to the next.

Look at "Programming Ruby 1.9" and "Metaprogramming Ruby" together. Getting one third through the first book, you'll be productive. If you finish (most of) both books, you can call yourself a very advanced Ruby coder. But you still need practice to be a "native Ruby coder".

Learning C# after Java is easy. C, and especially C++, tend to have a much steeper learning curve.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

I don't recommend learning two languages concurrently, switching context is damaging (at least to me).
Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
One thing that stands out from this question is the number of languages the OP is trying to tackle. What is driving all this language acquisition?

My recommendation would be to learn a language for a purpose. I know a number, including Java. I chose to learn Ruby to enable me to look at OO programming from a different paradigm, and explore more powerful language features not found in Java.

As for the question of "how long does it take", that depends. Java took me a decent amount of time to learn, mainly because it takes longer to get things accomplished. With Ruby, I achieve more - faster, and therefore learn more about the language (and programming in general) in a shorter amount of time.

The other thing that's going to help you learn a new language is to have a goal for using it - beyond the academic exercise of language assimilation. Still, even if that's your only goal - Ruby is a fantastic choice.
Hussein Baghdadi
clojure forum advocate
Bartender

Joined: Nov 08, 2003
Posts: 3476

Michael Sullivan wrote:
As for the question of "how long does it take", that depends. Java took me a decent amount of time to learn, mainly because it takes longer to get things accomplished. With Ruby, I achieve more - faster, and therefore learn more about the language (and programming in general) in a shorter amount of time.

If Java requires more code to get things done comparing to Ruby (lets say you are writing a file scanner), this doesn't mean Java takes more time to learn.
After all the concept is the same (open a file, scan for something).
Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
Are you sure about that? If it takes me one hour to learn how to open a directory and scan it's contents in Java, vs. 15 minutes to do the same in Ruby - I'd argue that Ruby gives me 45 minutes to "learn" additional things. As Paolo described earlier in this thread, it even takes significantly longer to explain concepts in Java.

To be fair though, it's probably not a "time" issue at all. Java requires a developer to concentrate on low-level tasks (which lead to more lines of code and time spent), whereas Ruby requires considerably less low-level coding - allowing the developer to shift their attention to more important things. This surplus is often a side-effect of low-ceremony languages like Ruby.

 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Ruby is good learned concurrent with Java, or better cover most java first
 
Similar Threads
java text book
How in depth does the new Ruby In Practice book cover JRuby?
Practical Ruby Gems Questions
Why should I choose Ruby?
Ruby? Prospects