Discussion on:
View:
Show:
i'd say if you focus on mid-small size customer, you better choice .Net. but if you focus on large company, J2EE is a better technology for you. at least it's true in coming three years.
with tomcat & apache , mysql & jboss ,
all free why are we all locked into the idea that J2ee must be on large solaris / Aix / z/390 boxes, while microsoft is meant for the small shop.
This is a mindset that dominates the industry. Let us get away from it .
all free why are we all locked into the idea that J2ee must be on large solaris / Aix / z/390 boxes, while microsoft is meant for the small shop.
This is a mindset that dominates the industry. Let us get away from it .
A reality check... you have to live with both
My comments are based on real, current and live experience on real projects!
The reality is that you have to use both environments. The secret is not the actual platform, but the quality of the architecture! The SOA (Service Oriented Architecture) is the way to think.
Of course, from real experiences, on multiple projects ranging in size from $50K and $30M; I would pick J2EE anytime. Again, based on past experiences, I have seen much greater rate of failure and unstability on the Microsoft platform.
Bottom line, be wise and don't discard either framework.
One final comment... the last line should have read:
"...but comes down to three: .NET-proprietary, J2EE-generic or J2EE-vendor specific..."
My comments are based on real, current and live experience on real projects!
The reality is that you have to use both environments. The secret is not the actual platform, but the quality of the architecture! The SOA (Service Oriented Architecture) is the way to think.
Of course, from real experiences, on multiple projects ranging in size from $50K and $30M; I would pick J2EE anytime. Again, based on past experiences, I have seen much greater rate of failure and unstability on the Microsoft platform.
Bottom line, be wise and don't discard either framework.
One final comment... the last line should have read:
"...but comes down to three: .NET-proprietary, J2EE-generic or J2EE-vendor specific..."
Unless J2EE improves the developing process, Microsoft will of course win! We are developing for IBM Websphere and had to buy a 1.5GB-machine. The edit-test-debug-cycle is still many minutes. This is stone age technology. The productivity of the developers is near zero!
Have you tried IBM's eclipse with Lomboz plug-in for J2EE development?
Why waste time by tip toeing and try to be politically correct-confront the real issues, maybe publish articles written by developers who can voice there views.
This is a typical Landgrave article. He tries to promote an objective analysis of Microsoft software by seeking opposing viewpoints from technology leaders. God forbid that Tim truly use and understand the software all by himself!!
In any event, if Tim had taken the time to truly learn, understand, and compare the software from a functional (experiential) perspective, I would expect that he would arrive at a similar viewpoint to that of Roger Sessions, one of the foremost industry experts on both J2EE and .NET. Basically, .NET provides a fuller, more capable toolset that objectively outperforms J2EE in both time to market and real live application performance tests. Now, why wouldn't Mr. Landgrave address/use the software directly, and not just reiterarte the more or less informed users' opinions?
If I want to learn about a car, I go to the impartial reports for objective data, and then I test drive the key players for myself. Mr. Landgrave seems to prefer talking to the individual owners about the merits of their cars, even though some of the owners may be driving Yugos, and not even know about BMWs...
In any event, if Tim had taken the time to truly learn, understand, and compare the software from a functional (experiential) perspective, I would expect that he would arrive at a similar viewpoint to that of Roger Sessions, one of the foremost industry experts on both J2EE and .NET. Basically, .NET provides a fuller, more capable toolset that objectively outperforms J2EE in both time to market and real live application performance tests. Now, why wouldn't Mr. Landgrave address/use the software directly, and not just reiterarte the more or less informed users' opinions?
If I want to learn about a car, I go to the impartial reports for objective data, and then I test drive the key players for myself. Mr. Landgrave seems to prefer talking to the individual owners about the merits of their cars, even though some of the owners may be driving Yugos, and not even know about BMWs...
My department is currently moving to VB.Net/ASP.Net from VB/ASP. Java was never really a consideration as none of us has much experience it with it. C# also fell out of the running after much discussion at conferences and research on the web seemed to show there is no performance difference between VB.Net and C#.
I believe that Microsoft launched C# to attract Java developers and I suppose this makes some sense, though I don't imagine that a lot of experienced Java developers will be persuaded to change when there is so much well-paid Java work out there. At one conference, a speaker suggested that C# was really created as the internal programming language of Microsoft, which they decided to release to the public. Interesting thought.
It seems to me that the effect of C# is to divide the .Net community, particularly the VB community. Given that there are more VB programmers than any other kind, this seems a strategic error on Microsoft's part. Language adoption depends enormously on the quantity and quality of resources available to programmers to resolve their problems. By dividing the .Net community, Microsoft has divided the resources available to both VB.Net and C#. I see this every day when looking for answers on the web.
This can only strengthen the Java community.
I believe that Microsoft launched C# to attract Java developers and I suppose this makes some sense, though I don't imagine that a lot of experienced Java developers will be persuaded to change when there is so much well-paid Java work out there. At one conference, a speaker suggested that C# was really created as the internal programming language of Microsoft, which they decided to release to the public. Interesting thought.
It seems to me that the effect of C# is to divide the .Net community, particularly the VB community. Given that there are more VB programmers than any other kind, this seems a strategic error on Microsoft's part. Language adoption depends enormously on the quantity and quality of resources available to programmers to resolve their problems. By dividing the .Net community, Microsoft has divided the resources available to both VB.Net and C#. I see this every day when looking for answers on the web.
This can only strengthen the Java community.
It is my opinion that C# is a new logical step in evolution of new modern-day languages. To really compare and understand nature of C# someone has to know and see at least three different paradigms in programming languages. From one side we have classical C++, from another side we have Java and from the third side we have growing number of scripting languages such as Javascript. Merge all these three paradigms together and you will get C#. The question is, should you learn C#. Let?s assume if you know C++ and Java and Javascript, wouldn?t it be convenient to implement solution in the language that combined power of these three? It is certainly beneficial even from education perspective to take a look at some key language aspects.
To say that the promulgation of C# and VB.NET creates a "split" in the developer community is to misunderstand .NET. Languages that conform to the .NET specifications are essentially created equal, and choice of language is essentially a "lifestyle choice". C# and VB.NET, in terms of the .NET CLR, are essentially equivalent and we can swap one for the other given our personal preference. We can even, for instance, take a component written in C#, decompile it to IL, then recompile it as VB.NET.
C#;VB.net vs Java: Most people see that as the two horse race.
I am a VB6 developer who is climbing the Java curve. Why? Because either way I have to climb a totally new learning curve. Dot.NET is still evolving, and so is Java, but Java has the lead in mindshare. I am looking two years down the road at what skills I need to stay gainfully employed. I still see VB6 and Java listed as the most requested job reqs.
Once I understand Java, I have climbed alot of the the learning curve for .NET and the CLR. I should be able to translate what I know from VB6 and Java to VB.Net and C#. I don't look at which technolgy will win, because they both will be around at the enterprise level.
XML will be the real winner. I just want to be able to implement on either platform, according to the business need, not industry hype.
Brandon_Forest@Onebox.com
I am a VB6 developer who is climbing the Java curve. Why? Because either way I have to climb a totally new learning curve. Dot.NET is still evolving, and so is Java, but Java has the lead in mindshare. I am looking two years down the road at what skills I need to stay gainfully employed. I still see VB6 and Java listed as the most requested job reqs.
Once I understand Java, I have climbed alot of the the learning curve for .NET and the CLR. I should be able to translate what I know from VB6 and Java to VB.Net and C#. I don't look at which technolgy will win, because they both will be around at the enterprise level.
XML will be the real winner. I just want to be able to implement on either platform, according to the business need, not industry hype.
Brandon_Forest@Onebox.com
It also matters about cost/ performance/ scalability / portability of the system.
Microsoft cost and performance and scalability (only for some microsoft products)
J2EE scalability and portability and performance (only for some vendor specificproducts)
This is under current situations
Microsoft cost and performance and scalability (only for some microsoft products)
J2EE scalability and portability and performance (only for some vendor specificproducts)
This is under current situations
In the article, its nice to see that they are focusing on two major factors that will be a deciding factor in my company. However, they didn't focus on the fact that a majority of the younger IT professionals out there today are being trianed in Java, and thus using J2E may reduce my overall company cost of retraining staff, and down time due to workshops. In some of the areas here in Pennsylvania, Java is the overall main language for even starting programing courses. Whereas it used to be C,CPP, or, gods forbid anyone else remembers when they taught Fortran as a beginning language; Its now Java. Given this trend, and Sun's ability to capture not only the IT marketplace, but the educational Market place when it comes to turning out future IT pros, I feel the article may have been misslanted. I, and my company in turn, ramin on the fence for now with this issue. I know how to use Java, and so J2E looks more usable. However, I am not above attending a workshop to see how MS's productworks.
Visual Basic programmer salaries peaked several years ago, once the industry received a flood of graduates who learned VB in college. We are seeing this happen with Java as well. Lots of applicants and low training costs = employer bliss. For now, C# and .Net developers are going to have a hefty price tag because of scarcity, training costs, lack of experience (don't hire anyone claiming 5 years experience with the gold .Net!). Not only is there the straight personell costs, but there is the risk management cost on projects (replacing lost or incompetent .Net developers).
Back in the 60's IBM targeted the universities with great deals so students knew how to program IBM stuff and businesses had to buy IBM or do their own programmer training. Microsoft has picked up on this with their Academic programs, and expanded it existing professionals with their MSDN and MCP programs. So you can bet that they will close the gap between C# and other languages quickly.
Back in the 60's IBM targeted the universities with great deals so students knew how to program IBM stuff and businesses had to buy IBM or do their own programmer training. Microsoft has picked up on this with their Academic programs, and expanded it existing professionals with their MSDN and MCP programs. So you can bet that they will close the gap between C# and other languages quickly.
Good article. I am glad to see what appears to be a balanced and unbiased opinion about the 2 major IT architectural philosophies that almost all large organizations are having to decide upon, and in some cases decide quickly. In most organizations this decision is shaping up to be made in the midst of "religious wars" between the 2 technical factions that may exist inside these organizations. But let us not forget that the best marketing always wins the IT wars - not the best technologies. I can hardly wait to see who wins.
Someone has been studying his Microsoft brochures very carefully.
Microsoft was able to rally industry support for standards such as ODBC because they were entry points into the proprietary Windows OS and Visual Basic development environments. It was a win-win situation. If Oracle and other vendors wanted developers to produce applications using their databases, but still able to use the most popular tools for the predominant desktop platform, they had to adopt ODBC and create an ODBC driver, or do all the hard work themselves. At that time, SQL Server was not yet strong enough to be the only target for Visual Basic; it would have hindered its further adoption. MS and the other vendors realized this and accepted it and felt comfortable with the "open Microsoft standard."
Times have changed, however. Now there is OLE DB and ADO as the "new" standards. Microsoft has their native OLE DB provider for SQL Server, and OLE DB gives it special treatment which gives MS yet another edge. Oracle has developed their own OLE DB provider, but many of the othervendors have been stuck with the overhead of having OLE DB go through ODBC. So once again, MS is managing to use "standards" to enhance their dominant position in the industry. (I admint that there are plenty of other factors and good arguments for the transition, but this still appears to be a major result of the new standard.)
Times have changed, however. Now there is OLE DB and ADO as the "new" standards. Microsoft has their native OLE DB provider for SQL Server, and OLE DB gives it special treatment which gives MS yet another edge. Oracle has developed their own OLE DB provider, but many of the othervendors have been stuck with the overhead of having OLE DB go through ODBC. So once again, MS is managing to use "standards" to enhance their dominant position in the industry. (I admint that there are plenty of other factors and good arguments for the transition, but this still appears to be a major result of the new standard.)
One of the major factors that has caused Unix to lose ground to Microsoft is that the Unix industry is so bitterly divided. While there were "Unix standards" and it was an "open system," there were too many difference between vendors' Unix variants.Just because you were a good Solaris sys admin or programmer, you couldn't automatically handle an AIX or HP/UX system because of the differences. And the vendors often had a "I don't care, as long as he doesn't win" attitude which prevented a unified front against Microsoft.
With J2EE, we have the potential for a similar situation emerging. Sun solidly holds the reigns on the J2EE standard, but has to try and keep it an open platform while still selling Sun products. But you have to have J2EE Application Servers to use J2EE, and each vendor has to compete with the other vendors, and has to come up with proprietary features. So, as the article points out, you have a divided front.
For J2EE to win over .Net in the future, we have to look to the J2EE vendors to "observe gentlemen's rules" amongst themselves, and not warp J2EE into a non-standard.
If the tools allow you generate standard J2EE code, copy it to another vendor's system and reverse engineer into a proprietary tool suite which enhances development productivity, then we get a healthy environment. If we find ourselves stuck with a development environment because there is no migration via a standard, then J2EE will disintegrate into a bunch of niche products. If "runs on J2EE" means the same as "runs on Intel" to developers, it will be time to seriously consider bailing to .Net.
With J2EE, we have the potential for a similar situation emerging. Sun solidly holds the reigns on the J2EE standard, but has to try and keep it an open platform while still selling Sun products. But you have to have J2EE Application Servers to use J2EE, and each vendor has to compete with the other vendors, and has to come up with proprietary features. So, as the article points out, you have a divided front.
For J2EE to win over .Net in the future, we have to look to the J2EE vendors to "observe gentlemen's rules" amongst themselves, and not warp J2EE into a non-standard.
If the tools allow you generate standard J2EE code, copy it to another vendor's system and reverse engineer into a proprietary tool suite which enhances development productivity, then we get a healthy environment. If we find ourselves stuck with a development environment because there is no migration via a standard, then J2EE will disintegrate into a bunch of niche products. If "runs on J2EE" means the same as "runs on Intel" to developers, it will be time to seriously consider bailing to .Net.
The author has a major point that you missed in your post.
The choice is, go with open J2EE and suffer performance consequences or Improve J2EE performance with vendor specific enhancements and loose portability.
This fact was in one of his recent articles a few months ago.
Bottom line,
generic programming = generic performance
.Net locks you in to the MS platform, but you must decide if the significant speed increase is worth it.
The choice is, go with open J2EE and suffer performance consequences or Improve J2EE performance with vendor specific enhancements and loose portability.
This fact was in one of his recent articles a few months ago.
Bottom line,
generic programming = generic performance
.Net locks you in to the MS platform, but you must decide if the significant speed increase is worth it.
J2EE will diminish into niche divided products if the Unix world and java cannot decide on standards. This is hopefully something Linux may bring to the realm, but unfortunately, you already have Linux zealots and Unix zealots battling each other.
The one thing MS has on its platform are standards, and thats something that shouldn't be ignored. Yes you say windows standards, but windows is in a sense IS a standard. Itanium, Hammer, will all bring the price/cost ratio in favor of powerful inexpensive 64bit wintel servers or Linux intel/AMD servers.
The one thing MS has on its platform are standards, and thats something that shouldn't be ignored. Yes you say windows standards, but windows is in a sense IS a standard. Itanium, Hammer, will all bring the price/cost ratio in favor of powerful inexpensive 64bit wintel servers or Linux intel/AMD servers.
Don't confuse a monopoloy for a standard. Becuase a product such a windows is widely accepted doesn't make it a standard.
There are committees and review boards that take more than market forces into consideration when accepting standards.
There are committees and review boards that take more than market forces into consideration when accepting standards.
You're talking about "de jure" standards, agreed upon by a committee. But in the IT world, there have always been "de facto" standards as well. That is, things that are in actuality a standard because of their wide adoptance.
Even though these de facto standards may have gotten to be so through unsavory means, you ignore them at your own peril. Life is unfair!
Even though these de facto standards may have gotten to be so through unsavory means, you ignore them at your own peril. Life is unfair!
But you have to have J2EE Application Servers to use J2EE, and each vendor has to compete with the other vendors, and has to come up with proprietary features. So, as the article points out, you have a divided front.
----------------
This article is the first I've heard that there is still some sort of fragmentation going on in the Java world.
Some years ago I tried to create a Java applet for a web-based business app. and found out that the only browser I could get to work with my signed applet was Sun's HotJava browser, due to the fact that the other browsers used a different security model. All I could say was, so much for Write Once Run Anywhere.
I talked with a fellow MS developer a few months ago on this subject and he made a point that's very appropriate to this: The concept that drives our economy is that everyone wants to "build a better mousetrap." This means taking the mousetrap and adding features that are unique to your company's product. There's the "openstandard" mousetrap that everyone knows about, but it's not quite as effective as the "custom" or "proprietary design" mousetrap. Each company will offer its own mousetrap with their own unique features that they think gives them an advantage over the other guy.
So the concept of an open standard is a nice one. It's something upon which proprietary technologies can be based, but that's its only value to the economy at large.
Given this, I doubt there will be "a gentleman's agreement" tokeep Java consistent among all the vendors that depend on it. Their proprietary technology is how they gain their edge over their competitors. They're not going to give that up without a fight.
----------------
This article is the first I've heard that there is still some sort of fragmentation going on in the Java world.
Some years ago I tried to create a Java applet for a web-based business app. and found out that the only browser I could get to work with my signed applet was Sun's HotJava browser, due to the fact that the other browsers used a different security model. All I could say was, so much for Write Once Run Anywhere.
I talked with a fellow MS developer a few months ago on this subject and he made a point that's very appropriate to this: The concept that drives our economy is that everyone wants to "build a better mousetrap." This means taking the mousetrap and adding features that are unique to your company's product. There's the "openstandard" mousetrap that everyone knows about, but it's not quite as effective as the "custom" or "proprietary design" mousetrap. Each company will offer its own mousetrap with their own unique features that they think gives them an advantage over the other guy.
So the concept of an open standard is a nice one. It's something upon which proprietary technologies can be based, but that's its only value to the economy at large.
Given this, I doubt there will be "a gentleman's agreement" tokeep Java consistent among all the vendors that depend on it. Their proprietary technology is how they gain their edge over their competitors. They're not going to give that up without a fight.
It's good to see a fair and un bias look at these technologies, it is so refreshing to read an article like this.
The Author - gets a At-a-boy for a truely well written and balanced and informative article..
KEEP THESE TYPE COMMING ...
The Author - gets a At-a-boy for a truely well written and balanced and informative article..
KEEP THESE TYPE COMMING ...
Any programmer or CIO today has to balance the time/cost of an overhaul/rewrite versus the time/cost of adding onto what exists given the complexity of the desired features to be added.
A Java-based shop is going to find that adding and integrating added features with Microsoft technology is going to make less sense than sticking with the status quo, and vice versa.
To suggest that a rule can be made that company x should use technology y for project z is just absurd given the complexities involved in x, y, and z.
From my experience, Web Services, VisualStudio.NET and C# are emerging technologies useful for exploring and investigating in terms of the impact on current practices in the 1 - 3 year time frame whereas Java-based standards have had some time to mature and proliferate.
I would be very cautious about hiring a developer who claims to be an expert in Web Services, C# and VisualStudio.NET. The technologies are too new. Likewise I would be very cautious about commiting fully to a Microsoft-only solution. You never know what they're liable to do in the future. (That MS 'stole' Windows from Apple and how they've positioned Passport should be two very large red flags.)
As others have said, an Apache-Tomcat-Linux-MySQL solution can accomplish the same functionality as .NET without huge (if any) licensing fees. If your company has money and time to blow, then go .NET. But if you're like most companies, under time, budget, and human resource constraints, go with what works - Java.
For someone who's never seen a side-by-side comparison you'd be amazed to note that, in terms of the IDE - where the programmer spends his/her time - Apple WebObjects 5 and Macromedia Jrun/ColdFusion/Dreamweaver are both in their 5th version, have moved to J2EE runtime, and are far, far more refined than Microsoft's 1.0 release VisualStudio.
A Java-based shop is going to find that adding and integrating added features with Microsoft technology is going to make less sense than sticking with the status quo, and vice versa.
To suggest that a rule can be made that company x should use technology y for project z is just absurd given the complexities involved in x, y, and z.
From my experience, Web Services, VisualStudio.NET and C# are emerging technologies useful for exploring and investigating in terms of the impact on current practices in the 1 - 3 year time frame whereas Java-based standards have had some time to mature and proliferate.
I would be very cautious about hiring a developer who claims to be an expert in Web Services, C# and VisualStudio.NET. The technologies are too new. Likewise I would be very cautious about commiting fully to a Microsoft-only solution. You never know what they're liable to do in the future. (That MS 'stole' Windows from Apple and how they've positioned Passport should be two very large red flags.)
As others have said, an Apache-Tomcat-Linux-MySQL solution can accomplish the same functionality as .NET without huge (if any) licensing fees. If your company has money and time to blow, then go .NET. But if you're like most companies, under time, budget, and human resource constraints, go with what works - Java.
For someone who's never seen a side-by-side comparison you'd be amazed to note that, in terms of the IDE - where the programmer spends his/her time - Apple WebObjects 5 and Macromedia Jrun/ColdFusion/Dreamweaver are both in their 5th version, have moved to J2EE runtime, and are far, far more refined than Microsoft's 1.0 release VisualStudio.
Looks like I started the with a question with 2 choices and ended the article with the same question remaining but now with 3 choices and not much in the form of framework/problem attributes to make choices.
That was the point - the article concluded that there is insufficient information to make a clear decision. The article also pointed out that the decision isn't between two alternitives but actually from amoung three. It also showed that the marketing capabilities of some vendors and the historic tendency of the UNIX camp to self-inflict itself made prognostication more difficult. The article also noted that certain groups had an implicit path of least resistance and it expected them to follow it. It looked at MS favorably, yet unbiased. Well done.
duh ... what a planet do you come from ?
it's not worth any cents !
i must stop wasting time by reading a bunch of crap like this.
you better to change the subject to :
": J2EE vs. .NET: Making that vital development decision FOR MORON"
how to deactivate my member account ???
it's not worth any cents !
i must stop wasting time by reading a bunch of crap like this.
you better to change the subject to :
": J2EE vs. .NET: Making that vital development decision FOR MORON"
how to deactivate my member account ???
Using "Microsoft" and "quality software" in the same sentence bothers me!
Quality software does not need to be rebooted daily or weekly, it runs 24x7 for months or years. Quality software does not need weekly security patches. Quality software does not result in the message "Program not responding". It's great when it works but all too often, it doesn't!
Quality software does not need to be rebooted daily or weekly, it runs 24x7 for months or years. Quality software does not need weekly security patches. Quality software does not result in the message "Program not responding". It's great when it works but all too often, it doesn't!
Java is years ahead in mindshare and proven products across a large range of platforms. With SAP Oracle IBM pushing Java - this is the first choice of most corporate mission critical apps.
.NET will be there in the periphery in personal apps - for some time.
Earlier I recall there was talk of Microsofts witdrawal of Java support in Internet Explorere as a problem of Y2K proportions. Obviously such opinions are held by people who are not aware of Sun's plugin or Oracle Jinitiator.
This article should be URLed to wwww.microsoft.com ....
.NET will be there in the periphery in personal apps - for some time.
Earlier I recall there was talk of Microsofts witdrawal of Java support in Internet Explorere as a problem of Y2K proportions. Obviously such opinions are held by people who are not aware of Sun's plugin or Oracle Jinitiator.
This article should be URLed to wwww.microsoft.com ....
If I'm not running Microsoft Windows, I don't think I'll be doing my development using .NET.
- Keyboard Shortcuts:
- Prev
- Next
- Toggle









































