Two Laptop Bag*
The moose likes Features new in Java 7 and the fly likes Essentials for a Well-Grounded Java Developer? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Features new in Java 7
Bookmark "Essentials for a Well-Grounded Java Developer?" Watch "Essentials for a Well-Grounded Java Developer?" New topic
Author

Essentials for a Well-Grounded Java Developer?

Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

Hi,

What are the essentials that the book covered to be a well-grounded Java developer? Your book talks about Groovy, Scala and Clojure. Are these languages important to be a well-grounded Java developer?


Palak Mathur | My Blog | TechJaunt | What is JavaRanch? | List of All FAQs
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

We strongly believe that polyglot programming is important to the Well-Grounded Java Developer. It's no longer about Java the language, but Java the platform (that is, the JVM). Languages such as Groovy, Scala and Clojure are *far* superior to Java in solving *certain* types of problems, some of which are very relevant for you as a developer going forwards (multi-core, concurrency, rapid web development etc).

Learning another language simply makes you a better Java programmer as well, it clarifies a lot of thinking about how to use the language constructs and libraries in they way they were intended.


Cheers, Martijn - Blog,
Twitter, PCGen, Ikasan, My The Well-Grounded Java Developer book!,
My start-up.
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38045
    
  22
How beneficial would learning such a language be to beginners?
Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

Hi Martin,

Thank you for your reply. Actually, I have started learning Python and both Scala and Clojure seem interesting to me and I want to learn both. I know that learning a language requires years of practice but to at least reach the intermediate level in both how much time will be required given to understand that I have over 6 years of development experience in Java. Also, which one should I prefer to go first?
Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3068
    
  33

To learn a language its usually good approach to build some BreakableToys. Scala requires a bit of effort to start with and I think it should be same with Clojure. I would suggest you to pick one language at a time and try to learn.

And to learn these languages your experience with Java would be of help to some extent, but not to a great. These languages are Functional Object Oriented languages where in the new which you have to learn is the concept of "Functional Programming". And if you are familiar with the Functional Concepts in Scala then it would help you to get started quickly with Lambda Expressions to be introduced in Java 8 (hoping it doesnt get pushed out of Java 8).


Mohamed Sanaulla | My Blog
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Campbell Ritchie wrote:How beneficial would learning such a language be to beginners?

Very beneficial, especially if they want to understand some basic functional idioms (simple lambdas/closures/whatever you want to call them). I think it's important to see that in another language such as Groovy so you can see where/why Java isn't always appropriate.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

Palak Mathur wrote:Hi Martin,

Thank you for your reply. Actually, I have started learning Python and both Scala and Clojure seem interesting to me and I want to learn both. I know that learning a language requires years of practice but to at least reach the intermediate level in both how much time will be required given to understand that I have over 6 years of development experience in Java. Also, which one should I prefer to go first?


In my experience it's a surprisingly short time for Groovy (weeks?), a longer time for Scala (months?) if you are looking at its advanced capabilities (e.g. You are building application frameworks) and certainly a good while for something like Clojure (6 months+).
Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

So, which language will be good to start with? I have following languages on my to learn list span over few years:

Scala, Groovy, Clojure, Haskell, Go and Ceylon.

Currently I am trying to get used to writing code in Python.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

If you're new to functional, then start with Groovy, otherwise pick whatever scratches your itch!
Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

Martijn Verburg wrote:If you're new to functional, then start with Groovy, otherwise pick whatever scratches your itch!


Yes, I am new to Functional. I will follow your advice and pick up Groovy.

Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

One question that I wanted to ask but don't know whether it is the right place and time to ask or not. However, I cannot resist myself. What is the job trend in these other JVM based languages like Groovy, Clojure, Scala, etc? I work in Service sector where mostly Java is used amongst JVM based langauges.
Martijn Verburg
author
Bartender

Joined: Jun 24, 2003
Posts: 3274
    
    5

In London at least there's a healthy market for Groovy (Grails), Scala and Clojure - can't speak for other markets as well.
Palak Mathur
Ranch Hand

Joined: Jan 29, 2007
Posts: 313

Martijn Verburg wrote:In London at least there's a healthy market for Groovy (Grails), Scala and Clojure - can't speak for other markets as well.


I just hope that the Indian Service sector also gets as healthy as London's!!
Thank you for answering the questions!!
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Essentials for a Well-Grounded Java Developer?
 
Similar Threads
Need Help on Upgrade to Java SE 7 Programmer (1Z0-805)
GC in ruby
From Java 5 to Java 7
What is the target of the book?
Java 7 Release Date and Features