SlideShare a Scribd company logo
1 of 16
A Modern Programming Language
Background
and History
• In 2010 the developers behind JetBrains, decided that they
needed to solve developer challenges much more easily
than they currently were.
• They needed a simpler tool than Java to work with IntelliJ
IDEA, which was totally written in it.
• JetBrains lead investigated alternatives like Scala, but
remained unsatisfied due to it’s slow compilation time, and
so they decided to invent their own language instead.
• They named it Kotlin.
• Their goal was also to receive an effective tool that could be
used together with Java in Android app development and
work wherever Java works. Another goal was to compile as
quickly as Java.
Introduction
Domain and
Implementation
• Kotlin has been designed to be an industrial-strength OOP language and a "better language" than Java,
but still be fully interoperable with Java code so that companies can easily migrate from Java to Kotlin.
• Kotlin variable declarations and parameter lists have the data type come after the variable name with a
colon separator.
E.g:- var count: Int = 10
• Kotlin supports inheritance like Java but classes themselves are final by default, meaning that creating
a derived class is disabled unless the base class is declared with the open keyword.
open class A {
}
class B : A() {
} /* Derived class,derived from A
This class cannot be inherited unless it also uses 'open' keyword
*/
• Kotlin is very concise in terms of code size but yet as fast as Java. Besides being largely used for app
Development, it’s also used in back-end web development.
Advantages of
Kotlin
Maximize the productivity
Works with existing Java Code
Less chances of bugs
Reliable
Disadvantages
of Kotlin
Kotlin Minimal Learning Opportunities
Compilation speed is slower
Distinct from Java
Less Kotlin professionals to recruit
Evaluation
Readability:
• Kotlin has a clear and concise code; hence easy to
read. It is easier to read when compared to verbose
languages like Java.
• Kotlin focuses on readable syntaxes, so even people
who are not familiar with the language can do code
reviews
• Kotlin also provides functional programming support
with zero overhead lambdas and mapping, folding over
standard Java collections.
Evaluation
Writability:
• Kotlin is statically typed, the developer can easily see
where the class or function is applied in the code.
• Instead of HTML for API docs, Kotlin supports
markdown writing. This makes writing the code a
pleasurable task.
• Kotlin plays an important role in tension functions
too as it lets you add methods to classes without
modifying the source code.
Evaluation
Reliability:
• Kotlin provides in-built null-safe operators. This indirectly
increases developer productivity because it’s easy to catch
nulls during compile time and there are no more worries
of crashing your app at the runtime.
• Kotlin allows developers to catch bugs in the compiler
time and not in the runtime.
• Kotlin help us to build powerful language extensions and
integrate existing Java APIs with other features (of Kotlin)
increased developer productivity, right from language to
framework and to tools.
Evaluation
Cost:
• Fluctuation in Compilation :Kotlin is faster than Java,
there is no doubt about it. However, Java remains a
clear winner when it comes to creating clean builds for
Android apps.
• Limited Learning Resources: limited number of
resources available in the market to learn and master
Kotlin. This basically leads to extra time to try and
figure out how to do or build certain things in an
Android app using Kotlin programming language.
Special features and application domains
Efficiency Null Safety in
Kotlin
Extension
Functions
Collections
And Streams
Installation and Popular IDEs
Program Example:
• Printing an Integer entered by a user in Kotlin using Scanner:
Output:
Multiply Two Floating Point Numbers:
Output:
Conclusion:
• With popularity Kotlin is now
supporting a lot of the aspects of
modern-day applications.
• Google recommended application for
Android development.
• API for using same code with minimal
addition for IOS.
• Kotlin is a great fit for developing
server-side applications.
• Kotlin for JavaScript provides ability to
transpile Kotlin code, the library, and
any compatible dependencies to
JavaScript.
Thank you
Any Questions?
Sources:
• Youtube: Videos from JetBrainsTV, Android Developers etc.
• Wikipedia: https://en.wikipedia.org/wiki/Kotlin_(programming_language)
• https://github.com/JetBrains/kotlin/releases/tag/v1.4.31
• https://www.programiz.com/kotlin-programming/examples
• https://kotlinlang.org/
• https://krify.co/advantages-and-disadvantages-of-kotlin/
• https://www.appsbee.com/blog/kotlin-advantages-disadvantages-facts-you-should-know/
• https://medium.com/quick-code/pros-and-cons-of-kotlin-for-android-app-development-c4b0f95c1324
• https://www.javacodegeeks.com/2019/04/kotlin-features-every-android-app-developer-know.html

