• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Essentials for a Well-Grounded Java Developer?

 
Ranch Hand
Posts: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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?
 
author
Posts: 3285
13
Mac OS X Eclipse IDE Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How beneficial would learning such a language be to beginners?
 
Palak Mathur
Ranch Hand
Posts: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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?
 
Bartender
Posts: 3225
34
IntelliJ IDE Oracle Spring Chrome Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 3285
13
Mac OS X Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 3285
13
Mac OS X Eclipse IDE Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 3285
13
Mac OS X Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 3285
13
Mac OS X Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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!!
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic