Some comparisons between J2SE and C # _java

Source: Internet
Author: User
Tags inheritance web services

Recently in learning J2se, after about 20 days, the horse soldier Teacher's j2se, feel this teacher is too humorous, listen to his lectures will not wander, the utilization of time is particularly high. Sincere to the horse soldier teacher point a praise, and then give us to learn this video of the rice teacher point two! There are many beautiful things in the world, and the lack of eyes to find beautiful things! )。

No more nonsense, look at this video, exactly what the content is said. As shown in the following illustration:

May have studied any kind of object-oriented language (I study the c#,c# is imitate Java, and the Java further improvement) person, saw this graph the first feeling, all is these things basically did not have studied, seems only Gui,jdbc is a new dongdong.

In fact, most people think they are the same anyway. Compare them to the bottom!

In terms of grammar, both of them discard the const modification of functions and their parameters in C + +, macro substitution, global variables and global functions, and many other flashy places.

In terms of inheritance, both have adopted a more comprehensible and constructed scheme of single root inheritance and multiple interface implementations. In the source code organization aspect, has proposed the declaration and realizes in one's better logical encapsulation.

In the type unification between the base type and the single inherited object, C # proposed Box/unbox is more efficient than the Java wrapper class.

Component-oriented is undoubtedly the mainstream of contemporary software development. C # is even "obsessed" with component programming, which is a contrast to Java, which debuted 6 years ago-and it is a matter of time. C # implements its first-hand support for component programming through attributes, indexers, delegates, events, operator overloads, features, versions, and so on. Although these can be implemented indirectly through methods, interfaces, or adapters in Java, the history of the software industry tells us that this is a great damage to both programming efficiency and logic design--that high-level languages first face people, not machines. Remove these language-level component support mechanisms. NET platform also provides a package solution for component configuration, operation, management, etc., and the Visual Studio.NET tailored for component development is exciting, which opens up a wide world for C # 's component programming. Java's weaknesses in other technologies are negligible, but Java has an incurable mishap in component programming compared to C #. Especially for developers from C + + and Visual Basic backgrounds, C # has irresistible charm and temptation in this area.

Java support and implementation are commendable across platforms, although the speed of the JVM is still a pain in the neck. C # Although in the bottom of the construction of the portability of the full consideration, but at present there is no mature, tested products. C # seems to be more interested in XML WEB services interoperability across platforms than in Cross-platform programming. But C # has greatly enhanced the technical status of C # through its basic language constructs (CLI) for object-level interoperability support for more than 20 mainstream languages. Cheap interoperability with COM components also earns a lot of points for C #-Maintaining a compatible system is important to the modern software industry and is responsible for the vast majority of developers.

Of course, the comprehensive technical evaluation of two languages is not just a few simple comparisons, the back-end platform (C # for. NET, Java for EE), and the support of its programming framework, the implementation of language-related tools, the existing system base, and so on, have a considerable impact on the development of programming languages. From a purely technical point of view, C # is undoubtedly more competitive than Java. There is no point in arguing about who plagiarized--the development of technology is a process of mutual reference. A purely technical contest will not determine the outcome of this debate-if it is to be showdown. Software industry is happy to see the competition, after the market to temper the technology to better serve us, let us wait!

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.