More Related Content

What's hot

Introduction to kotlin for android app development gdg ahmedabad dev fest 2017
Introduction to kotlin for android app development   gdg ahmedabad dev fest 2017Introduction to kotlin for android app development   gdg ahmedabad dev fest 2017
Introduction to kotlin for android app development gdg ahmedabad dev fest 2017Hardik Trivedi
 
Introduction to Kotlin for Android developers
Introduction to Kotlin for Android developersIntroduction to Kotlin for Android developers
Introduction to Kotlin for Android developersMohamed Wael
 
Introduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformIntroduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformEastBanc Tachnologies
 
Kotlin Language powerpoint show file
Kotlin Language powerpoint show fileKotlin Language powerpoint show file
Kotlin Language powerpoint show fileSaurabh Tripathi
 
Testing in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkTesting in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkArulalan T
 
Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022Simplilearn
 
A quick and fast intro to Kotlin
A quick and fast intro to Kotlin A quick and fast intro to Kotlin
A quick and fast intro to Kotlin XPeppers
 
Introduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in KotlinIntroduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in Kotlinvriddhigupta
 
Coroutines in Kotlin
Coroutines in KotlinCoroutines in Kotlin
Coroutines in KotlinAlexey Soshin
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetesGabriel Carro
 
java 8 new features
java 8 new features java 8 new features
java 8 new features Rohit Verma
 
Clean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening KeynoteClean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening KeynoteVictor Rentea
 

What's hot (20)

Introduction to kotlin for android app development gdg ahmedabad dev fest 2017
Introduction to kotlin for android app development   gdg ahmedabad dev fest 2017Introduction to kotlin for android app development   gdg ahmedabad dev fest 2017
Introduction to kotlin for android app development gdg ahmedabad dev fest 2017
 
Android with kotlin course
Android with kotlin courseAndroid with kotlin course
Android with kotlin course
 
Introduction to Kotlin for Android developers
Introduction to Kotlin for Android developersIntroduction to Kotlin for Android developers
Introduction to Kotlin for Android developers
 
Introduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platformIntroduction to Kotlin Language and its application to Android platform
Introduction to Kotlin Language and its application to Android platform
 
Kotlin - Better Java
Kotlin - Better JavaKotlin - Better Java
Kotlin - Better Java
 
Kotlin Language powerpoint show file
Kotlin Language powerpoint show fileKotlin Language powerpoint show file
Kotlin Language powerpoint show file
 
Introduction to kotlin
Introduction to kotlinIntroduction to kotlin
Introduction to kotlin
 
Testing in-python-and-pytest-framework
Testing in-python-and-pytest-frameworkTesting in-python-and-pytest-framework
Testing in-python-and-pytest-framework
 
Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022
 
A quick and fast intro to Kotlin
A quick and fast intro to Kotlin A quick and fast intro to Kotlin
A quick and fast intro to Kotlin
 
Objective c slide I
Objective c slide IObjective c slide I
Objective c slide I
 
Introduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in KotlinIntroduction to kotlin and OOP in Kotlin
Introduction to kotlin and OOP in Kotlin
 
Coroutines in Kotlin
Coroutines in KotlinCoroutines in Kotlin
Coroutines in Kotlin
 
Introduction to kotlin
Introduction to kotlinIntroduction to kotlin
Introduction to kotlin
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
kubernetes, pourquoi et comment
kubernetes, pourquoi et commentkubernetes, pourquoi et comment
kubernetes, pourquoi et comment
 
Intro to kotlin
Intro to kotlinIntro to kotlin
Intro to kotlin
 
java 8 new features
java 8 new features java 8 new features
java 8 new features
 
Clean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening KeynoteClean Code @Voxxed Days Cluj 2023 - opening Keynote
Clean Code @Voxxed Days Cluj 2023 - opening Keynote
 
Java 8 features
Java 8 featuresJava 8 features
Java 8 features
 

Similar to Introduction to Kotlin

Learn Kotlin and Build Robust Android Apps with Bcoder.pdf
Learn Kotlin and Build Robust Android Apps with Bcoder.pdfLearn Kotlin and Build Robust Android Apps with Bcoder.pdf
Learn Kotlin and Build Robust Android Apps with Bcoder.pdfBcoder Dev
 
Kotlin vs Java-A Comparison for Application Development Projects.pdf
Kotlin vs Java-A Comparison for Application Development Projects.pdfKotlin vs Java-A Comparison for Application Development Projects.pdf
Kotlin vs Java-A Comparison for Application Development Projects.pdfTechugo
 
