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

Kotlin for Android Development
Kotlin for Android DevelopmentKotlin for Android Development
Kotlin for Android DevelopmentSpeck&Tech
 
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
 
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
 
Kotlin Language powerpoint show file
Kotlin Language powerpoint show fileKotlin Language powerpoint show file
Kotlin Language powerpoint show fileSaurabh Tripathi
 
Core java concepts
Core java  conceptsCore java  concepts
Core java conceptsRam132
 
Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022Simplilearn
 
Kotlin Crash Course
Kotlin Crash CourseKotlin Crash Course
Kotlin Crash CourseHaim Michael
 

What's hot (20)

Kotlin for Android Development
Kotlin for Android DevelopmentKotlin for Android Development
Kotlin for Android Development
 
Introduction to kotlin
Introduction to kotlinIntroduction to kotlin
Introduction to kotlin
 
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
 
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
 
Kotlin
KotlinKotlin
Kotlin
 
Kotlin Language powerpoint show file
Kotlin Language powerpoint show fileKotlin Language powerpoint show file
Kotlin Language powerpoint show file
 
Android with kotlin course
Android with kotlin courseAndroid with kotlin course
Android with kotlin course
 
Java vs kotlin
Java vs kotlin Java vs kotlin
Java vs kotlin
 
Core java concepts
Core java  conceptsCore java  concepts
Core java concepts
 
Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022Kotlin InDepth Tutorial for beginners 2022
Kotlin InDepth Tutorial for beginners 2022
 
Kotlin
KotlinKotlin
Kotlin
 
Introduction to kotlin
Introduction to kotlinIntroduction to kotlin
Introduction to kotlin
 
Kotlin - Better Java
Kotlin - Better JavaKotlin - Better Java
Kotlin - Better Java
 
Java Basics
Java BasicsJava Basics
Java Basics
 
C#
C#C#
C#
 
Introduction to Objective - C
Introduction to Objective - CIntroduction to Objective - C
Introduction to Objective - C
 
Core java
Core java Core java
Core java
 
Kotlin Crash Course
Kotlin Crash CourseKotlin Crash Course
Kotlin Crash Course
 
Java basic
Java basicJava basic
Java basic
 
C#.NET
C#.NETC#.NET
C#.NET
 

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
 
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
 
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
 
CC Presentation.pptx
CC Presentation.pptxCC Presentation.pptx
CC Presentation.pptx
 

Recently uploaded

chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineeringmalavadedarshan25
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZTE
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxvipinkmenon1
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxDeepakSakkari2
 

Recently uploaded (20)

chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Internship report on mechanical engineering
Internship report on mechanical engineeringInternship report on mechanical engineering
Internship report on mechanical engineering
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
ZXCTN 5804 / ZTE PTN / ZTE POTN / ZTE 5804 PTN / ZTE POTN 5804 ( 100/200 GE Z...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
Introduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptxIntroduction to Microprocesso programming and interfacing.pptx
Introduction to Microprocesso programming and interfacing.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
Biology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptxBiology for Computer Engineers Course Handout.pptx
Biology for Computer Engineers Course Handout.pptx
 

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