I am a SCJP(93%). Currently I am working on some projects using core Java. I read on some forums that J2ME is poised to grow exponentially. Is it the right time to learn this or is it better to wait and watch. Should it be given preference to learning J2EE(EJB). I woder in which Direction to go? I am a B.Sc(no compuetr science) and new to both J2EE abd J2ME.
Dear Manoj Congrats on passing SCJP with 93% .Right now first try to master Java 2 Standard Edition ( J2SE ) and then try to branch of to J2EE which is in popular demand but mastering J2EE is no joke and it is meant for Java Architects .First try to master J2SE .This is your immediate task .Wish you all the best . ------------------ Krishna
Manoj, That's a very good question. I haven't spent too much time thinking about it, but here are my initial thoughts. Caveats:
This advice expires in about 6 months; the market will be different.
Assumes you've mastered J2Se and can handle learning either J2EE and J2ME.
Learn J2ME before J2EE. I saw this for two reasons. First, J2EE requires learning EJBs, which, in my mind, to learn and understand well, requires serious, in depth study. J2ME is simpler. Personal Java, for instance, is very close to JDK 1.1.8. However, you do need to understand prgramming for constrained devices. This is important. My guess, however, is most people won't understand this well, and we'll get a lot of delayed/bad programs in the next year or so. Second, and this is the bigger reason, is because J2ME is newer. J2EE guys are a dime a dozen. Especially those who build e-Commerce web sites. It doesn't matter that hald of them know little more than advanced web design using JSPs. They all look like J2EE guys to HR. Besides, even given the half that aren't glorified web designs, there are enough people with more knowledge and experience in J2EE than you. J2ME is so new there's hardly anyone with experience in it. If you get in early, you can ride the rising tide. Wanrings: J2ME work will be hard to find for the next 6-??? months, because it is so new, and comapnies don't wnat to make the capital outlay for it. I think while most people may be looking at J2ME in the consumer space, J2ME in the enterprise space is where the real money is. In this case, J2EE knowledge will help greatly, so you should learn both. Still, I'd say learn J2ME first.
Mark Herschberg, author of The Career Toolkit
Thanks Krishna and Mark for the advice. There is a little more I would like to clarify, you have stressed on Mastering J2SE. Does clearing SCJP with a good score not imply mastering J2SE, If so what are the a J2SE API's etc. that one should know to consider himself/herself a master(nearly) of J2SE. Besides does it serve going too deep in J2SE if you have to ultimately work using J2ME and J2EE. Thanks again.
Originally posted by manoj pandey: Does clearing SCJP with a good score not imply mastering J2SE, If so what are the a J2SE API's etc. that one should know to consider himself/herself a master(nearly) of J2SE. Besides does it serve going too deep in J2SE if you have to ultimately work using J2ME and J2EE. Thanks again.
There have been many flames in this forum on which I have expressed my opinion on this. In short, I've meet a number of SCJPs who understand the technical APIs, i.e. the grammar of Java, but aren't necessarily good programmers, i.e. OO, data structures, design, etc. It's not about what APIs you know (although some HR people do like to see laundry lists on a resume), it's about how good a programmer you are.
I'll give you an example. In J2ME processor and memory are much more expensive than on a desktop. Do you understand hwo to make use of lazy instantiation? Do you know the cost of object creation? When should you not use exceptions, even if programmatically they make sense? Given how the GC works, how should you create objects? When is it appropriate to put a task in a background thread? Questions like these you don't learn from the exam, but they are good to know and make you a better programmer.
I don't want to start another flame war on this topic, so I refer parties interested in the SCJP discussion to search this forum for "SCJP" or "certification" and look for the topics with 30+ hits. It's been discussed to death there.
Mark Herschberg, author of The Career Toolkit
. Do you understand how to make use of lazy instantiation? Do you know the cost of object creation? When should you not use exceptions, even if programmatically they make sense? Given how the GC works, how should you create objects? When is it appropriate to put a task in a background thread?
There is no way passing the SCJP (with any score) indicates mastering J2SE. It takes a couple of years of programming a language to master it. At most you can claim you have learned the basic fundamentals of J2SE. I scored very well on the SCJP, so I can say I know the exam did not cover a great deal of the J2SE API. With respect to J2ME... I have some experience with embedded systems programming using C. J2ME is going to get very big once 3G cellular phones and other wireless devices that support Java become prevalent. I think there are a lot of embedded applications that could be programmed with J2ME, but the momentum is currently in the wireless market. [This message has been edited by Michael Pearson (edited August 21, 2001).]
What's a year in metric? Do you know this metric stuff tiny ad?