Post: C # vs. Java: the opposite way of thinking)

Source: Internet
Author: User

C # vs. Java: the opposite way of thinking

Author: Malcolm Davis, published in: September 12,200 4

I was recently invited to compare C #/. NET with Java/J2EE. At the beginning, I compared their functional features, products, and technologies. Then I found that the battlefield of C # and Java is not in these surface features, but in the way of thinking.

Sitting in front of the computer, the developer looks at the problem in two different ways of thinking:

1. Accept existing tools on the desktop and use them as the standard.
2. Frequent search opportunities can improve work efficiency.

There are two main ways of thinking between the two communities: acceptability and exploration. What is beneficial to developers? The receiver gives up control of tools and accepts the choice of managers and sellers. Searchers search for tools that are useful to their work. Both ways of thinking have positive and negative factors.

Tools (including IDE, components, and tools) are normal, expected, and preferred behavior. As a developer, you should find appropriate ways, such as new programs, automatically generate duplicate code, and reuse components to improve work efficiency. However, this may be a bad sign for an IT company. Many IT companies restrict the installation of new software at will, many companies restrict access to external websites, and some restrict access to newsgroups and blog sites. (Of course, IT is hard to imagine that some IT companies do not even allow access to weblogs.java.net .) These IT companies have many appropriate reasons, such as concerns about the spread of viruses and Trojans, and legal issues due to lack of licenses, many programmers do not know and do not care about the potential consequences of introducing new software.

Four years ago, I introduced Ant, Tomcat, and JUnit to an IT company. These tools simplify and speed up the web programming, testing, and manufacturing processes, greatly improving the company's production efficiency. Almost every Java developer has mastered these technologies.

NAnt and NUnit are only some open-source. NET migrations to Java tool sets. However, Microsoft does not adopt these existing solutions, improve them, and integrate them into the production line. Instead, it re-creates similar products, Visual Studio Team System. Stop and imagine if any Java IDE will claim that "we will not support JUnit or Ant and we will launch our own products ."This is simply unimaginable!Now you know the differences in thinking between Java and. NET: one adopted the mature tools available in the community, and the other re-created an integrated solution. Because commercial IT companies prefer integrated solutions, Microsoft Team System feels good. However, Team System is only a product that lags behind the times for about five years.

BusinessPeople in the world have begun to use Ant and Tomcat released on the Jakarta project. The way of thinking has been highlightedBusinessOperation andITMajor differences in development. If commercial software complies with the same rules as IT development, they will compress the space of competitors while losing their best developers.

Because IT companies need to use external resources in the form of Application Service Provider (ASP), Java and Open Source will become the mainstream of IT. Microsoft's practice will eventually hurt them. ASP business model will lead us into a new era of commercial software development. Industrial strength development techniques, cutting edge technology, and regular exploration of opportunities to improve production efficiency will become the standard. We will see the "fish eat Big Fish" scene, we will see Java eat. NET lunch.

Everyone has seen the article "C # vs. Java: the opposite way of thinking" just published by Malcolm Davis? You also noticed that the Lucene. NET publisher on sourceforge closed the project and went home with their toys? I will talk about the relationship between the two things in Malcolm.

In general ,. NET community participants are always talking about Microsoft's latest and most powerful things: MapPoint Location Server, SQL Server, Longhorn, ASP. NET 2.0, Visual Studio, all products from Redmond (where Microsoft headquarters is located. On the contrary, programmers in the Java Community talk about JBoss, Hibernate, Struts, and Eclipse, none of which come from Silicon Valley.

According to the Malcom article,. NET developers accept tools and services provided by Microsoft. I think this is true to a large extent .. NET developers spend little time developing persistence layers, web application frameworks, or caching solutions ), because Microsoft already provides Microsoft solutions for these problems. But is Microsoft only providing these tools? Why can't JSF, JDO, and NetBeans become the mainstream voices of Java Blog sites? Using ASP. NET and JSF for a detailed comparison, they are not much different, but ASP. NET and Visual Studio are widely used together, while JSF is rarely used and ridiculed. I think Malcom is right. It is indeed because of the long-standing differences in the way of thinking.

Let's look back at the Lucene. NET group: Why did they close open-source projects? Why didn't they continue to contribute their time and energy to this great idea? Maybe the. NET community's response to their work makes them unable to continue! Using google to search for "lucene" on weblogs.asp.net, only 17 results were obtained, and 2570 results were obtained on jroller.com. Lucene has been around for a long time, but Lucene. NET's group of people wrapped up things and started another portal, one of the reasons may be: almost no one pays attention to their work: everyone is busy studying full-text retrieval of SQL Server, this is the solution provided by Microsoft (of course, you need to buy a license for each processor for thousands of dollars ). In the Java World, Lucene, Struts, and Tomcat flourish because they work for a large open-source project, which brings developers enough prestige. When you are engaged in an open-source project, but few people pay attention to it, you may also need to find another motivation. In the Lucene. NET case, money is their motivation, so they closed the project and sold their personal and commercial versions. They may be able to get double the dollar, but I bet there won't be many people talking about seachblackbox.com within a year.

So what is my opinion? Is it true that. NET developers are greedy and do not care about the community? This is not the case. I think the two communities have different drivers :. NET developers stare at Microsoft and care about the solutions provided by Microsoft. If they see good things outside the windows and use them, Microsoft may eventually enter this field, release products or propose solutions, in this way, the previous work is completely rejected. Microsoft is a driver in the. NET community. Java developers looked at Sun's products and language specifications and turned to develop their own tools, frameworks, and applications. The Java Community developers are only allowed to use things released by Sun. This is evidenced by the fact that Struts and JSF are cold. In the Java Community, developers are drivers themselves.

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.