For both beginning and experienced programmers! From the author of the multi-award-winning Thinking in C++ and Thinking in Java together with a member of the Kotlin language team comes a book that breaks the concepts into small, easy-to-digest "atoms," along with exercises supported by hints and solutions directly inside IntelliJ IDEA!
Bruce Eckel is a computer programmer, author, and consultant. Eckel's best known works are Thinking in Java and the two-volume series Thinking in C++, aimed at programmers wanting to learn the Java or C++ programming languages, respectively, particularly those with little experience of object-oriented programming. Eckel was a founding member of the ANSI/ISO C++ standard committee.
Disclaimer 1: the rating is for the book, not the technology Disclaimer 2: this is an "old-fashioned" learn-the-programming-language kind of book, close to previous books by Eckel (e.g. Thinking in Java) - in my case it's a pro, but I'm an old-timer
My context: this was my first experience with Kotlin. I reached out for this book because I frequently need to do something on JVM - with Java interoperability, but I don't want to use Java itself (because of my individual preferences). I used to solve that problem with Scala (which I've initially fallen in love with), but that language has its issues which unfortunately will probably never be solved. Kotlin is gaining popularity, it's very readable, it was designed by engineers not scientists - initially, I thought it's good only for mobile development, but it seems it's a very solid general-purpose language.
I like AK's simplicity and clarity. Each chapter represents a construct - a new building block. Each chapter assumes you're familiar with the content of the previous ones (in general). They are short, but meaty, no diagrams, but really good, focused code samples. All the most important aspects of the language (AFAIK) have been covered. So is there anything I didn't like?
1. there's not much about the Kotlin ecosystem there - Kotlin-specific libraries, frameworks, tools, IDE support, add-ons, etc. 2. there's not much about Kotlin roadmap and language development - where are the things heading, what to expect, etc. 3. I've expected even more detail on Java interop - yes, there are some meaty details (e.g. on generic implementation and how it corresponds to Java's one) and the basic integration scenarios are covered, but I expected more "real-life" advice 4. If you're a fan of "modern" programming language learning books (no theory, learning by doing), feel free to subtract one start from the rating.
That all makes the book very, very good. 4.5 stars good, rounded up to 5.
Great book that can teach Kotlin in an “atomic” aka independent way of reading each chapter regarding to knowledge of Kotlin of person that reads the book. Recommend it to newcomers to Kotlin language that more focused on deep knowledge that will be beneficial in a long term instead of fast start of using language in practice (for such devs feel free to use official Intellij IDEA learning plugin “AtomicKotlin” with exercises that recommended by authors). Experienced Java devs can be bored, and for them its better to focus on practical exercises instead to don’t waste time on obvious “atoms”. Also its worth mentioning that this book is good choice for newcomers especially Android devs without Java knowledge, as book from the beginning and until the end is focused on a zero knowledge of any other language(read it as “no Java background required” )
Probably the best book if you want to learn Kotlin. It is written Svetlana Isakova who has worked in JetBrains on developing Kotlin and Bruce Eckel who wrote on Thinking Java and Thinking C++, which I heard were great books. There is a lot of code is this book and the best way to learn is to actually write them.
The book is also designed around IntelliJ with coding exercises being done through a IntelliJ Edu-plugin. This is nice since Kotlin's main use case is developing Android apps through Android Studio which is just built on top of IntelliJ.
The only drawback I would have to give is that the book does not cover concurrency and coroutines in Kotlin. Thankfully the documentation does a good job of explaining this concept so it is not devastating.
The Kotlin documentation is one of the well written ones but I liked the book and how simply some the concepts were presented. The language itself has really good embedded functionality and it's easy to write and understand. The examples in the book were simple enough yet practical. So if you are someone who wants to look into Android development or just wanna start programming this book is a good start to get you up to speed.
It's not a bad introduction to Kotlin, but it doesn't go super deep or into a lot of interesting subjects or into a lot of interesting examples. You can learn the language from there, especially if you are on the beginner-ish side of the spectrum and the book is fairly brief. Sadly, it doesn't go in the fancy parts like coroutines or the fancy generics stuff.