The World Cup is in full swing. Fans and fake fans are clamoring and have a great time. Some technical communities do not stop talking. Please note that the discussion is not a battle. Because the topic is too eye-catching, I have to read several articles on the invitation month, and of course there are some replies. I have noticed that more than 70% of replies are not closely related to the technology itself, but the number of replies is quite large.
I don't want to be a certain school or a certain school here, nor do I want to ride the wall in a fair fashion. I just want to talk about some of my feelings.
I. Attitude Towards speaking.
In essence, most of us are technically related, or most of us are programmers. We can basically be our peers. Why are we so keen to comment on others? It is ancient, but there is also a saying: this is the same root, it is too urgent to know! Is it necessary for us to place a big hat on a parade like the Cultural Revolution? Our society is open, and the public's tolerance is also improved. It is reasonable to ridicule the two sentences. The most terrible thing is to say a word to everyone, regardless of the truth! Q: Do we say this to our family, our colleagues, and our business partners?
It may be said that the author has no learning skills and has no mistakes. Then I would like to ask: who is correct? Who knows things in the same way? I believe that readers can only think about this resolution before commenting. Writing technical articles is different from other articles. The most basic thing about writing technical articles is to be rigorous. Taking the test as an example, one or two cases cannot prove that an original design is incorrect or there are performance bottlenecks. The test environment is too demanding.
■ For example, in the windows operating system, only the windows system has the Personal Edition/Server Edition, The Personal Edition also has win2000/wwinxp/vista/win7, and the server has the win2000/win2003/win2008 and so on, linux/unix, Solaris, etc.
■ The development UI environment includes vistal studio 2003/2005/2008/2010, Elipse 3.X/ Netbeans 6. X, and the basic running environment CLR/JRE.
■ Machine configurations used by developers, such as CPU, memory, and hard disk
■ Test other scalar interference conditions. For example, other running programs.
■ Test whether the tools used are completely fair.
■ Repeated sampling and discretization requirements for tests.
■ Real simulation of the complete running environment.
■ Concurrent testing.
..................
In this sense, individuals cannot complete industrial tests in the true sense, and the conclusion is not so fair. The principle is very simple. Individuals generally do not buy 30 (the minimum set number of large sample capacities in statistics, which is also regarded as 24 by theory and paid by month .) Intel and 30 different AMD processors of different frequencies are used for a performance test. (Unless you are rich and have enough time) for example, you may not know which types of CPU is optimized by the Framework of a specific version.
Therefore, a general technical conclusion should be:An incomplete and absolute conclusion drawn from the incomplete tests of incomplete samples under specific conditions. It may be biased or even totally incorrect. Therefore, the purpose of our discussion is not to draw an absolutely correct or perfect conclusion, but to deepen the understanding of each of us in the discussion. Some people say that the speaker's most important thing is not eloquence, but the depth of thinking. I can also understand that the voices of those who are not loud are correct, and those who are not supporters are wrong. As the saying goes, the argument is not clear.We only hope that each of us will deepen our understanding and gain some benefits. This is a kind of school attitude, and has nothing to do with age and social status.
2. view the problem.
I think most of us should admit that Microsoft is an innovative and energetic industry-leading IT company, while SUN (already owned by Oralce) is also an excellent platform solution provider. This has nothing to do with c #/java. So why are so many people saying that Microsoft's. net technology is not suitable for large-scale enterprise applications or high-load, high-concurrency distributed applications?
I think there may be several background information:
1. Market Strategy. Microsoft is a little shaken. What a huge production line is the operating system, especially PC, office system, database, development language, enterprise collaboration, and business intelligence. Sun needs to be lower, giving the impression that it is a professional enterprise-level application solution provider, not fancy.
2. user experience. Microsoft's money is everywhere, so it's so annoying that even thousands of operating systems will sell well. Because of the large number of users, there are also a lot of followers. In a sun/Oracle project, millions of dollars in revenue are included. After a long period of time, it is gradually agreed that microsoft products are for people and entertainment, while SUN truly provides enterprise applications.
3. The most important thing is that Microsoft is not open-source, but sun is open-source. Because it is not open-source, users are worried that, in case of anything that day, we are not subject to a company? The black-screen events that occurred a while ago have even intensified the panic attitude of large and small enterprises, just as people worried about whether a bicycle would have a traffic accident every day. It is also strange to say that from the perspective of distance learning, the probability of cycling accidents is not 0, but hundreds of millions of people do not ride bicycles. In fact, it is the source. Small enterprises and users do not have the strength to study and optimize it. At most, they can satisfy some curious psychology and feel more steadfast.
4. Cost. All MS is commercial software, which costs money. This is a market rule. SUN's solution also has to spend more money. Otherwise, it does not need to sell itself to Oracle because it must survive first. Even better, leading technologies sometimes have to bow their heads in front of the market. When you buy things, do you think millions of things are more reliable than tens of thousands of things? It is like buying clothes. Sometimes, price is a symbol of face, whether or not it fits well.
A little too far away, so in these circumstances, C # is not a good development language? What is the impact of its performance on its own strengths and weaknesses?
Let alone the real tests here, because I cannot perform a comprehensive test. In addition to the test conditions, I have a poor understanding of c. Select c # as the platform and. net platform. So why (or not). net/c #? I want to consider several main strategies of Project Management: 1. Political risks; 2. migration costs of old platforms; 3. Market Operation of projects. 4. X factors. There are several articles available for reference:
Http://www.cnblogs.com/haoxiaobo/archive/2010/06/01/1748966.html
Among them, the proportion of technical platforms is relatively small. There are some reasons:
■ Not the best development language and platform is adopted by nature.
■ On the whole, there is no 10 thousand unfavorable development environment that can solve all application scenarios, even if the technical solution is perfect, other factors such as the project schedule, old platform handover, and cost may also complicate the problem.
■ Developers' cognition and coding ideas will also affect development technology. In other words, even tools with good levels can be fully utilized. The level is relatively weak, and even a good tool will lead to poor overall project.
■ The customer's application scenarios are different. For example, the performance requirements for hundreds of thousands of visits per day are not that harsh.
If there is no accepted c #/.. net platform application solution. In other words, C #/is not selected #/. net as a solution, it may be that all aspects of the comprehensive factors are not fully available, not necessarily purely technical perspective. Of course, it is also related to. net's advertising strategy and market positioning.
Even from a purely technical point of view, as long as the performance gap does not affect the customer's feeling, the hardware is generally used to improve. This is not to say that hardware is omnipotent. Sometimes excellent databases and architectures are crucial. Many people may feel that:Performance Optimization with full effort is dragged to death by a poor select statement.! The technology in the project can be divided into two categories:One is the development technology that implements all business functions. One is the management technology that ensures successful software development.Maybe the applications developed by two or three people do not have high management costs. However, as the scale of applications increases, the management costs of project development teams with more than 30 people have increased dramatically, especially those other than technology.
So what technology is used in the project is sometimes not to check whether the technical platform is excellent, but to get stuck in a certain part of the project.
Some people say that technology-based management technology is a great tragedy. People who do not fully understand technology are considered to be technical management technologies, probably between the two.
Teacher, evangelism and teaching. My three-year-old daughter often gave me some insights about my life. Sometimes, we have to watch for our own peace of mind. This is my learning attitude. In this article, I encourage myself to quit.
I hesitated several times and decided to publish this article.
All program languages series:
Http://www.cnblogs.com/downmoon/category/226146.html