• Post Reply Bookmark Topic Watch Topic
  • New Topic

Kotlin in Action: Documentation should be Java-focused  RSS feed

 
Ranch Hand
Posts: 472
8
Android Open BSD Slackware
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The only negative sides are in my advice 2:
the already mentioned steep learning curve, but you can be gradual
and the lack of java vs kotlin documentation. The official documentation does not consider Java as starting point, huge mistake in my opinion, that make some examples really cryptic. You can see the Java source code generated really easy with IntelliJ, but some part of the documentation are really bad in my opinion. There is some video from Svetlana ( that is really nice, she held conferences in all the world for the community, she also brought us some flags with kotlin when she came in netherlands eh eh) that is quite cool because you cansee some Java-Kotlin conversion, and also some cheat sheet, but still the documentation in my opinion should be more Java->Kotlin oriented.  Would have been much easier, even some unofficial guide...

EDIT well lately they are covering this aspect also on the documentation, but is still a work in progress in my opinion
 
author
Ranch Hand
Posts: 149
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
_More_ Java-focused? If anything, the feedback we've been getting on the documentation is usually the opposite - that we imply too much knowledge about Java and do not explain the basic concepts enough for people coming from a background of JavaScript or another language such as Python. And that's the direction in which we want to move the documentation.

And could you please point to some specific parts of the documentation that are really bad, in your opinion?
 
Giovanni Montano
Ranch Hand
Posts: 472
8
Android Open BSD Slackware
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Dmitry Jemerov wrote:_More_ Java-focused? If anything, the feedback we've been getting on the documentation is usually the opposite - that we imply too much knowledge about Java and do not explain the basic concepts enough for people coming from a background of JavaScript or another language such as Python. And that's the direction in which we want to move the documentation.

And could you please point to some specific parts of the documentation that are really bad, in your opinion?


here the reply attached here as the post was moved, please consider I like a lot of aspect of the documentation as well, I even do not have the competences to say that

Dmitry Jemerov wrote:_More_ Java-focused? If anything, the feedback we've been getting on the documentation is usually the opposite - that we imply too much knowledge about Java and do not explain the basic concepts enough for people coming from a background of JavaScript or another language such as Python. And that's the direction in which we want to move the documentation.

And could you please point to some specific parts of the documentation that are really bad, in your opinion?


Dmitry thank you very much. As I said to Svetlana in Amsterdam, IntelliJ is made of geniuses, when I came to AndroidStudio, I was crying for the happiness that human minds can do something so user coder friendly.
But the Kotlin documentation is your Achilles head, my opinion.

Professional Android developers all said to me is one of the best documentation ever, but for junior like me not at all.
let's see some example but before please consider that is clear to me that there are much more example in Java than in Python or JS, Not because is a Java compatible language, but because Android used to have Java. Most of the users came initially from this world, especially after the Google I/O announcement of this year. Announcement that I was 98% cent sure would have been made, for several reasons. So I recognize that documentation has much more mention about Java than Haskell but with that premises is normal to me.

Said that:
this for me is the less beautiful page of the documentation, even considering that you have an introductory one on Delegation just before this one.

then there is this other one, ok is still not official and the argument is advanced, but still could have been explained better for a junior. For me is difficult, and I play a lot with classes methods as AsyncTasks, ThreadPoolExector, Synchronize, notify, subscribeon(Scheduler.io) etc.

then without sending a link: high order functions, inline functions, generics in and out concept.

Is just my opinion, a Junior developer ( in the leisure time).  I did some java training, then I jumped on android, so for me is not immediately clear that the delegation pattern have to be preferred  because composition is favorable over inheritance. Because possibly I did not read Joshua Bloch, or I am not  100 per cent familiar with SOLID principles. The same for covariance and contravariance, some examples would tremendously help. Ok I can google and go around blogs, SO posts, or asking help to the great moderator of this form, but I think that Kotlin documentation should also explain some basics concepts, the Oracle documentation at this purpose is great, even if of course we are speaking about the language that have been since 20 years on top of TIOBE or so.

Just my opinion, Dagger2, RXJAVA the same. All these libraries hit really fast the community, but developers should apply TDD documentation practices and mainly consider that if a feature is already in Scala, does not mean that in Kotlin or whatever language people know it already.
Of course I am really happy that looking up in the  internet I learned a lot. For instance now I am playing with some python( as almost product owner) in my company and the synthax looks really easy, because knowing some Kotlin, it become really downhill, so I am really happy with that. Learning to connect the dots with the documentation is a great way to become a more efficient problem solver, this ability I am bringing back in resolving bugs, in looking for documentation, so there is a bright side. Just I suggest to make it a bit more Junior oriented, even if is a language not super easy.


EDIT: who want to start to make cakes have to buy flour, who want to start to do coding have to do some Java, is perfect to learn coding, even if Linus Torvalds would possibly have some reservation on that . So outside all the consideration more Java-> Kotlin there is, better is in my opinion
 
Author and ninkuma
Marshal
Posts: 66729
167
IntelliJ IDE Java jQuery Mac Mac OS X
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Giovanni Montano wrote:
here the reply attached here as the post was moved, hey the title is a bit strong


Updated.
 
Giovanni Montano
Ranch Hand
Posts: 472
8
Android Open BSD Slackware
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Bear Bibeault wrote:

Giovanni Montano wrote:
here the reply attached here as the post was moved, hey the title is a bit strong


Updated.



EDIT 2: Passing from Python or even worse JS to Kotlin is a really difficult challenge in my opinion. This challenge can become easier if one has the humility to learn at least some basis of Java. Java is far to be dead, and it explain really well coding because of his verbosity. Is like you before do an half marathon, and then a marathon. Cannot go from 2km ( JS basics) to a marathon(Kotlin/Scala/functional stuff). If you do that you will have injuries( means lack of java knowledge, lack of ability to see any legacy code. Plus Java is far to be dead as Kotlin is Java.

Becoming fluent in idiomatic Kotlin takes "let's say"  3 months for a good java dev. If you start from JS +Jquery you will possibly need 8 months. If instead you go trough 1/3 weeks of core java, it will take 5 months. So you learn in any way much faster.

OK there are some functionality of Kotlin that are inspired maybe to some more high level languages, but this is not the point. Java is bread a butter, is the UML of the coders. You learn it and you are near C and C++, but also you are going to learn almost for free JS, PHP, not too mention C#. Java is the computer story.
 
Shiny ad:
Why should you try IntelliJ IDEA ?
https://coderanch.com/wiki/696337/IntelliJ-IDEA
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!