C #, a new tool for programmers

Source: Internet
Author: User
Tags continue exception handling web services advantage linux
Program | Programmers there is nothing in the world that affects programmers more than programming tools. VC, VB, DELPHI, JAVA ... These dazzling names not only occupy the lives of programmers, but also seem to have become some kind of faith. Yet, with the footsteps of the new century, these beliefs have once again faced major challenges. Microsoft, a lion who was tired and angry by judges and hackers, vowed to keep the crown on its head, to do his best, and to come up with housekeeping skills ——. NET strategy. As. NET's core development language, C # naturally surfaced. Programmers are also forced to make a painful choice, followed by whom? To find the answer, you have to make comparisons and predictions. The author as a senior programmer, bold in this raving, right to make a point.

If you put aside all the non technical factors, C # is undoubtedly the best programming language on the planet ever, and it concentrates almost all the latest results on software development and software engineering research. Object-oriented, type-safe, component technology, automatic memory management, cross-platform exception handling, versioning, code security management ... You cannot find all of these features in another language. Although, as many people have noticed, when I list these features, I always think of Java, but C # does go further. But the reality is that the non technical factors tend to determine the future of a product, especially in the history of computer software, technologically superior products such as OS/2, Mac OS, Unix and so on, have been defeated by windows that beautiful cheek. This time, the role of Microsoft as if from a unarmed revolutionaries into a bully old landlord, if it is really going to change, then C # This child is not the wrong tyre? It may not be so bad, after all, the skinny camel is bigger than the horse, and C # has been submitted to a standardized organization, once the international standard, it is not true that there is a preface warrior (also may be Microsoft himself) to the Linux and other platforms. In that case, Java would be miserable. Because Java users are primarily Web services developers and embedded device software developers, embedded device software is not a useful C #, and in the network services, C # just-in-time compilation and local code cache solution than the Java Virtual machine has an absolute performance advantage. What's more, C # once becomes a common standard like C + +, software developers can save Java license fees, and do not have to worry about becoming a slave to Microsoft, those who are anti-Microsoft and advocates independent people may not have any opinion. That may be what Microsoft is looking for.

If the contention between C # and JAVA in the field of Internet services is likened to the battle for the future supremacy of the air, then the battle between C # and the traditional general-purpose rapid development tool--VB, Delphi, etc. will be hand-to-hand. Perhaps the most miserable programmer is VB programmer, in Microsoft, VB, like the outgoing Clinton, not only lost all the glory, and chaos. Think about it, VB6 write the project must be converted to the conversion tool to be based on the code in the VB7 can be transferred, almost unrecognizable. Because VB7 follows the common Language Specification (CLS) established to cater to. NET, it adds almost all the features that are available only in languages such as C + +, Java, and so on, except that the syntax is compatible with the original. If this is the first time you've seen your old VB6 project convert code in VB7, be sure to watch your heart! So try, don't tell me you're going to retire. Delphi situation is not good where to go, the original skill is to do the application to quickly and well, but now look at the latest vs.net Beta 1, you will feel so familiar with the list of many properties, components ... Who makes you poor, even the chief designer can't keep.

In fact, the real overlord in the programming language has been C + + for many years, all the operating system and the vast majority of commodity software are using C + + as the main development language. Java programmers are also the majority of C + + enthusiasts, PHP's success also has a similar syntax in C + + credit. In the operating system, device drivers, video games and other areas, C + + for a long time will still occupy the main position, and in the largest number of application development, C # is likely to replace C + + location. First of all, C # and Java, just like a copy of C + + part of the syntax, so for a large number of C + + programmers to learn easy to get started, in addition, for beginners, more simple than C + +. Second, Windows is currently a dominant platform, while the development of Windows applications, of course, Microsoft's voice can not be ignored. Most importantly, in contrast to C + +, the development of application software with C # can greatly shorten the development cycle, and can take advantage of the original C + + code other than the user interface code.

However, C # also has weaknesses. First, on a large number of existing Windows platforms, C # programs are still not running because C # programs need to. NET runtime as the basis, and. The NET runtime will be released as part of a new generation of Windows (Whistler) or submitted to Windows Me and Windows 2000 users in the form of a service pack. So in the near future, C # will be used primarily on the server. Second, C # can use a component or library with only a few options, such as the. NET runtime, and there is no rich third-party software library available, which requires a process, and the support of software developers is also important. Third, some of Java's success factors are anti-Microsoft camp hype, although "write only once, running everywhere" is only a slogan, but after all, is a mature technology. And the advocates of C # are currently only Microsoft with a bad name, and can only run on Windows. In fact, these two languages are not irreplaceable, rational say, for software developers, what is the most familiar what is the best tool. Especially for C + + users, C # doesn't bring anything new, because. NET runtime in C + + can also be used, there is no absolute reason to change.

To sum up, I personally think that in recent years, C # will inevitably rise in the Windows platform to become the protagonist, and Java will be on UNIX, Linux and other platforms become Overlord, C + + will continue to be in the System software field. Interestingly, the syntax of these languages is extremely close, because both Java and C # are developed from C + +. Other development tools, of course, will continue their journey for quite some time, but will inevitably be hit by market share.



Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.