The Pros and Cons of Kotlin Language for Android App Development
The Pros and Cons of Kotlin Language for Android App DevelopmentThe Pros and Cons of Kotlin Language for Android App Development
The Pros and Cons of Kotlin Language for Android App DevelopmentPrakash Software
 
Kotlin Overview
Kotlin OverviewKotlin Overview
Kotlin OverviewEkta Raj
 
Kotlin App Development Tips.pdf
Kotlin App Development Tips.pdfKotlin App Development Tips.pdf
Kotlin App Development Tips.pdfMarie Weaver
 
Why You Should Go with Kotlin for Android App Development.pdf
Why You Should Go with Kotlin for Android App Development.pdfWhy You Should Go with Kotlin for Android App Development.pdf
Why You Should Go with Kotlin for Android App Development.pdfRipenApps
 
Kotlin for Android
Kotlin for AndroidKotlin for Android
Kotlin for AndroidHan Yin
 
8 Reasons to Pick Kotlin Over Java for Android Development.pptx
8 Reasons to Pick Kotlin Over Java for Android Development.pptx8 Reasons to Pick Kotlin Over Java for Android Development.pptx
8 Reasons to Pick Kotlin Over Java for Android Development.pptxElsner Technologies Pvt. Ltd.
 
Kotlin Vs Java A Comparison For Application Development Projects.pdf
Kotlin Vs Java A Comparison For Application Development Projects.pdfKotlin Vs Java A Comparison For Application Development Projects.pdf
Kotlin Vs Java A Comparison For Application Development Projects.pdfTechugo
 
Kotlin vs Java: Which is Better for Android App Development?
Kotlin vs Java: Which is Better for Android App Development?Kotlin vs Java: Which is Better for Android App Development?
Kotlin vs Java: Which is Better for Android App Development?Marie Weaver
 
Android with Kotlin Course - SkillIQ.pdf
Android with Kotlin Course - SkillIQ.pdfAndroid with Kotlin Course - SkillIQ.pdf
Android with Kotlin Course - SkillIQ.pdfSkilliQCourse
 
Kotlin - A Beginner’s Guide__________________
Kotlin - A Beginner’s Guide__________________Kotlin - A Beginner’s Guide__________________
Kotlin - A Beginner’s Guide__________________Mars Devs
 
Why Use Kotlin for Android App Development-Here’s a Guide.pdf
Why Use Kotlin for Android App Development-Here’s a Guide.pdfWhy Use Kotlin for Android App Development-Here’s a Guide.pdf
Why Use Kotlin for Android App Development-Here’s a Guide.pdfTechugo
 
Kotlin vs Java: Choosing The Right Language
Kotlin vs Java: Choosing The Right LanguageKotlin vs Java: Choosing The Right Language
Kotlin vs Java: Choosing The Right LanguageFredReynolds2
 
Is kotlin better option for android app development
Is kotlin better option for android app development Is kotlin better option for android app development
Is kotlin better option for android app development Concetto Labs
 
Kotlin for Web Development Possibilities and Challenges.pptx
Kotlin for Web Development Possibilities and Challenges.pptxKotlin for Web Development Possibilities and Challenges.pptx
Kotlin for Web Development Possibilities and Challenges.pptxEllocent Labs
 
Android Development with Kotlin course
Android Development  with Kotlin courseAndroid Development  with Kotlin course
Android Development with Kotlin courseGoogleDevelopersLeba
 
The Rise of Kotlin Ecosystem in the Android App Development Industry.pdf
The Rise of Kotlin Ecosystem in the Android App Development Industry.pdfThe Rise of Kotlin Ecosystem in the Android App Development Industry.pdf
The Rise of Kotlin Ecosystem in the Android App Development Industry.pdfAppSquadz3
 
Kotlin for android development
Kotlin for android developmentKotlin for android development
Kotlin for android developmentJalpesh Vasa
 
Kotlin vs Java | A Comparative Analysis | IDEA USHER
Kotlin vs Java | A Comparative Analysis | IDEA USHERKotlin vs Java | A Comparative Analysis | IDEA USHER
Kotlin vs Java | A Comparative Analysis | IDEA USHERNitish Garg
 

Similar to Introduction to Kotlin (20)

Learn Kotlin and Build Robust Android Apps with Bcoder.pdf
Learn Kotlin and Build Robust Android Apps with Bcoder.pdfLearn Kotlin and Build Robust Android Apps with Bcoder.pdf
Learn Kotlin and Build Robust Android Apps with Bcoder.pdf
 
