Kotlin recent fire, in the Google IO conference Kotlin announced that Kotlin will become the official Android development language, Kotlin such a JVM on the new * (actually from the birth to now has 5 years of history) language. Finally appeared in the Programmer's field of vision, become a mature popular language.
For most C # programmers, like me for a year. NET platform for developers, most of the time is often the Java community and the various languages on the JVM platform, including the development of Java itself is holding a sidelines attitude. We've seen the Java LAMDA feature that we've been using for a long while, and finally started in 15 awaited. The impact of the various explosions in the Scala community and the final attribution to the minority. Heard of Oracle and Google in Java in various sizes of lawsuits.
While the trace source J # and Java are different implementations of the same set of standards, the final language of C # and Java, which is based on the virtual machine instruction set, has evolved into two large camps in programming languages. Java's JVM camp is the first, but C # is represented. NET camp is still in many languages occupy a place. And the two camps rarely cross the door (for technology stacks). The reasons are various, for. NET programmers, the reason why they seldom switch to Java can be summed up as:
1. Two platforms are server Side languages, positioning overlap. One door is enough. Learning a Java (though it's easy to get started) is better than studying a set of client languages (Js).
2.c# programmers are primarily engaged in Windows development, with virtually no cross-platform requirements. and the C # Development of Windows applications easy to get started is a family of products, natural heart to hand.
3.c# 's language is the Microsoft family to decide, commercial development, in language features will always feel better than Java to use more fancy some. So I always feel uncomfortable migrating to Java.
4. Although the Java community is active, good community products are essential. NET porting, no hard requirements to migrate to Java
5. Once the product has been developed, switching from C # to Java basically has to be copied again, equivalent to push to redo, there is no progressive transfer of the argument. So it's not good to get on the boat.
Say so many reasons, for a C # developer, the third reason should be the most grounded gas why do not learn Java reasons--programming language is the sword in my hands, use the habit of using the natural use of other languages, not to mention the superiority.
As a developer, the development of language +ide is his weapon, and the community ecology and class library is his sword-cutting skill. Use a handy sword to play the most skillful martial Arts. The famous sword with the sword spectrum, the name knife with the skill. This is the most normal thing.
However, the advent of Kotlin, let me see such a break the boundaries of the opportunity
To talk about the origin of Kotlin, that really is born of a noble, develop C #, will know Reshaper. Development of Java, nor do not know Intelij. And these two Ides, are all from JetBrains this company. 2012 JetBrains not satisfied with the production of the IDE only, look at the beginning to make their own language. 5 years in the past, Kotlin has reached 1.1.
So what are the characteristics of this language? Did he solve the pain points of the same platform Java?
- To null Reference exception said no
- The type elimination of generics says no
- Function-class citizen, higher-order function
- No longer enforces exception checking
- Originally born with a property Getter Setter
Programmers familiar with C # will find that many of the ideas here are actually different from C # and Java. That is, the pain point of C # programmers when migrating to Java (C # is strictly not a null safe language, C#8 's staic null Checking is called null safe. Null safe does not explain here).
Without these pain points, learning kotlin to become smoother and more receptive. In fact, it is always felt that C # language features developed faster than Java this feeling, after learning Kotlin found that Kotlin is indeed more than C # fancy too much.
Then, breaking the boundaries of the sword, using the same kotlin as C #, get familiar with the Java camp of various ecological opportunities. Develop their own development platform, careless also mastered a mobile development language. This kind of good, studious why don't you try it?
The introduction is here, the portal is here. I'm afraid. As long as a half-day time, from now on to open a door to the new world.
Here also give yourself the power, hope that they can continue to update the topic, by Learning Kotlin and C # to make some comparisons, so that peers can more easily understand the new language.
Kotlin koans Tutorial:/http/kotlinlang.org/docs/tutorials/koans.html
Kotlin Portal: http://kotlinlang.org/
As a C # programmer, you should get started Kotlin