A quick introduction.

Slides:



Advertisements
Similar presentations
Programming for Beginners
Advertisements

KAnnotator: Inferring Type Information from Java Byte Codes Alexey Sedunov Andrey Breslav Svetlana Isakova Evgeny Gerashchenko JetBrains, s. r. o
IT253: Computer Organization Lecture 6: Assembly Language and MIPS: Programming Tonga Institute of Higher Education.
Developing Domain-Specific Languages for the JVM Travis Dazell Systems Architect Digi-Key Corporation.
Working with JavaScript. 2 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page Working with Variables.
XP 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties Tutorial 10.
An Introduction to Programming with C++ Fifth Edition Chapter 1 An Introduction to Programming.
Honors 101, Fall 2006 Please do not sit in back of room! Lots of info on web page Join the mailing list Download Eclipse and start using it Read the text.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
Introduction to Java.
PARALLEL PROGRAMMING ABSTRACTIONS 6/16/2010 Parallel Programming Abstractions 1.
Java Server Pages (JSP) Presented by: Ananth Prasad & Alex Ivanov May 10, 2001.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
CSCI 273: Processing An Introduction. Programming Languages –An abstract "human understandable" language for telling the computer what to do –The abstract.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Java Virtual Machine Java Virtual Machine A Java Virtual Machine (JVM) is a set of computer software programs and data structures that use.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Haskell Chapter 1, Part I. Highly Recommended  Learn you a Haskell for Great Good. Miran Lipovaca.
Introduction to Programming Peggy Batchelor.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
XP Tutorial 10New Perspectives on Creating Web Pages with HTML, XHTML, and XML 1 Working with JavaScript Creating a Programmable Web Page for North Pole.
Introduction and Features of Java. What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++
COP 3330 Notes 1/12. Today's topics Downloading Java and Eclipse Hello World Basic control structures Basic I/O Strings.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
CAMP 4:4:3 Power Session 1: Career Launch: CAMP 4:4:3 Path to Success
CSCI Processing CSCI Introduction to Algorithm Design An Introduction.
BUILD ON THE POLYGLOT COMPILER FRAMEWORK MIHAL BRUMBULLI 7th Workshop “SEERE” Montenegro-Risan 9-14 September 2007 SimJ Programming Language.
Introduction to Python Lesson 1 First Program. Learning Outcomes In this lesson the student will: 1.Learn some important facts about PC’s 2.Learn how.
22-July-2002cse142-13B-Development © 2002 University of Washington1 Development Tools CSE 142, Summer 2002 Computer Programming 1
A compiler is a computer program that translate written code (source code) into another computer language Associated with high level languages A well.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
What is Java? Jonathan Sleeper. What is Java? JavaScript and Java – NOT the same! Simple programming language which defines the behavior of elements on.
Software Development Introduction
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
ITP 109 Week 2 Trina Gregory Introduction to Java.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
XP Tutorial 10New Perspectives on HTML, XHTML, and DHTML, Comprehensive 1 Working with JavaScript Creating a Programmable Web Page for North Pole Novelties.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
Fall 2016 Images from Sebesta: Copyright © 2012 Addison-Wesley. All rights reserved.
Real Testing Scenario Strategy: A Real-life TestOps Environment
CS210 Intermediate Computing with Data Structures (Java)
COMP 2100 From Python to Java
Lecture 1b- Introduction
Top 8 Best Programming Languages To Learn
GF and RS, Dept of CS, Mangalore University
Slide design: Dr. Mark L. Hornick
ITM352 PHP and Dynamic Web Pages: Server Side Processing 1.
Comp1004: Loops and Arrays II
A Short DOS Presentation
Introduction
Designing a DSL in KOTLIN
Google Web Toolkit - Gufran Mohammed
Artūras Šlajus VS through eyes of Ruby programmer.
Introduction CSE 1310 – Introduction to Computers and Programming
MonoGame and Windows 8.
Mary Grygleski Developer Advocate (Java) James Weaver
Dr. Clincy Professor of CS
A brief introduction to Kotlin
Introduction to Algorithm Design
statically-typed JVM-targeted programming language
Java for IOI.
Types and Type Checking (What is it good for?)
CS 1111 Introduction to Programming Spring 2019
An Introduction to Programming with C++ Fifth Edition
What is TypeScript, and Should You Care?
Kotlin vs Java Will the Emerging Player Beat the Veteran?
Popular Programming Languages for Mobile Apps In recent years, Mobile App development industry has gained huge popularity as more and more people are.
Presentation transcript:

A quick introduction

About me Adam Arold I work at IBM Budapest Lab (Ustream) My favourite language was Clojure Until I started working with Kotlin

What Kotlin is Not

What is Kotlin? A JetBrains home-grown programming language which… Is a simple and flexible alternative to Java Which interoperates well with existing Java code Compiles to Java bytecode Runs on the JVM (And can also compile to Javascript)

Kotlin promises to… let you achieve more with less code solve a lot of problems in Java help you keep using the Java ecosystem let you write your front-end and back-end code in the same language give you 100% Java interoperability do it well compared to the alternatives (Clojure, Scala) add only a thin layer of complexity on top of Java

Value objects vs Data classes

String interpolation

Extension functions

Null Safety

Type Inference

No Checked Exceptions

Lambdas

Functional programming support

Kotlin / Java interoperability

Things to tell your Boss Kotlin comes from industry, not academia. It solves problems faced by working programmers today. It is free and Open Source Comes with a useful Java to Kotlin converter tool You can mix Kotlin with Java with 0 effort Can use all existing java tools/frameworks Supported by the best IDE on the market (with free version) Easy to read, even non-Kotlin programmers can review your code You don’t need to commit your project to Kotlin: you can start by writing your tests in it JetBrains is not likely to abandon Kotlin because it drives their sales

Does it live up to the hype? Only You can tell

WHERE TO START? https://kotlinlang.org/docs/tutorials/ https://www.reddit.com/r/Kotlin/ https://kotlinlang.org/docs/tutorials/koans.html https://blog.jetbrains.com/kotlin/ https://github.com/KotlinBy/awesome-kotlin