Kotlin vs Java-A Comparison for Application Development Projects.pdf
Kotlin vs Java-A Comparison for Application Development Projects.pdfKotlin vs Java-A Comparison for Application Development Projects.pdf
Kotlin vs Java-A Comparison for Application Development Projects.pdf
 
The Pros and Cons of Kotlin Language for Android App Development
The Pros and Cons of Kotlin Language for Android App DevelopmentThe Pros and Cons of Kotlin Language for Android App Development
The Pros and Cons of Kotlin Language for Android App Development
 
Kotlin Overview
Kotlin OverviewKotlin Overview
Kotlin Overview
 
Kotlin App Development Tips.pdf
Kotlin App Development Tips.pdfKotlin App Development Tips.pdf
Kotlin App Development Tips.pdf
 
Why You Should Go with Kotlin for Android App Development.pdf
Why You Should Go with Kotlin for Android App Development.pdfWhy You Should Go with Kotlin for Android App Development.pdf
Why You Should Go with Kotlin for Android App Development.pdf
 
Kotlin for Android
Kotlin for AndroidKotlin for Android
Kotlin for Android
 
8 Reasons to Pick Kotlin Over Java for Android Development.pptx
8 Reasons to Pick Kotlin Over Java for Android Development.pptx8 Reasons to Pick Kotlin Over Java for Android Development.pptx
8 Reasons to Pick Kotlin Over Java for Android Development.pptx
 
Kotlin Vs Java A Comparison For Application Development Projects.pdf
Kotlin Vs Java A Comparison For Application Development Projects.pdfKotlin Vs Java A Comparison For Application Development Projects.pdf
Kotlin Vs Java A Comparison For Application Development Projects.pdf
 
Kotlin vs Java: Which is Better for Android App Development?
Kotlin vs Java: Which is Better for Android App Development?Kotlin vs Java: Which is Better for Android App Development?
Kotlin vs Java: Which is Better for Android App Development?
 
Android with Kotlin Course - SkillIQ.pdf
Android with Kotlin Course - SkillIQ.pdfAndroid with Kotlin Course - SkillIQ.pdf
Android with Kotlin Course - SkillIQ.pdf
 
Kotlin - A Beginner’s Guide__________________
Kotlin - A Beginner’s Guide__________________Kotlin - A Beginner’s Guide__________________
Kotlin - A Beginner’s Guide__________________
 
Why Use Kotlin for Android App Development-Here’s a Guide.pdf
Why Use Kotlin for Android App Development-Here’s a Guide.pdfWhy Use Kotlin for Android App Development-Here’s a Guide.pdf
Why Use Kotlin for Android App Development-Here’s a Guide.pdf
 
Kotlin vs Java: Choosing The Right Language
Kotlin vs Java: Choosing The Right LanguageKotlin vs Java: Choosing The Right Language
Kotlin vs Java: Choosing The Right Language
 
Is kotlin better option for android app development
Is kotlin better option for android app development Is kotlin better option for android app development
Is kotlin better option for android app development
 
Kotlin for Web Development Possibilities and Challenges.pptx
Kotlin for Web Development Possibilities and Challenges.pptxKotlin for Web Development Possibilities and Challenges.pptx
Kotlin for Web Development Possibilities and Challenges.pptx
 
Android Development with Kotlin course
Android Development  with Kotlin courseAndroid Development  with Kotlin course
Android Development with Kotlin course
 
The Rise of Kotlin Ecosystem in the Android App Development Industry.pdf
The Rise of Kotlin Ecosystem in the Android App Development Industry.pdfThe Rise of Kotlin Ecosystem in the Android App Development Industry.pdf
The Rise of Kotlin Ecosystem in the Android App Development Industry.pdf
 
Kotlin for android development
Kotlin for android developmentKotlin for android development
Kotlin for android development
 
Kotlin vs Java | A Comparative Analysis | IDEA USHER
Kotlin vs Java | A Comparative Analysis | IDEA USHERKotlin vs Java | A Comparative Analysis | IDEA USHER
Kotlin vs Java | A Comparative Analysis | IDEA USHER
 

Recently uploaded

Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network DevicesChandrakantDivate1
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...Health
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfsmsksolar
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdfKamal Acharya
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksMagic Marks
 

