Nothing in the world is more appealing to programmers than programming tools. VC, VB, DELPHI, JAVA ...... These dazzling names not only occupy the lives of programmers, but also seem to have become a certain belief. However, with the pace of the new century, these beliefs have once again encountered major challenges. Microsoft, the tired and angry lion who was tossed by judges and hackers, vowed to keep the crown on its head and tried their best to come up with the. NET strategy. As the core development language of. NET, C # naturally emerges. Programmers have to make a painful choice. Who is behind? To find out the answer, you have to make a comparison and prediction. As a Senior Programmer, I have the courage to speak here and use the power to inspire others.
Aside from all non-technical aspects, C # is undoubtedly the best programming language ever on this planet, and it has concentrated almost all the latest results on software development and software engineering research. Object-oriented, type security, component technology, automatic memory management, cross-platform Exception Handling, version control, and code security management ...... You cannot find all these features in another language. Although, as many people have noticed, I always think of JAVA when listing the above features, but C # does go further. However, in reality, non-technical factors often determine the future of a product, especially in the history of computer software, such as OS/2, Mac OS, and UNIX, all were defeated by the pretty Windows face. This time, the role of Microsoft seems to have changed from an empty-handed revolutionary to an old landlord. If it is necessary to change the sky, then C # isn't the child wrong? The situation may not be so bad. After all, thin camels are larger than horses, and C # has been submitted to a Standardization Organization. Once it becomes an international standard, i'm not sure which of the itch heroes (or maybe Microsoft itself) can be transplanted to Linux and other platforms. In that case, JAVA will be miserable. Because JAVA users are mainly Web Service developers and embedded device software developers, embedded device software is not the use of C #, and in terms of network services, C #'s instant compilation and local code Cache solutions have absolute performance advantages over Java virtual machines. Moreover, once C # becomes a public standard like C ++, software developers can save JAVA license fees and do not have to worry about being a slave to Microsoft, those who oppose Microsoft and those who advocate independent vendors may not have any opinions. This may be exactly what Microsoft expects.
If we compare the competition for C # and JAVA in the field of network services to the competition for future empty power, then C # will compete with the traditional universal rapid development tools-VB, DELPHI, and so on. Probably the worst programmer is the VB programmer. at Microsoft, VB is like Clinton, who leaves office. Not only has it lost all its glory, but it is also plagued by chaos. Think about it. A project written in VB6 must be converted to. NET-based code by a conversion tool before it can be transferred in vb7. VB7 follows suit. NET and the general language specification (CLS), almost all the features that can be used only in C ++, JAVA and other languages are added, but the syntax is compatible with the original. If you see the converted code of your old VB6 project in VB7 for the first time, be careful with your heart! So, try again. Don't tell me you're about to retire. The status of DELPHI is far from good. The original housekeeping skill is to start applications quickly and well. Now let's look at the latest. NET Beta 1, you will feel so familiar with the numerous attribute lists, components ...... Who makes you poor? You can't even raise your head designer.
In fact, the true overlord in programming languages has been C ++ for many years. All operating systems and the vast majority of commodity software use C ++ as the main development language. The vast majority of JAVA programmers are also C ++ enthusiasts. The success of PHP also benefits from the similar C ++ syntax. In the operating system, device drivers, video games, and other fields, C ++ will still play a major role in a long time, and in the development of the largest number of application software, C # is likely to replace C ++. First of all, C #, like JAVA, is simply copying part of the C ++ syntax. Therefore, it is easy to learn from a large number of C ++ programmers. In addition, for beginners, it is simpler than C ++. Secondly, Windows is currently a dominant platform, and the voice of Microsoft cannot be ignored when developing Windows applications. Most importantly, compared with C ++, using C # To develop application software can greatly shorten the development cycle and utilize the C ++ Code except the user interface code.
However, C # also has vulnerabilities. First, on a large number of existing Windows platforms, the C # program cannot run, because the C # program needs. NET Runtime Library as the basis, and. NET Runtime Library will be released as part of the next-generation Windows (Whistler), or submitted to Windows Me and Windows 2000 users in the form of Service Pack. So in the near future, C # will be mainly applied on servers. Second, C # can only use components or libraries. NET Runtime Library and so on, there is no rich third-party software library available, this requires a process, and the support of various software developers is also very important. Third, some of the factors for JAVA's success are the comments from the anti-Microsoft camp. Although "write only once and run everywhere" is just a slogan, it is already a mature technology. C # has only a reputation for Microsoft and can only run on Windows. In fact, these two languages are not irreplaceable. Rationally speaking, for software developers, what is best used is the best tool. Especially for C ++ users, C # does not bring any new things, because. NET runtime libraries can also be used in C ++, and there is no absolute reason to change.
To sum up, I personally think that in recent years, C # will inevitably rise and become the main character on the Windows platform, while JAVA will become the dominant character on UNIX, Linux and other platforms, C ++ will continue to make great achievements in the system software field. It is very interesting that the syntax of these languages is extremely close, because JAVA and C # are developed from C ++. Other development tools will certainly continue their journey for a long time, but the market share will inevitably be impacted.