Why is Java?
In this series I will compare C # and java--languages in detail, and not on any Java platform. In fact, this does not want to emphasize this point, because there is no comparability between the language and the platform. Because C # is clearly a language, Java should also be the language type, depending on type inference. Therefore, I do not want to join the "Language" in the title of such a long word, cumbersome ah!
So why do I choose Java to compare with C #, not other languages? There are many reasons, mainly the following points.
First, the Java language is hot enough. Look at the Tiobe language rankings, the Java language is infinite, starting from 2002 almost the full lead. If I say something bad about the language of such a wide audience (well, it's a lot of bad stuff), then there must be a lot of people responding. For example, in fact, the Delphi language has been at the same level as Java in my opinion after the stalled development. But I do not want to say Delphi Sucks, because even so, may not have much influence-certainly, perhaps in the grand innovation courtyard will be opposite.
Second, the Java language is really bad. Well, I admit, it was significant at the beginning of the birth, simplifying programming difficulties and greatly increasing productivity. However, because of its many years of complacency, it has been completely behind the development of today's era. Using the current standard to measure the Java language, you will find how it can slow down the programmer's productivity and become the shortest plank on the Java platform. As a "controversial topic" about language comparisons, if there is not one side of "overall backwardness", it must be caught in the war of words between the fans of both sides-doping a lot of subjective content of the discussion, it really makes no sense.
And there are not many people who know how bad the Java language is. There may be a lot of friends who do feel the Java language is "verbose" when it is in use, but the bad things about the Java language can't be explained by the lack of a careful understanding of the development of other languages. But most people, really, are the majority, they always think Java is a good, even very good language. Why? Look at the charts. But I want to say that the list can only show its "hot" degree, and does not represent how good the Java language. The so-called "bad currency to expel good money", my series of articles is also want to tell the Java language of the program staff, what you have lost.
More importantly, it is that Java is bad, but there are solutions. If there is no solution, then the value of the discussion will be greatly reduced, because the discussion for a long time we can only maintain the status quo. For example, C language productivity is high? Of course, there are many high-level languages today. However, the C language is immortal because we must have a language responsible for the underlying development, which requires it to correspond as much as possible to the von Neumann structure, rather than to have too high an abstraction (because it is difficult to generate the most efficient machine code at a high level). Therefore, I will not discuss the features of C language, I will choose the Java language. The solution, of course, is to discard Java and replace it with a higher-productivity language.
Finally, well, actually, I'm familiar with the Java language. My "Career programmer" career is starting from Java (before is a little bit), the university programming class is also Java (Final exam is the class's highest 106 points, full marks are 100+10 points), but also to do a lot of projects. I remember the last Java project was 2004 involved in the development of the Customs approval workflow, at that time looked at the reference book is "Java Development without EJB." But then I went into the. NET world, and the most common language was C #. C # from 2.0 suddenly exerting force, instant Java language to throw off several roads, and 3.0 of the improvement is called Classic. It's not that I don't want to go back to the Java platform, I really don't want to waste my life in the Java language.
Well, I really hope that a lot of friends in the criticism of a thing, first of all, have enough understanding of the status quo. Otherwise, it's very boring.
And why is C #?
Okay, so why do you want to get out of C #? Just say Java is not on the line. In fact, I also have several reasons:
First of all, my blog is still the main focus. NET technology, to see most of my article friends believe that the use of the C # language. Although my series of articles is to speak Java rotten, perhaps most "gimmick" is to explain the gap between C # and Java language. Therefore, I will also try to reflect the beauty of C # in the article, will show a lot of C # programming mode. These patterns are not just for the sake of attractiveness, but are absolutely useful and commonly used in the production process. I hope that this series of articles, in addition to encouraging others to get rid of the burden of the Java language, can bring the same value to C # programmers.
Second, I want to change the way many friends think of C #. I think most friends should understand that C # language is more than Java, but you may not understand the current development of C # and the real gap between C # and Java. You might think that C #, though more than Java, is just a few syntactic sugars, although it may indeed be higher than Java productivity, but the advantages are not obvious. What I want to tell you is that C # is different from Java, it is not so common, it is condensed Anders Hejlsberg The genius of the ideal, is to improve the productivity of great significance.
And if you want to compare it to the Java language, is there a better match than C #? I can't think of a good fit. Because, according to the Tiobe language rankings, only C # and Java are similar in the top-ranked language. This similarity manifests itself in many places, the most important of which is that the platform on which they are based is almost identical to the type of application. C # and the Java language are also entangled, believing that the collision between the two will bring more attention than other situations. Also, some friends still think that C # is just copying Java. But what I'm trying to say here is, okay, I admit that C # is very similar to Java in the first place (but there are many differences), but since C # 1.0 was born, only Java reference to the C # features, has been nearly 10 years. You can remember this sentence, I will prove it to you. :)
Of course, I am also familiar with C #, I think this will not have to explain more.