Recently uploaded (20)

Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Rums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdfRums floating Omkareshwar FSPV IM_16112021.pdf
Rums floating Omkareshwar FSPV IM_16112021.pdf
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
School management system project Report.pdf
School management system project Report.pdfSchool management system project Report.pdf
School management system project Report.pdf
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 

Introduction to Kotlin

  • 2. Background and History • In 2010 the developers behind JetBrains, decided that they needed to solve developer challenges much more easily than they currently were. • They needed a simpler tool than Java to work with IntelliJ IDEA, which was totally written in it. • JetBrains lead investigated alternatives like Scala, but remained unsatisfied due to it’s slow compilation time, and so they decided to invent their own language instead. • They named it Kotlin. • Their goal was also to receive an effective tool that could be used together with Java in Android app development and work wherever Java works. Another goal was to compile as quickly as Java.
  • 4. Domain and Implementation • Kotlin has been designed to be an industrial-strength OOP language and a "better language" than Java, but still be fully interoperable with Java code so that companies can easily migrate from Java to Kotlin. • Kotlin variable declarations and parameter lists have the data type come after the variable name with a colon separator. E.g:- var count: Int = 10 • Kotlin supports inheritance like Java but classes themselves are final by default, meaning that creating a derived class is disabled unless the base class is declared with the open keyword. open class A { } class B : A() { } /* Derived class,derived from A This class cannot be inherited unless it also uses 'open' keyword */ • Kotlin is very concise in terms of code size but yet as fast as Java. Besides being largely used for app Development, it’s also used in back-end web development.
  • 5. Advantages of Kotlin Maximize the productivity Works with existing Java Code Less chances of bugs Reliable
  • 6. Disadvantages of Kotlin Kotlin Minimal Learning Opportunities Compilation speed is slower Distinct from Java Less Kotlin professionals to recruit
  • 7. Evaluation Readability: • Kotlin has a clear and concise code; hence easy to read. It is easier to read when compared to verbose languages like Java. • Kotlin focuses on readable syntaxes, so even people who are not familiar with the language can do code reviews • Kotlin also provides functional programming support with zero overhead lambdas and mapping, folding over standard Java collections.
  • 8. Evaluation Writability: • Kotlin is statically typed, the developer can easily see where the class or function is applied in the code. • Instead of HTML for API docs, Kotlin supports markdown writing. This makes writing the code a pleasurable task. • Kotlin plays an important role in tension functions too as it lets you add methods to classes without modifying the source code.
  • 9. Evaluation Reliability: • Kotlin provides in-built null-safe operators. This indirectly increases developer productivity because it’s easy to catch nulls during compile time and there are no more worries of crashing your app at the runtime. • Kotlin allows developers to catch bugs in the compiler time and not in the runtime. • Kotlin help us to build powerful language extensions and integrate existing Java APIs with other features (of Kotlin) increased developer productivity, right from language to framework and to tools.
  • 10. Evaluation Cost: • Fluctuation in Compilation :Kotlin is faster than Java, there is no doubt about it. However, Java remains a clear winner when it comes to creating clean builds for Android apps. • Limited Learning Resources: limited number of resources available in the market to learn and master Kotlin. This basically leads to extra time to try and figure out how to do or build certain things in an Android app using Kotlin programming language.
  • 11. Special features and application domains Efficiency Null Safety in Kotlin Extension Functions Collections And Streams
  • 13. Program Example: • Printing an Integer entered by a user in Kotlin using Scanner: Output:
  • 14. Multiply Two Floating Point Numbers: Output:
  • 15. Conclusion: • With popularity Kotlin is now supporting a lot of the aspects of modern-day applications. • Google recommended application for Android development. • API for using same code with minimal addition for IOS. • Kotlin is a great fit for developing server-side applications. • Kotlin for JavaScript provides ability to transpile Kotlin code, the library, and any compatible dependencies to JavaScript.
  • 16. Thank you Any Questions? Sources: • Youtube: Videos from JetBrainsTV, Android Developers etc. • Wikipedia: https://en.wikipedia.org/wiki/Kotlin_(programming_language) • https://github.com/JetBrains/kotlin/releases/tag/v1.4.31 • https://www.programiz.com/kotlin-programming/examples • https://kotlinlang.org/ • https://krify.co/advantages-and-disadvantages-of-kotlin/ • https://www.appsbee.com/blog/kotlin-advantages-disadvantages-facts-you-should-know/ • https://medium.com/quick-code/pros-and-cons-of-kotlin-for-android-app-development-c4b0f95c1324 • https://www.javacodegeeks.com/2019/04/kotlin-features-every-android-app-developer-know.html