How do you feel about the future of.NET? \
Why do I feel like it's all PHP and JAVA now
Be like problem: I looked for some article hair some very good share next!
Link address: www.zhihu.com/question/36...
The edgeization of C# is due to an anti-microsoft trend that has emerged in the last decade, which is more of a political movement than a technological one. To be honest, I hate this trend. It's totally over the top.
The essence is still a debate about open source versus closed source, business model competition. While these trends are laughable when viewed on a stretched timeline, they are also a whipping for Microsoft and an objective change in the situation.
Now that C# is open source, the problem is solved.
In this case, it depends on the technicality of the language itself, and excludes previous stereotypes. I think this is the right time to invest and bet on C#. If there is accumulation in the past, now give up is the most regrettable.
Author: anonymous users links: www.zhihu.com/question/36... The copyright belongs to the author. Commercial reprint please contact the author for authorization, non-commercial reprint please indicate the source.
Author: find goo - link: www.zhihu.com/question/36... The copyright belongs to the author. Commercial reprint please contact the author for authorization, non-commercial reprint please indicate the source. \
Okay? Look at the virtual machine.
Java is widely used because of the virtual machine, and applications are limited because of the virtual machine.
Python is widely used because of the virtual machine, and restricted because of the virtual machine.
Based on mono, Unity3D can be programmed into binary operation on c# on ios platform, which suddenly solves the performance problem. Therefore, Unity3D is popular. Coupled with the rise of vr application, the prospect of c# application is promising when everyone is least expected. Most of the time the development language is just a syntax, in the future may develop new virtual machine engine platform, there is new development space.
Unlike C/C ++, the development of Java, Python and C # depends on the virtual machine as a translator.
See the future not to the current state of the future, c # mono is open source, with the change of the consumption habits, the mobile terminal market is much bigger than computer terminal market, the future, 7 billion people, 6 billion people use mobile terminal is not exaggerated, for the user to touch more, estimate in future decades terminal should be flat (large, including TV) + mobile + + vr watches, This kind of new terminal, get the terminal who get the world, and the traditional PC may just be a producer tool.
Now in the mobile terminal 3d market, each language has shortcomings, so the rise of c#.
For example, the platform dedicated Java and OBJ-C can only run on its own platform, while cross-platform is limited by competitors. For example, Java virtual machine cannot enter app Store market and is blocked by the terms. Obj-c/Swift runs well on ios. However, it is not easy to use Android due to compiler constraints and Java platform constraints. If both platforms are developed at the same time, the complexity exceeds 1+1=2, while 3D and VR will further increase the complexity.
C++ should have been the ideal choice, such as cocos2d-x. However, c++, limited by the details of pointer memory management, is particularly slow to develop. Developing in c++ in commercial competition can be costly, especially for mobile markets that require rapid iteration. Because 3D games are more complex than 2D, and VR is more complex than 3D, there is a need for a high-performance, engineered language that can be developed quickly.
Python, Lua limited by static check language, only suitable for miniaturization programming, and performance in 3D /VR such real-time requirements can not keep up, and Python, Lua development tools for software engineering support is not good, n multi-person development is not easy to use software engineering methods and software management, language syntax and C, The same incompatibility with Java will lead to difficult recruitment and high cost, and the language black box is also more suitable for ios coding into binary.
C#, originally had nothing to do with the mobile market, especially after the emergence of java-based android, Microsoft wp failed, c# was considered not to enter the mobile market, but mono's open source c# changed all this, the emergence of Unity3D, let people see the cross-platform c#, Calling 3d,VR platform, which used to be c++ and lua, is very smooth, and the code is easy to write. The progress of c# is the further development of mono open source virtual machine technology, which is suitable for the app store such a demanding environment. Xamarin open source makes people see that c# is a fast iteration when developing mobile platform programs. Implement one kind of code, n platform run. What if you developed a game or software in c# that runs on MAC, Windows,ios,osx, TV, while you developed Java that runs on android? Although it is not a problem for companies like BAT (but the cost increases), it is very attractive for companies that need to occupy the market quickly and make money by iterating products quickly. Big and small bosses are not fools, bosses are not Google researchers who have money to play with technology regardless of the market, but need to be productive, easy to recruit, the market responds well to the development language, rapid iteration of mobile terminal emerging market. The bottleneck to the speed of modern software products is IO, and will be IO in the future, because an endless loop can run n billion times per second, producing one data at a time, and IO storage cannot keep up with this speed. Programs always run faster than IO. When you program in c++, you always end up reading and writing data, but when you call IO, it's as slow as Java or c#. For data analysis, it is recommended to use Python, which supports a large library of tools.
In addition, with the development of the terminal field of the game, some teams also use c# as the app server on the server side for the convenience of development. Mono can run on Linux server, Windows server, mysql,mongodb,redis, You can use the cloud platform base products, using JSON as the transmission protocol, according to the program can go through HTTP channel, you can also customize TCP, as long as the framework design attention, concurrency is not a problem, so that the whole product front and background iteration faster. Language virtual machine technology will only be more and more advanced, hardware performance will only be more and more high, using virtual machine language is to reduce the development cost and improve the development speed trend. Hardware will only get cheaper and cheaper, there is no need to pile c++ like Google and Tencent (only c++ is optional in the 1990s, and then taobao chooses Java), the general application can not reach, even if you can reach, then your whole product is very successful, as long as you have money, these problems are not a problem, Like Facebook's successful PHP development, when PHP performance is not enough, experts can be used to optimize the DEVELOPMENT of PHP virtual machine, the key is not the language, but the market.
Weibo link: weibo.com/1678298567/...
If you still have many questions after reading, then you can take a look at the following article!
This topic is a little self-deprecating, and I started. NET 1.1 start playing. NET, it's been 11 years now, I'm watching. NET grew up and expanded in China, also witnessed in recent years. NET has been criticized by all kinds of, in fact, in the final analysis or China's architect is too few, I mean the real understanding of the architect, a senior architect will not directly attack a language or abandon a language, but from the operating system, server application container level is the analysis of performance, implementation cost and how many pits.
The.net language C# (my favorite) actually went from 1.0 to 6.0 and is now very mature, especially with asynchronous programming support at the language level, which has partially surpassed Java, so why hasn't any company chosen it? From my point of view, there are several reasons.
First of all, Microsoft's IDE is too easy to use, easy to use to basically find a fresh graduate, even if do not know programming, 1-2 days can also write a console program, of course, is simple; But if it's Eclipse, it takes a little bit longer with the environment, but what does that mean? The threshold! The threshold of man! The easier it is to use something, the lower the crowd is, of course, not to say that it is used. NET people suck, but on average, really understand. NET developers relative to understand Java developers to be less, because the other people's IDE to use all kinds of uncomfortable, but also with Notepad++ and java.exe do compilation. As a result, Java engineers often have to know what's going on or it won't work, such as jar packaging. But many.NET programmers probably don't even know how to compile on the command line, and that's the problem.
Secondly, some claim to understand. NET architects feel. NET simple, so they are not willing to give. NET development high wages, which also indirectly led to a lot. NET developers began to migrate to other languages, and the pattern was a vicious circle. At the end of the day, a lot of potential good developers give up. NET, after all, this is the era of money. .NET from my point of view is very suitable to do back-end, so many years of technology accumulation makes. NET has been widely recognized by the community, in fact, understand abroad. NET is still very popular, do not worry about finding a job, so the logic of some domestic companies I feel very strange, even feel magical, anyway I just do not recruit. NET engineer, my company is relatively high, so only up to the Java, Node.js can match our company, I can only say, do not die.
Furthermore, there are not many off-the-shelf architectures that.NET can copy, but really understand. NET senior architects are basically a rare species in China, because these companies have limited level of so-called architects and they use them by themselves. NET can't write good architecture code (I usually like to call them integrators, architects who can't write code or can't write code well), so I end up with Java because there are a lot of architectures that can be copied from Java, many of which are open source, or at least 40 to 50 percent if not. Of course, this is acceptable from the perspective of project risk control, but in fact, senior architects can solve these problems. In foreign countries, many talented architects basically write their own frameworks, which explains why excellent and popular frameworks are mostly written by foreigners. Such as Java Structs, Spring framework,.net Orchard, DNN, ASP.NET Biolerplate and so on.
Finally, Microsoft as. NET dad is naturally to blame, since the president came to power, even more desperately to embrace open source policy, embrace a bunch of non. NET, although it has been rolled out across platforms. NET is.net Core, but in. NET market layout and promotion is not significantly different from the past, to put it bluntly, the performance is right. NET share a indifferent attitude. However, Microsoft has always been a proud company in the industry. It thinks that as long as it wants to push something, it will be successful. Therefore, it never pays too much attention to the market share. However, it didn't work. The failure of Microsoft's mobile phone made Microsoft feel its limited ability, and it seems to be adjusting its strategy recently. In fact, looking back, the cost is very high, the acquisition of Nokia alone cost 8.5 billion yuan.
Almost 2 years, I must admit. NET's share of the Chinese market has been declining, largely due to. NET marketing strategy related, give the industry a low-end programming language illusion, in the early stage of language promotion, there is no mistake in this strategy, easy for users to use and accept, but now 10 years, re-establish. The high tech image of.NET is essential.
Some people may say that I belong to Lao Wang selling melon to boast, LET me give a few real. NET case you will understand, Hu pai pai system background is. NET, concurrency at least a few thousand per second, you know; The core of Stackoverflow is. NET written, website concurrency 3000 per second, database concurrency 8000 per second; Morgan Stanley trading client and protocol is. NET write; NASDAQ's trading system is. NET written, background SQL Server run; Tencent has a lot of back office systems. NET writing, Tencent has even used cross-platform. NET (Mono) for many years, deployed in its TLinux system cluster; Ctrip has a large number of systems. NET, daily dynamic PV is 30 million.
Actions speak louder than words, so I won't say any more, you know.
Why do so many companies choose PHP and JSP instead of.NET? Is there any disadvantage of.NET?
Link address: www.zhihu.com/question/32...
Why is the.NET platform so technologically superior to Java that most large companies still use the latter?
Link address: www.zhihu.com/question/25...