Programming Kotlin Applications (Wrox)

Author:  Brett McLaughlin
Publisher: Wrox/Wiley
Pages: 384
ISBN: 978-1119696186
Print: 1119696186
Kindle: B08QCK4982
Audience: Beginning Kotlin Programmers.
Rating: 3
Reviewer: Alex Armstrong

Kotlin applications - what applications in particular?

The subtitle is "Building Mobile and Server-Side Applications with Kotlin" which sounds great, but applications are not really the focus of this book. What it is is a wander through the interesting parts of Kotlin. This is fine, but as I was reading it I was constantly worried that what I was reading might not be complete or that I might have missed something. The presentation isn't logical so there is no way you can follow a thread of topics and feel secure that you are on the right track. Instead what we have is thirteen chapters of topics on single themes, but without any real organization. As to applications - well I couldn't find any.

The IDE used is IntelliJ and this is reasonable but if you are thinking mobile applications then it's Android Studio you need - but this just gets a brief mention at the end. You don't even get to see a mobile app or a server side app developed using IntelliJ. Instead this is just about the basics of the language.


The first four chapters are about objects and classes, a reasonable place to start, but you have to take into account that Chapter 7 is on control structures and that might be a better place to start. In general the material assumes that you are an object-oriented novice. but the next second the level changes to intermediate Kotlin and you are looking at hashCode(). We also look at nullable types. This is not a logical account of Kotlin's object-oriented approach.

Chapter 5 deals with collections and I think this is too early given we haven't gone over basics like control structures. The same comment applies to Chapter 6 on Generics - it just isn't this important. Most Kotlin programmers will be consumers of generic classes not producers. What a shock then to reach Chapter 7 and discover that we are back in the land of If..then..Else. and sections titled "For is for looping".

Chapter 8 deals with data classes and spends far too much time on a simple idea. Chapter 9 follows on with enums and other special classes. Chapter 10 is about functions and this is a big area where Kotlin has made things more sophisticated. Again my main concern was the lack of logical organization.

Chapter 11 is supposed to be about idiomatic Kotlin but is actually about scoped functions. Is this all there is to say about idiomatic Kotlin? Chapter 12 returns to inheritance and it deals with things that weren't covered earlier for no particular reason.

The final chapter discusses Kotlin for Android, but really doesn't say anything helpful, and then goes on to compare Java and Kotlin and explains that they can work together. As one of the huge advantages of Kotlin is that it interoperates with Java this is a little late and not really enough.

You might get the impression that I'm not happy with this book and you would be right. It isn't about applications. it is a rambling introduction to the Kotlin language. Most of the time the explanations are not particularly helpful and are mostly concerned with being cute rather than clear. This said, I can well imagine that there are readers who will want a discursive journey through some parts of the Kotlin language without too much emphasis on why Kotlin is a better Java.

To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.


Beginning Rust Programming

Author: Ric Messier
Publisher: Wiley
Date: March 2021
Pages: 416
ISBN: 978-1119712978
Print: 1119712971
Kindle: B08WZ2D7WC
Audience: Developers wanting to learn Rust
Rating: 3
Reviewer: Mike James
Everyone seems to want to know what makes Rust special. Does this book give the answers?

Beautiful C++

Author: J. Guy Davidson and Kate Gregory
Publisher: Addison-Wesley Professional
Date: December 2021
Pages: 352
ISBN: 978-0137647842
Print: 0137647840
Kindle: B09HTH1X38
Audience: C++ developers
Rating: 5
Reviewer: Mike James
Can C++ be beautiful?

More Reviews

Last Updated ( Tuesday, 19 October 2021 )