Or Kotlin is a language for beginners and why you should learn Basin, opwie you with the participation of Arthur Suppository, Java developer, in love with Depression.
The world of IT abhors a vacuum. Every moment there are new languages, technologies, concepts, sometimes they come back like a boomerang under a few other concepts and names. All the time something happens. This technology back-end or front-end, it doesn’t matter. The world JVMa (Java Virtual Machine) is not different here. Kotlin is a programming language that is relatively young, but not so hipsterski. Stronger and braver enters the world of “production”. Whether it is, however, the language from which the young adept programming to start your adventure? What are the advantages and disadvantages from the point of view of a young programmer?
Community Basin grows and grows
You can’t deny — with the popularity increasing the size of the community, which actively communicates, whether it’s on Stack Overflow or Github. Currently, under the tag “Kotlin”, we can see 22 of thousands of questions (as of April 22, 2019). Scala has these issues, “only” 4 times, which is not a bad result, and the difference in age, and (yet) popularity between these languages. One of the most famous frameworks Kotlinowych – Ktor – there are on Github about 5000 stars (as of 22 April 2019), which is a very good score.
Materials for the study Basin
And the sources for the study? At the time, I wrote a post on this topic. I have collected the most popular and the most reliable sources from which to draw knowledge about the language. Future programmer, of course, is how to extract knowledge.
Please try Basin – Try Kotlin tutorial
Kotlin course from scratch with Kotlin Koans – a simple, practical tasks
(Check the course Depression Polish from Arthur! ~ Rita)
Practical Kotlin course from scratch in Polish
Kotlin is beautiful
Yes, I know that the rating of beauty can be very subjective. From experience, however, I don’t know of a developer who will see the code written in Java, comparing it to code written in the Hearth, then to say: “this is Java, however, is prettier.” I allow myself here once again to send in your blog — I created a series of entries in which I show the code in Java and then I have it to Kotlin. I show the beauty and benefits of using this language on practical examples.
Kotlin is not only Android
Many developers hears Kotlin thoughts Android. Undoubtedly, there Kotlin most suitable, mainly due to various limitations of the JVM in apps, the map is conveniently seen by the fact that it language officially supported by Google and to create applications for Androidhelps a lot.
In the Basin, it is possible to develop not only a mobile app. Personally Basin I use to create back-end applications. There works fine. Thanks to the excellent compatibility (eng. interoperability) with Java, we can use a known Javowych libraries in the Basin! Age language and fewer ready-made solutions compared to Java is not a constraint.
Less well-known areas of application – Kotlin also has a version of JS that translates code Kotlinowy to JSowego. There is also a version Media, which allows you to complicate the code to native code, and version multiplatformowa in which we can write code to use with applications on ios!
IntelliJ + Kotlin = ❤
Every experienced programmer knows the importance of using good tools for software development. Is there a tool for building applications in a Valley? Of course.
Not everyone knows, but for the development of the Basin meets the company JetBrains. JetBrains creates, in particular, IntelliJ is the best IDE for building applications Javowych. If the company has its language and IDE, this intuition says it needs with them a pleasure to operate. It is. Support for Dell delicious. The code in IntelliJ it’s fun. IntelliJ also recommends the use of the Basin, at least through the easy translation of Java code to Kotlin code. In the other direction as well.
Work on the JVM
That’s the thing about which I wrote above. The funnel is to bytecode’Javaand so we can have it run on the Java virtual machine (JVM). Because of this, for example, we can create applications Androidowe, and also to use code that compiles well as bytecode’Java, despite the fact that it is not written in the Basin. It makes that frameworks like Spring or other libraries readily available, when we create the code in Kotlin.
I believe that the more experienced programmer, the more appreciate the quality and validity of the documentation. It is important, first of all, when we begin with this technology. JetBrains team did not pay attention to this aspect, and the documentation on their website is also very good. If anyone is interested, specifically Android, it is also no problem. The documentation for Android developers is served as a code in Java, as in Depression. The advantage is that the basic code is the code Kotlinowy, in Java, you need to switch to that shows what language should be used 😉
The labor market == Android
Now some cons. Huge (yet) a disadvantage is the fact that, as we look at the labour market, and we’ll find suggestions for Kotlinowców, most of them for Android. If someone deliberately wants to make mobile applications – no problem. Personally, however, I would like to use the Ravine for any other purpose, and contract manufacturing is a bit problematic. The dominance of Java systems backendowych undeniable, but everything points to the fact that Kotlin will increasingly be used in other placesand so the market should be more diverse.
Migration projects for more experienced developers
It may be “negative” for growth”, it is necessary to share the experience. Kotlin is a great language, helps you create software, but nothing is free. Some decorations may cost us, though at a slower action, or the action of the unexpected. In small projects, this should not be a problem, but a large banking system…? It is better to leave it to people more experienced.
In this place napomnę and that there are no problems to for an existing Team project, add 1-2 files Kotlinowe. This transition can be very slow, and the two languages can exist in the same project without any problems. Experiments in vivo also significantly simplified due to this, and the fact easy to add/remove language with the project And help IntelliJ calls to give a chance to the language in the project.
Knowledge of Java is very useful
Depression can master every beginner and use it successfully. Notice, however, that in this post many times the word “Java”. Comparisons of these two languages can not be avoided. Knowledge of Java is very easy training Hollow, and increases our level of consciousness, with which we create software in this language. We know what is the reason, what gives us an advantage, and where it limits us. I believe that in course of programmer Basin should know, Java, and although the principles of operation of the Java virtual machine.
Or Kotlin for beginners?
I will answer boldly – it depends 😉 I believe that if you already specified that “Yes, a mobile app, is it!” – never mind — Kotlin language is perfect for You. In the other case, would not take Depression as a FIRST programming language. Kotlin is a beautiful and offers a lot. Strongly recommend to try it, if not contract manufacturing, for experiments pet projects (projects, written for his own satisfaction) and science.
Kotlin or Java?
However, if you are looking for your first language, through which you will earn, and do not create at this stage, mobile apps, I urge you to begin the fun with Java programming. Javowców never have enough, and in a further stage of Your career studying the Basin will be even easier and more enjoyable for You. And I believe that the market situation will be much more diverse for kotliniarzy.
If at this point you realize you want to learn Kotlin, then I invite you in my video course, I will introduce You into the world of this language, and I’ll show you how to use it in practice. The blog is also the subject of the Valley is very wide, interested invite you to look at and to read, and develop their own opinions about this language. This post is only my feeling. Personally, I love Hollow, and I believe that in the future, the language is still more widely used than it is now, because she definitely has a predisposition to it. I know of no other language that is so nice and efficient, I am able to produce software.