Re: I want to get out of my confort zone witch is JAVA please help.
What scenario are you looking to expand on?
There are literally hundreds of languages that run on the Java virtual machine, and some of them don't look anything at all like Java but compile to the same byte code and more importantly they play nicely with Java.
All of that means that you can mix and match languages as appropriate and easily run it on the same VM as though they were the same language.
I use groovy (a language) and grails (a web framework for groovy) which is fantastic for web development. Groovy is a dynamically compiled language (yes, compiled not interpreted) with loose typing and dependency injection. Groovy is the language you use if you use a gradle build script, which seems to be the next ant.
Grails is a convention-over-configuration framework for rapid web development. It integrates groovy, Spring framework, hibernate and a bunch of other neat tools/libraries.
There are several reasons I'm recommending a JVM language:
- You can use it professionally right alongside your Java app
- Application servers, build tools, etc all will work nicely so you don't need to learn everything over at the same time.
- On server side apps, the application starts once and then runs for days or months, which negates the overhead issues that most anti-Java people cite as a reason to not use it.
- There are lots of other people who will recommend a UN*X-specific or UN*X-native language. They're right too.
Eventually you should be looking at something unrelated to the JVM though, because sooner or later the JVM will be obsolete. Also, UN*X oriented operating systems tend to use C or C++, and lots of shell scripts.
Groovy also works well as a scripting language, but you get that VM startup overhead then so it's best for something you run manually or something where the VM stays active for your entire session.
Good luck and have fun.
Help stamp out MBR partition tables. Use GPT instead!