Webinar Recording: Functional Programming with Kotlin

The recording of our October 22nd webinar, Functional Programming with Kotlin, is now available on JetBrainsTV YouTube channel.

In this talk, Mike Hearn provides a brief introduction to programming in Kotlin via practical example: creating a textfield with the autocomplete suggestions while typing. Demo project is available on GitHub.

Topics covered include:

  • Use of functional transforms
  • Immutability
  • Lazyness and working with lazy infinite sequences
  • The use of funKTionale, a library that extends Kotlin with a few features known from Haskell
  • Pattern matching
  • Reactive user interfaces

Continue reading

Posted in Events | 1 Comment

The Kotlin Language: 1.0 Beta is Here!

We are extremely pleased to present Kotlin 1.0 Beta for JVM and Android!

To recap: Kotlin is a modern programming language that JetBrains has been working on for quite some time now.

This post gives an overview of where we are and what’s coming next. Changes in this version are listed here.

The story behind Kotlin

Kotlin was conceived in 2010. Ten years of Java development led us to feeling that our productivity at JetBrains could be improved significantly by using a modern JVM language alongside Java. Having evaluated other available options, we decided that a new language was needed there, and we had the expertise and resources to create such a language. Our primary line of business is making tools for developers, and the guiding principle is that the best way to make an awesome product for the users is to make an awesome tool we need ourselves. This worked with IntelliJ IDEA, ReSharper, and many other IDEs, as well as TeamCity and other server products, so we set off to apply the same principle for another developer tool — a programming language. Continue reading

Posted in Releases | 35 Comments

Kotlin 1.0 Beta Candidate is Out!

We are happy to present Kotlin Beta Candidate. An official 1.0 Beta will be out soon. By now, the binary format is finalized, no major language changes are planned, and only a few changes in the standard library are coming.

In this post we describe the changes since M14, including

  • imports from objects,
  • new safer collection interfaces,
  • inlining for Java constants,
  • better support for Java statics,
  • and more. Continue reading
Posted in Releases | 71 Comments

Join Live Webinar — Functional Programming with Kotlin

Join us this Thursday, October 22nd, 14:00 – 15:00 GMT (10:00 – 11:00 AM EDT) for our free webinar, Functional Programming with Kotlin with Mike Hearn

In this talk, Mike Hearn will provide a brief introduction to programming in Kotlin via worked, practical examples, with a focus on functional programming.

Topics covered will include:

  • Use of functional transforms
  • Immutability
  • Lazyness and working with lazy infinite sequences
  • The use of funKtionale, a library that extends Kotlin with a few features known from Haskell
  • Pattern matching
  • Reactive user interfaces

Everyone is welcome!

You can ask questions to Mike and suggest themes for future webinars in comments.

Mike Hearn Mike Hearn is a Java, Kotlin and C++ developer who works on digital currency related software. Prior to that he was a senior software engineer at Google, where he spent over seven years working on a range of products including Earth, Maps, Gmail and the accounts system.

Posted in Events | Tagged , , , , , | 5 Comments

Kotlin M14 is out!

With the release approaching, we switch to shorter milestones. Meet M14 that brings the following changes:

  • Support for annotations on file classes
  • New Java API for the Standard Library
  • operator modifier for operators
  • Backing fields are now accessed through a synthetic field variable Continue reading
Posted in Releases | 31 Comments

What’s new in Standard Library M13 and M14

Standard Library continues its evolution:

  • Lazy<T> type has been introduced
  • More concise syntax for storing properties in a Map
  • Final changes in the Char arithmetics
  • Plus and minus operations on a collection now depend on its type
  • New scope functions: apply and run
  • Right-open ranges
  • Trimming indents in multiline strings literals
  • and more

Read details

Posted in Libraries | 18 Comments

Call for Feedback: Java Statics, Result Expressions and More

Thank you all for the feedback we got on the previous call! Here comes another round of changes and adjustments. Your opinions and use cases are welcome. Continue reading

Posted in Language design | 58 Comments

Kotlin Eclipse Plugin 0.3.0

We are happy to announce Kotlin Eclipse Plugin version 0.3.0. This release is loaded with new features:

  • Kotlin M13 support
  • Find references
  • Parameter hints
  • Select enclosing/next/previous element
  • Override/Implement action
  • Body conversion intention
  • Debugger: Run to cursor
  • Debugger: Step into selection
  • Better performance

Drag to your running Eclipse workspace to install Kotlin Plugin for Eclipse

Continue reading

Posted in Releases, Tools | Tagged , , , , , | Comments Off on Kotlin Eclipse Plugin 0.3.0

Webinar Recording. Quasar: Efficient and Elegant Fibers, Channels and Actors

The recording of our September 16th webinar, Quasar: Efficient and Elegant Fibers, Channels and Actors, is now available on JetBrainsTV YouTube channel.

In this webinar, Fabio Tudone shows how to use Quasar for creation of highly concurrent software. He covers basics of Kotlin syntax and shows how Quasar uses Kotlin strengths to offer concise and expressive API.

Demo project is available on GitHub.

The video includes the time stamps following the agenda announced:
00:55 – What are Quasar and Fibers?
12:22 – What are Quasar Channels?
15:50 – What are and why using Quasar Fibers?
21:15 – From Async to efficient Fiber-Sync with Quasar
27:13 – Quasar Actors and Selective Receive
37:54 – Quasar Dataflow
45:19 – Pulsar: Quasar’s idiomatic API for Clojure
45:19 – Comsat: existing APIs on steroids with Quasar Fibers
47:07 – Comsat Web Actors for HTTP, SSE and WebSockets
49:58 – Capsule: deploy Quasar and any JVM applications

About the Presenter:

Fabio Tudone works on Quasar, Pulsar and Comsat at Parallel Universe. He has been writing mostly JVM software during his entire career, and before joining Parallel Universe he led the development of a cloud-based enterprise content governance platform. His interests include Dev and DevOps practices, scalability, concurrent and functional programming as well as runtime platforms at large.

Thanks to all the attendees for the questions! If you still have some, please, contact Fabio or our team.

You are welcome to suggest themes for future webinars in comments.

Let’s kotlin!

Posted in Events, Libraries | Tagged , , , , , | 1 Comment

Call for Feedback: Upcoming Changes in Kotlin

As mentioned before, we are wrapping up with the language design, and this post is a head-up for the upcoming changes + request for your feedback. Continue reading

Posted in Language design | 91 Comments