About the two-generation language. c/c++,java/c#

Source: Internet
Author: User
Tags implement requires touch visual studio advantage
C + + This is not what I wrote, I just see feel good, just paste the oh.


Do not think that this topic is sensational, but in the current situation, C + + is required to exit the stage or to say that it is necessary to upgrade.
I think that in the next year or two, as one of the criteria for programmer rating, C + + (whether MFC or BCB) will give way to three programming languages, 1.sun Java2.windows platform C#3.xml
Why, I think the biggest reason is that the current application is being passed from a stand-alone operating system to an internet-based platform.
We used to develop applications that relied on the platform's functional invocation, MFC,BCB. And now the hottest Internet programming is the last thing to care about is the invocation of a certain platform, such as Business-to-business e-business, that requires integration of different platforms, If I were a programmer, my most care was how to achieve business logic.
Rather than communication and management between the various platforms. So what we need most is a language unrelated to the various platform calls, which focus on the design of the program logic and not on the platform's invocation. And we are familiar with C + + but it is not designed for this (hehe this can not blame C + + Who knows what the internet is like in the 70 's? The original design of C/s was designed to design UNIX to produce a highly efficient and inefficient language between the Assembly and the high-level languages. He is more concerned with the physical structure of the system than any other advanced language, For example, it has always been a denigrating. Pointers are powerful in that they should involve the management of the system's physical memory. He can make a semi-transparent state between the programmer and the system. But this translucent state gives the pointer more instability.
There is no advantage to C + + in programming for the Internet. Cross-platform e-business software is most afraid of taking into account the difference between the various platforms of the system call, the most fear from time to time due to memory leaks and crash.c/c++ Advantage here has become a disadvantage. Even if you are developing a solution based on Windows DNA on a Windows platform
Use the most or VB do DCOM instead of VC ATL do DCOM, because of C + + although efficient but too easy
Error, if not very careful to free memory NT will soon be under-resourced.
Java is the first to see this, he used the JVM to achieve platform-independent memory recovery to achieve a stable and robust. But quite a few C + + programmers complain that Java is too slow. Indeed even the java2 speed is still a big problem. I used to be a C + + A staunch supporter fights with Java programmers in many forums. But I've come to realize that Java's speed problem is often a minor flaw in the face of an internet platform rather than a particular operating system. We can imagine that an E-commerce site would use the PC we have on hand to do the server, They are not Sun e1000 is IBM's risc6000. On this platform Java this speed problem is only a peice of cake. Programmers only need to focus on programming with business logic without having to worry about whether the array is out of bounds, Whether or not the object memory is freed does not need to be concerned about whether UNIX and Windows system calls are different.
Microsoft's C # can be said to be a Java-C + + hybrid, he can reclaim memory, can be platform-independent. But
He can also implement some functions that Java does not have, such as in the Tagged program section with the pointer to manage the memory, you can implement the operator overload and so on. Why do I think maybe C # also has a certain task for operating system development, such as WinForm. He's basically thinking like Java, But the method is not the same. He doesn't interpret the intermediate code through the JVM, it's a bar. The source code is compiled into P code and executed by the CLS Library and JIT on the platform in time to compile the local code to 100%. His PE code is platform-independent, but the CLS and JIT are designed on different platforms. So C # Platform independence is somewhat similar to C + + porting on different platforms making C # faster than Java. and Microsoft has also promised that CLS and JIT can be directed not only to C # but also to any language such as Pascal,smaltalk, Basic therefore, it is possible that all programming languages can be platform independent in the future (MS is really poisonous, all languages are platform-independent Java and what advantages it is said that MS is developing based on Pascal Smaltalk asp+).
XML Many people may think that the language similar to HTML and c/c++,java,c# is completely out of the language of a grade. It's not. We know whether it's C # Or Java is through the unified stratigraphic calculation to achieve platform-independent. That has to pay a little bit for performance. XML, however, can implement calls between different languages. For example, a network occupies Java with a bean to achieve a shipping function, another site with DCOM implementation of a warehousing function. If the site needs to be business-to-business, the usual way is to write the conversion program between them. XML uses markup language to describe its own excuse features. Both ends are invoked by parsing XML literals without any intermediate conversion programs
As long as an XML text can implement the communication between Bean and DCOM (to be clear about the mechanism, a lot of XML concepts are needed if you are interested in msdn.microsoft.com/xml or www.s3c.org to see it). At present, the most core technology soap in Ms. NET is the far process invocation that is completely xml-based.
The introduction of so many may be a bit off track, in fact, I would like to say that the 21st century programmers should be from the traditional approach to the operating system to learn a little bit about how to program the Internet platform technology and concepts. Don't be in the fearless kind of C + + Tools good and so on the place to argue. I can't think of a year or two, whether it's BCB or MFC,
At that time to argue is not BCB good or MFC good but C # good or Java good. As for XML, it is that no matter how much the world's big IT companies, including INTEL,HP, are struggling to study, no learning may be eliminated. may be reduced to the present status of the compendium can be seen in some system-sensitive places.
If it is a beginner of programming language then I suggest learning Java at the same time to focus on C #, they first than C/s simple without complex macros, pointers, touch version, etc. let people touch the concept of the mind. and is completely object-oriented, more than C/s + +-oriented objects clearly more studious. (I recommend the current learning Java, after all, C # has not yet released, and just released the beta version of the compiler requires a high level of scare needs to Win2000 ADV Server does not have 128M of memory, do not want to run. Anyway, there's no difference between C # and Java. Learn Java future C # will be at your fingertips)
The value of learning MFC is a little, but not too big, for the current programmers in Windows. You can at least familiarize yourself with the internal mechanism of Windows. But I recommend that you focus on C # Future Windows.NET are based on C # instead of MFC. and C # More than MFC to implement a similar Windows desktop application C # development speed is two to three times times MFC and almost invisible loss of performance. VC in Visual Studio 7.0 will be a secondary development tool The main development tool is C # and vb7.0. As for Borland, I guess it's impossible not to follow Ms. At least on the Windows platform. There's probably a C # next year. Builder out as Borland's flagship product instead of C++builder. Say a joke wenny might soon turn this place into a www.c#help.net.



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.