There is nothing more than programming tools than programming tools than programming tools. VC, VB, Delphi, Java ... These dazzling names not only occupy programmers, but also seem to have become a certain belief. However, with the footsteps of the new century, these faith have once again encountered a major challenge. Microsoft, this head is tossing that the judge and hackers have tired and angry lion, vowed to keep the crown on the head, fight all the best, come up with the home. --.NET strategy. As the core development language of .NET, C # is synthesized into the water. The programmers have to make a painful choice, who is following? To find out the answer, you have to make a comparison and prediction. As a senior programmer, the author is in this mason, and the right to throw the jade.
If you leave all non-technical factors, C # is undoubtedly the best programming language in this planet, which concentrates on all the latest achievements on software development and software engineering research. Object-oriented, type security, component technology, automatic memory management, cross-platform exception handling, version control, code security management ... You cannot find all of these features in another language. Although many people noticed, when I rarely, I always think of Java, but C # really is far more. However, the reality is that non-technical factors are often more able to determine the future of a product, especially in the history of computer software, technologically excellent products, such as Os / 2, Mac Os, UNIX, etc., are defeated with Windows. Face. This time, Microsoft's role seems to have become a deceived old landlord from a red hand, if it is a day, that C # This child is not mistaken? It may not be so bad. After all, the thin camel is big, and C # has already submitted a standardized organization. Once it became an international standard, it is impossible to really have the hely heching hero (it is also possible to be Microsoft himself) to transplant Go to Linux and other platforms. In that case, Java can be miserable. Because Java users are mainly developers of network services developers and embedded device software, embedded device software is not a C # to use martial arts, and in terms of network services, C # instant compile and local code Cache scheme than Java virtual machines Have absolute performance advantages. Moreover C # Once becoming a public standard like C , software developers can save both Java license fees, and don't worry that it is Microsoft's slaves, those people who advocate manufacturers may not have What comments. This may exactly what Microsoft is expected.
If C # and Java compete for the competition for future airborne, then C # and traditional General Fast Development Tools - VB, Delphi, etc. will be the white edge of the local channel. Probably the most worse programmer is VB programmer, in Microsoft, VB is like the departure of Clinton, but not only lost all the glory, but also a mess. Think about it, the project written by the VB6 must be converted to the .NET-based code to transfer in VB7, almost unrecognizable. Since VB7 follows the General Language Norm (CLS) established to cater to .NET, almost all the features that can be used only in C , Java and other languages are all incorporated, just grammar and original compatibility. If you are the first time you see your old VB6 project transformation in VB7, you must be careful to be your heart! So, don't tell me that you will retire. Delphi's condition is not where, the original viewing family is a good application and fast, but now look at the latest VS.Net Beta 1, you will feel so familiar, numerous attribute lists, components ... Who makes you poor, even the chief designer can't raise.
In fact, in the programming language, the true hegemony has been C for many years, all operating systems and most of the merchandise software are used as the primary development language in C . Most of Java's programmers are also C enthusiasts, and the success of PHP also has a literary contribution to C grammar. In the field of operating systems, equipment drivers, video games, C will still occupy the main status in a long time, and in the development of the largest application, C # is likely to replace C position. First of all, C # and Java, it is simply moving the Some grammar of C . Therefore, it is easy to get started for many C programmers to learn, and in addition, for newcomers, it is simple to be more than C . Second, Windows is currently a platform for monopoly, and developing Windows applications. Of course, Microsoft's sound cannot be ignored. Most importantly, relative to C , using C # development applications can greatly reduce the development cycle, while using the original C code other than user interface code. However, C # also has weaknesses. First, on a large number of existing Windows platforms, the C # program cannot run because the C # program requires the .NET runtime as the basis, and the .NET runtime will be issued as part of the new generation of Windows (WHISTLER), or in Service Pack's form is submitted to Windows ME and Windows 2000 users. So in the near future, C # will be applied primarily on the server. Second, the components or libraries that C # can use are only a few choices such as .NET runtime, there is no rich third-party software library available, which requires a process, and support for software developers is also important. Third, there are some Successful factors of Java, some are the touting of anti-Microsoft camps, although "Write only once, run everywhere" is just a slogan, but it is already a mature technology. And C #'s advocacy is currently only a well-known Microsoft, and can only run on Windows. In fact, these two languages are not irreplaceable, reason to say, what is the best tool for software developers, what is the best tool. Especially for C users, C # does not bring any new things, because .NET runtime can also be used in C , no absolute reason to change.
In summary, I personally think that in recent years, C # will inevitably rise, becoming the protagonist on the Windows platform, and Java will become an overlord on the UNIX, Linux and other platforms, C will continue to punch in the system software . It is very interesting that the syntax of these languages is extremely close, because Java and C # are developed by C . Other development tools will of course continue their journeys in a considerable time, but in the market share, it will inevitably be impacted.