This topic is a bit self-deprecating. I started playing. NET from. NET 1.1, and it has been 11 years now. I have watched. NET grow up and grow in China, and I have also witnessed. NET being despised in recent years. In fact, in the end, there are too few architects in China. I mean, for architects who truly understand the industry, a senior architect will not directly attack or despise a language, but will learn from the operating system, The server application container level is to analyze performance, implementation costs, and how many pits there are.
I actually talked with many customers, IT managers, senior software engineers, and architects, so I have a certain understanding of the facts. First of all, the atmosphere in China's technology circle is very impetuous. To what extent it is, it is still an old habit of China people. They like to follow suit and swarm together. When others use node.js, we use node.js; when others use docker, we also use docker; when others use CloudFoundry, we also use CloudFoundry. In short, other people's things are more advanced than ours, so we must keep up. Take docker for example. In fact, many traditional companies don't use it at all, and several major Internet companies have a special liking for it. Node.js I admit that it has good performance, but it is a weak language programming after all. In fact, the code maintenance cost is not low. Moreover, you need to hire a very senior JavaScript developer, and your salary will naturally rise. In fact, many so-called architects and IT managers do not consider migration costs and operation and maintenance costs, but how to find something to do so that they can reflect their value. I sum it up to four words: "out of nothing".
The C#language in. NET (my favorite) has actually developed from 1.0 to 6.0 and is now very mature. In particular, the language level asynchronous programming support has partially surpassed Java. So why are no companies willing to choose it? From my perspective, there are several reasons.
First of all, Microsoft's IDE is so easy to use. If you want to use it, you can basically find a freshman. Even if you don't know how to program, you can write a console program in 1-2 days. Of course, it's easy; but if it's Eclipse, it will take a while to set up the environment, but do you know what this means? Threshold! The threshold of people! The easier it is to use, the lower the number of people will be. Of course, it is not that people who use. NET are bad, but that on average, there are fewer developers who really understand. NET than developers who understand Java, because other people's IDEs are uncomfortable to use, so it's better to use Notepad++ and Java.exe for compilation. This leads to Java engineers often having to know why, otherwise it can't work, such as jar packaging. But many. NET programmers don't even know how to compile programs using the command line, which is the problem.
Secondly, some architects who claim to understand. NET think that. NET is simple, so they are unwilling to pay high wages for. NET development. This has indirectly led many. NET developers to switch to other languages. In fact, this model is a vicious cycle. The end result is that a large number of potentially good developers have given up. NET. After all, these are the money-oriented era. From my perspective, NET is very suitable for back-end. With so many years of technology accumulation,. NET has been widely recognized by the community. In fact, it is still very popular to understand. NET abroad, and there is no need to worry about finding a job. Therefore, the logic of some domestic companies is very strange and even magical. Anyway, I just don't hire. NET engineers. My company is relatively high-level, so only Java and Node.js from Gundam are worthy of our company. I can only say that it's hard to die.
Moreover, there are not many ready-made architectures that can be copied from. NET, and senior architects who truly understand. NET are basically a rare species in China, because the so-called architects of these companies are limited in level, and they cannot write good architectural code using. NET themselves (I usually like to call them integrators, that is, architects who can't write code or can't write code well.) In the end, I chose Java because Java has a lot of architectures to copy, and many of them are open source. Even if I don't, I can at least copy them for 4- 50%. Of course, this is acceptable from the perspective of controllable project risks, but in fact, senior architects can solve these problems. Many outstanding architects abroad basically write their own frameworks, which explains why excellent and popular frameworks are basically written by foreigners, such as Java's Structures, Spring framework,. NET Orchard, DNN, http://ASP.NET Biolerplate, etc.
In the end, Microsoft, as the father of. NET, is naturally to blame. Since CEO Na came to power, it has been desperately promoting the policy of embracing open source and embracing a bunch of non-. NET languages. Although it launched cross-platform. NET, i.e... NET Core, there is no obvious difference in the layout and promotion of. NET market from the past. To put it bluntly, it shows an indifferent attitude towards. NET share. However, Microsoft has always been a relatively proud company in the industry. It feels that as long as it wants to push something, it will definitely succeed. Therefore, it has never paid much attention to market share. He feels that it doesn't need to care about it at all. Sooner or later, it will be Microsoft's. However, the failure of Microsoft's mobile phones has made Microsoft feel that its capabilities are limited. Recently, it seems to be adjusting its strategy. In fact, in retrospect, the cost is very high. The acquisition of Nokia alone cost 8.5 billion yuan. I can only admire Microsoft for being a local tyrant. Rich and willful, hehe.
I must admit that. NET's market share in China has been declining in the past two years, which is largely related to. NET's marketing strategy, giving the industry the illusion of a mid-to-low-end programming language. In the early days of language promotion, there were no mistakes in this strategy and it was easy for users to start and accept it. However, it has been 10 years now, and it is necessary to re-establish. NET's image as a high-tech technology.
Some people may want to say that I am an old man selling melons and bragging. Let me give you a few real. NET cases and you will understand. The background of the Shanghai trading system is written by. NET, and the concurrency is at least thousands of seconds. Everyone understands this;Stackoverflow core is written by. NET, with the website being concurrent 3000 seconds, and the database being concurrent 8000 seconds; the Morgan Stanley trading client and protocol are written by. NET;NASDAQ's trading system is written by. NET, and SQL Server is running in the background; Tencent has a large number of back-end systems written in. NET. Tencent has even used cross-platform. NET (Mono) for many years and deployed it in its TLinux system cluster; Ctrip has a large number of systems written in. NET, with an average daily dynamic PV of 30 million.
Facts speak louder than words, so I won't say much, you understand.