April event: Kotlin makes Java null and void

Brighton Java seemed a good name in 2012, when we started the group. But, actually, Brighton JVM would have been better. Although I guess that excludes Android, which uses Java but runs on the Dalvik VM. Naming things is difficult.

For our April 2018 event, we welcomed Android developer, Chetan Padia.  Chetan has worked on some interesting mobile projects, including Swiftkey, Beeline and the Beano app. His talk, which previously appeared at Brighton Mobile, was called ‘Kotlin Makes Java Null and Void’ (slides):

I’d been aware of Kotlin from managing an Android team recently, but I’ve not had chance to play with it. Chetan did a great job of showing why so many people were enthusiastic about Kotlin, as well as giving an idea of how easy it is to get started.  If you want a quick, non-technical intro, Wired produced a good introduction, Kotlin: The Upstart Coding Language Conquering Silicon Valley (apparently, “If it were a car, Java would feature a fast, reliable engine but not antilock brakes, power steering, or cup holders.“)

Chetan’s talk went through some of the high-points of the language – the use of optionals, the interoperability with Java, and some of the new operators, such as !!, which asserts a variable is not null. The language is designed to reduce boilerplate, with a lot of things being implicit, such as classes assumed to be ‘public final’ unless explicitly said to be otherwise.

It looks as if Kotlin is getting a traction that even scala has yet to manage. A lot of the official android examples are now shown in both Kotlin and android. It also turns out a local company has been using Kotlin with Spring.

Kotlin was originally designed by Jetbrains, who have also built the Intellij IDE. This close relationship between IDE and language means that the tooling is mature, even at an early stage in the language’s history. Oner of the nicest things is that Intellij can convert Java to Kotlin automatically. While not perfect, Chetan says that this is a good way of learning the language: “Intellij acts as a sensei”.

Brighton Java would have been better off being called Brighton JVM, and Chetan’s talk was another example of why this is. The JVM has proven to be the most interesting aspect of the Java platform, providing it with a life beyond what might have been expected from a slightly clunky language.

Chetan’s recommended resources:

Thank you to Brandwatch for providing the venue, and to West Pier Studio, who sponsored this month’s event. West Pier Studio are currently recruiting

April 2nd: ‘Crunch Presents’ Talks evening

An evening of short talks from the staff of Crunch:

• James Burt: “Solving poetry with Java”

• Laurence Barry: “Agile: Mad, Bad, and Dangerous”

• Andrew Walters: “Hazelcast: Distributed Computing, Simplified”

Brighton Java returns with an evening of talks about problems with agile, the open source Hazelcast platform, and building robots to enter poetry slams.

Doors open at 7pm and the talks will start around 7:45. Beer and pizza will be provided by Crunch Accounting – please RSVP so we now how much to order in. The group welcomes new members. We look forward to seeing you!

Notes from An introduction to Scala

We had our busiest evening yet, with 23 people turning up to hear Dave Gurnell and Richard Dallaway from Underscore talk about functional programming with Scala.

Slides from the talk

Slides on Github

Dave and Richard made a sample app that they wrote in Java and Scala for comparison
purposes but didn’t end up using in the talk. You can check it out from Github.

Links mentioned:

Wednesday 3rd July 2013, 7:00pm: Grails in Action! with Steve Lillywhite

Steve Lillywhite presents some real world Grails knowledge, including how you can write succinct code to look up domain objects, the ease of using and customising plug-ins, robust security and how to manage performance and scaling. For Grails novices there will be also be a brief introduction by David Pashley.

Doors are open from 7pm and there will be beer supplied. We will start the talk between 7:30 and 7:45. Please RSVP on the meet-up page so that we can get enough beer in!