For a less-coy answer, I'll toss in my two cents: Yes.
If you'd asked me 8 years ago, "Is it smart to learn Java?" I'd have said maybe, but only if you don't have anything better to spend your time learning.
Now, Java has been in-use for a decade, and it's very mature. Not only is it a mature language, it's also got a huge cache of books, tutorials, classes... and of course job opportunities.
If your friend's *real* question is, "Would I be more marketable if I learned Java?" then what you really ought to do is look at the job openings in your area (or places you'd consider relocating too.)
Of course most people here would encourage you (or your friend) to learn Java -- it is after-all a Java forum. Still, you could also find people saying that depending on the task at hand other tools might be more appropriate.
But, the bottom line for your friend, I presume, is -- can they make money, improve job security, and/or get more interesting work if they learned Java, and I feel that the answer to that issue is a resounding, YES!
If you look at Dice.com or Monster.com you can get an idea of what languages are popular where you are located. Basically there are two camps .Net and Java. It is easy to find articles on Java vs .Net. But when if comes to deciding if you want to learn it as a career move here are couple of things that may make a difference.
I have found that .NET is easier to learn than Java, but Java developers are paid more. Java is free and having many open source tools makes it easier for an individual to learn.
ok well my answer is that java is a powerfull language as is a lot of other languages. it is not the easiest language to learn and there are times that you will feel like ripping your hair out. talking from experiance here.
java has alot of advantages but it also has its disadvantages. java for the web is probebly the most popular at the momet with java for mobile solutions a close second.
so i would say study one or both these two areas more than appliction development.
and to your question of whetehr its worth learning a new language then yes it is. you see not only will you be more marketable but by learning a new language from scratch you are improving your thinking abilities and giving ppl like us a chance to reply to querries that you post in forums asking for help. lol LOL
In the end it s upto you identifying why you want to learn a new language.
If you are making a choice as to which programming language to start learning, then Java is obviously the best choice since it is the in form technology these days.
I think your decision should be subjective to what you want to do or what you expect after you have learned Java.
Since you plan to learn Java, you obviously do not have Programming experience in Java.May be you have been programming in some other language or may be your job profile is other than programming and you want to shift to programming
If you expect to shift to Java programming then here are the points to watch
Java is in use for a long time and hence ample number of Java professionals are available in market.As a result companies raise the experience criteria which means it is not all rosy for a fresher
Remember only relative experience matters.And hence even if you get a job,the HR is bound to offer you less banking on the fact that relevant experience is less or not there.
So analyze what difference to your life Java will make and is it really that difference you were looking for?
since you will begin from scratch it will take some time to read the books and have some hands on Java code.
Figure out how much time you can dedicate to learning Java in case you are working some where.
Bye the way here are a good books to start if you eventually decide to start learning Java. You need to start with Core Java and then move on to J2EE 1.Thinking in Java by Bruce Eckel (O'Reilly publication) 2.Complete Reference by Herbert Schield
For J2EE ,there are a lot of books which you will come to know eventually and it will be around a month atleast when you are ready to move on to J2EE