To calculate the overall star rating and percentage breakdown by star, we do not use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyses reviews to verify trustworthiness.
Although I’ve been vaguely aware of Kotlin for a while, I started to take serious notice recently when it became an “official” Android language. I wanted to learn more so looked for a book and Kotlin in Action seemed to fit the bill.
Firstly, as other reviewers and the book itself make clear, the target audience is experienced Java developers. If you don’t have a good grasp of Java, this is not the book for you.
Although this is a review of the book and not the Kotlin language, some background might be helpful:
Kotlin is a JVM-based language that is compatible with Java (and vice versa) and uses the standard Java libraries. Kotlin was developed by Jetbrains, the company behind the IntelliJ IDE that also forms the basis of Android Studio. The book authors are members of the Jetbrains core team so should know of what they speak.
Ideally you’ll read the book and form your own opinion, but my own take is that Kotlin is an evolution of Java that eliminates much of the tiresome boilerplate (JetBrains IDE heritage is evident here) and “cleans up” many of the language features. This includes every Java developer's favourite, the NullPointerException. In a way, Kotlin is what Java might look like if the original designers had known then what we know now.
One simple example is a data value object where in Java you must declare all the properties and then add getters and setters, usually via an IDE. Jetbrains have moved this into the Kotlin compiler itself so you just declare the class and properties and the getters/setters are generated in the bytecode - they are not part of the source so it is much cleaner to write and read.
The book itself is well-organised and of a high standard with few, if any, typos. The chapter organisation seems logical and there are many examples as befits the "... in Action" series. I found that the more difficult concepts were made easier to grasp by the book’s frequent sidebars on how the feature is implemented in Java.
The book was only published in Feb/Mar 2017 and things are already moving on as of June 2017. However, reading this book and working through the examples gets you most of the way up the learning curve. Any updates can be easily found on the web.
Whether Kotlin makes it to the “big time” and stays there probably depends largely on its use with Android, but it’s certainly a possibility. Regardless, I suggest that it’s certainly worth a few hours study via this book, even if only to make you think about those elements of Java that we accept just because they’ve always been there. Time for a change?
I haven't been a great fan of the "in action" series in the past. I've found (IMO), the previous books I'd bought (Hibernate, Solr, Seam, iText, Struts, JUnit) not very well laid out and too 'dense' with information, with it all crammed onto one page. I bought them at the time because they were the most recent and best of the few available. This has changed my opinion.
Having "bet the farm" earlier this year on Scala I started to read about Kotlin when it was announced that Kotlin would be the official Android language. As big fan and user of JetBrains' IntelliJ IDEA-EAP, they are the creators of Kotlin, it has given the language (for me) a lot of credence.
I found this book very well laid out, easy to read and interesting. You can tell it was written by "doers" not Academics. I like the way they don't hawk Kotlin around as a total replacement for Java and talk a lot about 'interoperability' with Java, the JVM and existing libraries. No one's going to ditch years of Java investment to totally switch to another language.
Kotlin hasn't been popular for long enough to amass a large stack of books. But this is by far the best of those I've seen.
Too many books simply explain the syntax. This is one of those that gives you a much deeper understanding: it explains WHY you might use particular constructs, as well as how, what they achieve, and how they fit together. And although it starts with the very basics, it goes progressively deeper, so that by the end it's covering things that will only be used by authors of libraries and DSLs.
This is also the authoritative book, written by people at JetBrains on the team that designed and implemented the language, and continue to develop it. So they know their stuff! They know why the language was designed as it is, and the rationale behind its various features and trade-offs. And luckily, they're also very good at explaining it: the book is clear, lucid, and readable. (Despite its authors being Russian, the book's English is impeccable. In fact, that's true of Kotlin itself: in countless tiny ways, its use of English is better than most other programming languages.)
The book goes at a fair pace; if you don't know Java or another modern OO language, you might find it a bit terse. But I appreciated the lack of filler and the huge amount of insight packed into a moderate-length book.
Perhaps the highest praise I can give it is this: I read it cover-to-cover three times. I've only found myself doing that for the best books (Programming In Scala, Sedgewick, and a select few others). In fact, the only thing stopping me from delving into it more is that I lent my copy to some workmates (where all new development is in Kotlin — in fact, the language sold itself, and I didn't need to persuade anyone!)… Luckily, the book comes with a code to download an electronic copy, so I have that to refer to!
If you want to get a good understanding of the language, this is the book to get.
Not by any means a book for those not pretty well conversant with Java, even with quite a bit of Java experience I find the book at times demanding (but never confusing), it is turning me from a novice however into I feel reasonably comfortable with the Language core, so it does the job.. and well.
Undoubtedly the best Kotlin book currently available, without mentioning others at least one of them is pretty dire.
I started working on a Kotlin project but I didn't know the language. So I bought this book to get me started and was not disappointed. It clearly describes both beginner and intermediate features and approaches to using Kotlin. I liked it enough that I got another copy for my team.
Bücher, die einen in eine Programmiersprache einführen, haben in der Regel eines von zwei Problemen. Viele sind als generelle Einstiegsbücher für die Programmierung im Allgemeinen konzipiert und für erfahrene Programmierer entsprechend langweilig. Viele andere sind eher Nachschlagewerke und setzen ein Grundwissen in der entsprechenden Sprache voraus, die ein Umsteiger in der Regel nicht hat.
Dieses Buch ist anders. Es richtet sich gezielt an erfahrene Java-Entwickler und bringt dieser Zielgruppe, basierend auf der Java-Erfahrung, die Konzepte von Kotlin nahe. Zugegeben, das ist bei Kotlin auch besonders einfach, weil sich diese Sprache perfekt ins Java-Ökosystem integriert, aber dennoch würde ich mir mehr solche Bücher für andere Sprachen wünschen. Hinzu kommt noch, dass Kotlin eine geniale Sprache ist, die viele Träume und Wünsche von Java-Entwicklern wahr werden lässt :-)
Ich kann jedem Java-Entwickler nur empfehlen mal einen Blick auf Kotlin zu riskieren und in diesem Zusammenhang dieses Buch durchzuarbeiten. Es lohnt sich.