NET's closures are popular with many developers, and Java seems to be implementing them soon. Of course, this is a language feature, not a runtime feature. I think which one of the two you ultimately choose comes down to personal preference and local career opportunities. .NET's closure features are popular with many developers, and Java seems to be implementing them soon. Of course, this is a language feature, not a runtime feature. I think which one of the two you ultimately choose comes down to personal preference and local career opportunities.
1.What will happen when Java SE 7 encounters .NET CLR?
As you can see from the feature list of Java SE 7, it has greatly improved compared to previous versions. So, is it a game changer? I don't think so. Over the past few years, there have been numerous improvements to both the JVM and the .NET CLR; many things that in the past could only be accomplished by very skilled programmers are now within the capabilities of ordinary programmers thanks to the enhancements in the JVM and the .NET CLR. get.
Although the JVM and the .NET CLR did not implement the same idea at the same time, if a good idea appears on one side, the other side will quickly follow up. This is not only reflected at the runtime level. For example, for Java, after the Hibernate project achieved great success, .NET also quickly launched NHibernate. The closure functions of .NET are very popular among many developers, and Java seems to be implementing them soon. Of course, this is a language feature, not a runtime feature.
.NET closures are a hit, and Java will soon follow suit
2. Will one runtime outright defeat the other in the foreseeable future?
Although the JVM and the .NET CLR are very similar on a technical level, they each have their own market, and neither is very flexible. If one has created their infrastructure around .NET server and IIS, there is no way they can wake up the next day and migrate all of that to Java, and vice versa. Even if a company decides to switch its development platform, it may need to replace its entire development team or train them from scratch. Even after the training is completed, there are still serious deficiencies in skills; after all, it is impossible for a senior .NET developer to suddenly become a senior Java developer after 3 months of training.
In addition, the company needs to retain existing technical personnel to maintain the existing code. Do you think these employees will sit back and watch their positions be eliminated, or their skills become useless or devalued? Of course not. For a company, completely switching from Java to .NET or completely switching from .NET to Java is an act of suicide. At most, employees will be re-educated through a multi-year project. The migration from VB6 to .NET has taken 8 years since .NET was released.
Transformation of programmers and projects takes time
3. Is the cost of Java development more economical than .NET development? If so, will people turn to Java to save investment?
If you're just looking at the tools, my answer is "both right and wrong." Indeed, you can run Java on a completely open source package if you want. You can take a Linux/Tomcat/MySQL/Java combination, or use a SpringSource combination on the server side and Eclipse or NetBeans on the developer's computer. But it's important to point out that you're not going to be a big fan of open source alternatives for whatever reason, and I'm not saying the alternatives are bad; if that's the case, the price of the Java tools compared to the .NET tools Quite, and in many cases even more expensive. And looking at what companies like Oracle and IBM are doing, it's clear that many companies feel the need to pay for proprietary Java tools. In terms of price, Microsoft is almost always the lowest-priced enterprise vendor in any given market segment.
Additionally, you have to consider how much money the company would save if there were no switching costs. The cost of a copy of Visual Studio is far less than the weekly salary and insurance premium of a moderate-income developer. Moreover, the time it takes for the same developer to learn Java and reach the level where he is good at .NET is much longer than a week.
To be fair, this analysis also applies to moving from Java to .NET. Compared with the pain of platform switching, the cost of development tools is really negligible. Of course there are two exceptions. The first situation is to build a new company, so there is no migration cost issue. In this case, Java still does not have a cost advantage, because Microsoft has also launched a free version of Visual Studio (Express version), and if your company is a new company, you can get it for free for three years through the BizSpark plan MSDN and Microsoft licensed, they're not bad. Another exception is a company with a very high server-to-developer ratio, such as Google or Yahoo. Such companies may have many developers working on an application running on thousands of servers. In this case, developer tools are not the main factor in cost savings, but server space is. For companies facing this situation, Java (and other open source technologies) can have a decisive cost advantage.
4. How much scripting language does a Java developer need to know to achieve efficiency in .NET?
First, are you working in web development? If so, you may want to know some JavaScript and become familiar with the corresponding frameworks. For backend work, knowing a dynamic or scripting language is not mandatory or required. Nonetheless, there are many good options for this purpose in the Java space. For someone who isn't currently a Java developer, I don't have any actual experience in this area to speak of, but I've heard a lot of good reviews about Groovy and Scala. If you want to choose some of the more mainstream technologies, JRuby and Jython are good choices.
There are various ways to improve the performance of Java applications
Over the past few years, the JVM has begun to support non-Java languages in large numbers, and developers now have many choices. Learning one of these will definitely help you become a better developer (even if you don't use them in actual production projects), and can provide you with an alternative direction when your project gets stuck.
Will Java replace .NET? It's too early to say. At the same time, .NET will not kill Java. Both have their own advantages and disadvantages. I think which one of the two you ultimately choose comes down to personal preference and local career opportunities.