• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Essentials for a Well-Grounded Java Developer?

 
Palak Mathur
Ranch Hand
Posts: 321
IntelliJ IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
 
Martijn Verburg
author
Bartender
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Campbell Ritchie
Sheriff
Pie
Posts: 47229
52
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How beneficial would learning such a language be to beginners?
 
Palak Mathur
Ranch Hand
Posts: 321
IntelliJ IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 3159
33
Google App Engine Java Ruby
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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).
 
Martijn Verburg
author
Bartender
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 321
IntelliJ IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you're new to functional, then start with Groovy, otherwise pick whatever scratches your itch!
 
Palak Mathur
Ranch Hand
Posts: 321
IntelliJ IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 321
IntelliJ IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 3275
5
Eclipse IDE Java Mac OS X
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 321
IntelliJ IDE Java Spring
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic