My journey in learning the Kotlin language! And why should I learn Kotlin?
Tags: kotlin, code, beginners, android
Published: 2022-01-24 21:52:31


It started in 2019
When my passion for programming reached a level that made me self-teach myself,
My dream was to become a software developer, I researched how to learn programming,
I found many sources and a lot of sayings about should be learning many languages ​​and trying many fields until I can chose the field that I liked, but I found many people talking about a programming language called Kotlin!!!!!!
I wanted to know what this language is and why many engineers and developers talk about it and also say that Google has adopted that language. Oh my God, what is this wonder!!!!! I have to search for that language and know what it offers. It attracts me a lot. I was eager and excited to know what this language is and it will be the first programming language I learn in my life!!!
 Found on Wikipedia:

---
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9wbirsh2iojucaozv5j0.png)
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xxm191hn5yki4o5aiyph.png)
---

In fact, I liked that introduction, and it made me take the step to learn programming and write code.
At the time, I was at a loss, not knowing what major I intended to study in the world of programming and professionally in it. My wish was to become a software developer.
I discovered that it is a language that we use in developing Android applications and it is always updated, and that the company that developed the language is a very great company and I love all its products and I hope one day I will become one of the developers of this great company, JetBrains Company.
.
Well, I took the step, but there was a problem, which was that I was weak in the English language because my mother tongue is Arabic and I am Egyptian. I discovered that learning the language is simple, you do not have to be an English language professional, but it is only when you practice that you will get used to it and with time you will master the English language when you meet me after Difficult words I used Google Translate to know the meaning of each word so I could understand the explanation.
The beginning was really very simple when I was on my own learning without a guide to learn, but I searched for some sources and courses to learn the language, but they were very few for the Arabic language, but there was content to explain Kotlin in English. I was finding it somewhat difficult to understand, but I was trying a lot.
In fact, I neglected the documents of the Kotlin language because it was difficult and some people advised me to stay away from them because those documents are difficult to understand. I was amazed at that a lot!!! Why ?
After a while, I realized that it was important because it was from the team that developed that language and it should be taken care of. It was in English. Yes, I know, but I used Google Translate to understand some words and terms until I understand and found it easy to understand and really wonderful.
.
I also want to admit that I used Google Translate to write this story on Medium.
.
Really, I never find it difficult to learn Kotlin language at the beginning of learning programming and writing code, it is a flexible and readable language and clean code, and also the syntax was easier than I expected, I am not exaggerating, my friend!!!!
Well, I started by following the courses, I created some Android apps in Kotlin, and I shared projects on my GitHub account.
I found a lot of interaction from my friends and support to continue my way of learning programming.
.
It took me a while to learn this amazing language, then I moved on to learn Android myself using Kotlin.
I thought I would contribute to helping the community and help some young people and provide some lessons to learn the Kotlin programming language in Arabic so that I can benefit others to spread knowledge. I hope one day to contribute to the language and become one of the language developers. I hope that soon.
Well, I thought about creating educational courses, and the beginning was YouTube on my channel. I published after the lessons for beginners, and there was a demand from young people to learn the Kotlin language in Arabic, and this really amazed me. Currently, I work as an freelancer software developer. I have published training courses for JetPack Compos .
Recently, at the end of 2021, I registered the first successful Arabic Kotlin language course on the Udemy platform, and I feel proud to teach Kotlin to young people in our Arab community. I hope in the future to become one of the language developers with this great team that created Kotlin.
This is a short summary of my journey in learning Kotlin.
I will tell you why you should learn Kotlin?
The Kotlin docs are filled with explanations that are geared towards Java developers - and that's great - but developers who don't know Java may find that off-putting. After all, explaining an unknown concept mostly in terms of another unknown concept makes for a less-than-satisfying experience.
This learning path explains Kotlin in terms that don't rely on pre-existing knowledge of any particular language.
But to understand how we got here, let's take a brief journey back in time (only about 20 years or so).
A (very) brief history of Java
The Java platform transformed enterprise computing. In the 1990s, moving enterprise software (a customer relationship management system, for example) from one platform to another was no small feat: the development team had to know both platforms so that code could be ported from one platform to the other, extensive testing had to be performed, and, in the end, there were two code bases to maintain.
Then along came the Java platform with its "write-once-run-anywhere" promise: enterprise apps could be written in a single language - Java - and run on a variety of platforms for which there was a suitable Java Virtual Machine (JVM) implementation. It seemed too good to be true (and had its nay-sayers, to be sure), but in no time, developers only had to know one language to target a dozen different platforms. The "write-once-run-anywhere" promise had come true.
Other JVM languages emerge
But the Java language isn't perfect. It's mostly object-oriented, but not completely. It has strict type checking, but is still susceptible to runtime errors arising from the use of null values. The Java compiler doesn't perform automatic type inference, making its syntax (read that: the amount of code you have to write) at times maddeningly verbose. As a result, industrious developers began to create compilers that would let developers write programs using their favorite languages (Groovy and Scala were among the first) and generate Java platform bytecode so that their programs would run on the JVM. Now there are lots of languages that run on the JVM.
Along comes Kotlin
So, why Kotlin?
Kotlin enables very compact - yet surprisingly readable - code: through type inference, smart casts, and incredibly compact lambda expressions, Kotlin allows you to write very maintainable code, while still producing code that runs on the JVM.
Kotlin is also emerging as THE language to use for Android development: its compact syntax makes it a perfect choice for the event-driven Android platform, reducing the need for lines and lines of repeated boilerplate code to implement event listeners and handlers, for example.
Kotlin has its origins in the Java language: if you're coming over from Java, the leap is an easy one. And Kotlin has been designed from the ground up to fix all of those little irritating things that drive us Java developers nuts, like support calls related to NullPointerExceptions at 2am (oof). Not with Kotlin; well, unless you go out of your way to allow nulls in the front door.
Also, why Kotlin again?
Kotlin is still used for developing Android Apps. It remains one of the most widely used and fastest growing programming languages in recent years. Many leading brands use Kotlin in their technology stack such as Pinterest, Netflix, etc.
Create your powerful application with Kotlin :
1- Backend app
2- Cross-platform mobile app
3- Frontend web app
4- Android app
5- Multiplatform library
And More…………
Also, why Kotlin again?
1- Modern language
It is a modern programming language that brings together the best of object-oriented and functional programming. Some of the most promising features of Kotlin include clean compact syntax, secure, general-purpose, and more.
2- Easy to learn
Kotlin's syntax is easy to learn for beginners and it offers a host of powerful features. It can be a great language to upskill for experienced programmers. It has a shallow learning curve especially if you have experience in Python or Java. The programming language is also quite easy for iOS developers as it is based on familiar concepts of modern technology.
3- Great materials
There are ample materials available on Kotlin that learners can leverage to have a good grasp of the programming language. There are numerous courses that a beginner can start with. Most of these courses are self-paced and offer great insights into the programming language. Also, the developer community is quite huge so if learners get stuck or have queries they can always seek solutions from the developer community.
4- Career prospects
Many leading brands use Kotlin for their software and Kotlin skills are highly in demand. If estimates are to be believed, job postings related to Kotlin skills are skyrocketing since 2017 by 1400%.
5- Community support
Kotlin is an open-source language and has a strong community of developers. There are over 200 Kotlin user groups, over 37,000 Kotlinlang slack users, and thousands of other members. The community support is huge in Kotlin and it is constantly growing.
All this my friend in Kotlin is really amazing, let me show you some syntax of the language :
Main entry point

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9ej4zwacibt4ztjv2x0b.png)

Extension functions

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/93erq6k7eiubmu7357kz.png)

Destructuring declarations


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wi7nlpu3008vpgh9p3kl.png)

Classes are final by default

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rhdbu4k2lf2pokwgyjjl.png)

Null safety

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ra1bzptehpxfm6wzf0zr.png)

Lambdas

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hw16ehs9qdzcpdn6yfre.png)


Kotlin provides support for higher-order functions and anonymous functions or lambdas.
Well, I hope that you have listened to that journey. I taught you how to start the way in learning a programming language such as Kotlin. I hope to be a light guest on your heart.
In the end of the story I wish a great journey full of adventures, follow me soon I will publish more stories about learning the Kotlin language and we will know together the mysteries and secrets soon, my friend.
Have A Nice Kotlin😃
Best Regards
Mohamed Tamer
My social media and e-mail :
LinkedIn
Twitter
GitHub
Email : mohamedtamerdev@gmail.com