Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

.NET or J2EE 4

Status
Not open for further replies.

jwdcfdeveloper

Programmer
Mar 20, 2001
170
US
Im at a crossroad in my career. I want to start getting deeper into either .NET or J2EE. I have 5 years of development experience. As my name indicates, most of it is Cold Fusion. I have some academic experience with Java, but I recently took a C# class and enjoyed it. I'm curious about whether I should go deeper down the MS path with .NET or go the J2EE route?

My concern with .NET is will it become so exclusive when Longhorn comes out (I hear you will need a waaayyy more powerful computer to run it than what's currently available) that most business will not be able to afford it. While on the other hand, the Java market is so segmented it seems ridiculous (everyone wants Java, JSP, Servlets, etc, but some want Websphere experience, others Weblogic, others Apache, etc.). I feel I could pickup either technology realatively quickly, but I know that I can't become an expert in everything, so I'm looking for the best thing.


Thanks
 
I would be interested in this discussion as well. I am at a similar point in my career and facing pretty much the same decision.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
look at installed base... supply (of jobs) is driven from demand (for apps)...

I might be predudiced; but I think .NET is a safer path...

Remember your pay is related to how much value you can prove you add... look up "Dollarization" and other related stuffs...

Keep kicking!!!

JTB
Have Certs, Will Travel
"A knight without armour in a [cyber] land."

 
J2EE has a headstart and is multi-platform but .Net is faster to run and generally has less lines of code so is faster to code too (see the .Net PetShop for comparison). It also has the backing of the world's largest IT company and will, in my opinion, catch up and pass J2EE in terms of user base.

But J2EE is seen as "hardcore" and seems to attract more cash!

Craig
 
What happended to IBM?

Good Luck
--------------
To get the most from your Tek-Tips experience, please read FAQ181-2886
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
Shows that MS is more profitable, thus a higher market value, but IBM is considerably larger.

Good Luck
--------------
To get the most from your Tek-Tips experience, please read FAQ181-2886
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
Why not do both? C# and Java are similar languages so it should not be difficult to learn them both. It is hard to say which platform will have the largest userbase in the future, so it might be a good idea to bet on both horses.
 
tom62 is on the right path... learn both, look for the right job... concentrate on what they want...

JTB
Have Certs, Will Travel
"A knight without armour in a [cyber] land."

 
tom62,


That sounds good in theory, and up to a point you are right. However, by the time I get to say the level of an Architech, it will be difficult to maintain the knowledge needed to excell. Java/J2EE is a pretty mature platform, it requires a great deal of time, money, and energy to master. Not to mention the need to understand the various intracies of working with Weblogic, Websphere, name your J2EE server, etc. will become greater. Learning both base languages is not the problem, but learn the tools that go along with the languages becomes more of a challenge. For instance, with MS you would probably need to be familiar with SQL Server, IIS, Biz Talk, SOAP, etc while with Java you may need to be acquainted with Apache, Websphere, Weblogic, Struts, JNDI, RMI, Ant, etc.

So it's not so much the languages that are the problem, but it is the stuff you have to know with the language to leverage the full power of the language that becomes a challenge. It also why I say I can't learn it all. Because learn one or the other is serious enough, while learning both requires no life for very, very long time.
 
jwdcfdeveloper said:
That sounds good in theory, and up to a point you are right. However, by the time I get to say the level of an Architech, it will be difficult to maintain the knowledge needed to excell.

While mapping out a career path is a good thing, you're probably putting to much emphasis on the future that at this point is unknown. If you are still considering what technology to focus on you have sometime before you will reach the Architect level, and during this time the technologies may change again or a new leader in the area may emerge.

There is reason to attempt to master all components of either .NET or J2EE development when you still haven't really worked in either. Focus on the the programming aspects and the rest you will learn as you progress or can address when you need to.

As for your concerns with .NET becomming exclusive to longhorn. This goes against the purpose of .NET, .NET webappsrequire IIS5 (I believe) or greater while the Desktop apps require only the framework. There are development initiatives for porting the CLR to UNIX.

I am a firm believer in do what you enjoy doing. If you enjoyed your exposure to C# then gain some more exposure, then expose yourself to J2EE and decide what you enjoy the most. Working in a technology that you don't enjoy will only hinder you in developing your skillset. As a Web Designer/Web Programmer/Web Admin I did fairly good but didn't really enjoy doing it in turn I did not excel as I thought I should. In Data warehousing and Business Intelligence which I absolutely love doing I surpass my mentors and my own expectations. I have reached a point where people not only listen to my ideas but they seek them out and quite often act upon what I have said.

"Shoot Me! Shoot Me NOW!!!"
- Daffy Duck
 
You want to balance pigeon-holing yourself in one architecture or programming language with becoming well versed in at least one thing. I think there is something to be said at becoming an expert on "something", rather than mediocre at a lot of things. Personally I have chosen to go down the .NET direction. I really don't have time to become an expert on all architectures. Maybe others do.

I'm by no means an expert but I want to be especially strong in a particular area. These days companies are often looking for someone with expertise in a particular area.

So in one sense you may have to pick one or the other. That doesn't mean you can't study both or become competent at both.

.NET or J2EE are technologies that are going to be around for a while. You won't go wrong with either. Java tends to have more jobs available because it's cross platform. I wouldn't be surprised to see .NET go cross platform eventually, if in some limited capacity. I have noticed a significant increase in .NET jobs in the past 12 months.

Without sounding anal I think it's good to map out a study plan on paper, putting down the things you want to learn. I am doing this now because I have the need to focus because there is just so much to learn.
 
I would also look at the local ads (or the ads in the area where you would like to relocate). I see far more .Net positions advertised around here, but in many places the J2EE are more common. Both these technologies are complex and powerful and will take a great deal of effort learn enough so that you can create efficient as well as effective code. So concentrate on one. In my office, we do very complex web services applications in .net, but in the hiring process, I would take a skilled J2Ee programmer over a .net programmer who has only done simple things.

Questions about posting. See faq183-874
 
SQLSister said:
In my office, we do very complex web services applications in .net, but in the hiring process, I would take a skilled J2Ee programmer over a .net programmer who has only done simple things.
Out of curiosity, why? If .Net is what you're using, why would you rather have a J2EE programmer? Just to have a more "well rounded" team? Or do you feel the J2EE programmer could easily catch on to .Net? I think that's pretty interesting and, like I said, you raised my curiosity.





Hope This Helps!

Ecobb

"My work is a game, a very serious game." - M.C. Escher
 
This goes along with one of my major contentions. In general, once you understand programming concepts, which language you implement them in is relatively inconsequential.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
I disagree somewhat with Tom and/or SQLSister. Some programming languages are as different from others as verbal/written languages are from others. Therefore, being a great writer in English does not mean that if one were to quickly get up to speed in Italian, that he or she would be a great Italian writer off the bat. The same applies in programming languages. There's more to it than just quickly getting up to speed with the syntax. There could be whole concepts that are new, or whole concepts that do not apply.

.Net and Java have some similarities, in that they are both object oriented, and are both used by many to accomplish the same types of tasks (web development, databases, etc.). But there are many differences, especially, IMO since the technologies are pushed by two different companies.

 
Everyone that I have talked to that has learned both has said that there was a definite benefit in learning one from knowing the other.

I agree that some languages ahve huge differences in syntaxt and structure, I just think that usually these differences would take less time to overcome than it takes to get a good solid understanding of programming concepts.

[red]"... isn't sanity really just a one trick pony anyway?! I mean, all you get is one trick, rational thinking, but when you are good and crazy, oooh, oooh, oooh, the sky is the limit!" - The Tick[/red]
 
I would rather have an experienced, in depth J2EE programmer than an inexperienced .net programmer becasue I would have more confidence he or she could program at the level bnecessary for our applications. All things being equal I would rather have the in depth .net person, but that kind of person is not always available. (you should see the resumes we get for people who are supposedly programmers.) The point I was trying to make is that with complex programming frameworks, a person who has mastered the complexity of one or the other is more valuable than someone who only knows the basics in both.

Questions about posting. See faq183-874
 
SQLSister,

If I understand what you are saying correctly about experience carrying over, it almost sounds like an endorsement for J2EE. If I'm understanding you correctly, it seems that a good J2EE programmer can pickup the syntax of C# more quickly than a mediocre C# programmer can pick up complex coding constructs. Therefore, an intermediate to advance J2EE programmer is better than a beginner to intermediate C# programmer. Is that what you are saying?
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top