Am 19.05.2015 22:34, schrieb Dmitry Semionin:
[...]
But still i would like to make a wise choice and
spend my time on something that i would be able to successfully apply
for solving other types of tasks too.


        3. Best suited for use inside the JetBrains ecosystem, which
        means that
        outside of it there might be some issues.


    We are taking about developing apps... are you going to use Kotlin
    outside of an Android Studio environment? If not, then this is
    nothing to worry about. And if yes, there is still Gradle and a
    Eclipse plugin.

Yes, when talking about Android development _only_, i don't think
thinking about what's outside of Android Studio matters. But Kotlin is
not peddled as a language for Android only. Nor is Groovy. So i'm trying
to figure out which of them has a bigger universal potential.

Both are general purpose languages, so they have the same potential imho. In the end it is really you that has to decide. For me dynamic Groovy is more interesting than Kotlin - and that is mainly because I don't give so much on a static compiler at all. For me Groovy has then the bigger flexibility. But that is first a matter of taste. You can do the same things "somehow" in Java or Kotlin as well. But why would you? They follow a different principle, so you solve problems in a different way. Which brings me to a different thought actually... If you want to learn a new language to expand your programming experience and your background is Java, then I would suggest using a language with different principles. In that case Kotlin would be on the last place and in a Kotlin vs. Groovy I would suggest Groovy to learn a bit about runtime meta programming for example (and many other things). Of course you could also go with Python, Clojure, Prolog, Lisp or Ruby (unordered list) to learn other concepts with "big" differences to Java.

    My question would be more like... are you working alone? Then it is
    probably best to take the tool you find more comfortable with.

And to understand which tool is more comfortable one has to spend some
time working with it, right? ;) I wish i had all the time in the world
just to try programming languages and standard libraries like shoes so
that i can actually feel which one suits me better. But i don't have
this luxury right now, and the reason behind my post is to find out what
other, more well-versed programmers, found comfortable for themselves. I
don't think i'm too unique for their experience to be in vain.

I think you are a bit wrong. What we feel comfortable with depends in my opinion a lot on past experiences. I don' claim to have unique experiences, but times change and so does what is currently modern. I did for example not learn Fortran anymore. But I had to look at some Fortran programs and from that I can already tell you, that having to work with that language would have given you some impressions you will remember and that will influence later taste in programming languages. The question is if you want to come out of your comfort zone to learn something new or if you want to go with a modern alternative, that suits your past experience. In both cases you should tell me about what languages you worked with before and if you like or dislike them. From that I might be able to extract a suggestion. If your background is for example Java only and you want to stay in your comfort zone, then you are most likely someone eager to keep static typing and then I would actually suggest to use Kotlin for example.

    But I can tell you as much: There is no true best choice when it
    comes to programming languages. Especially not when it is going to
    be a long term project.

True. But some choices are still better than others. For example, i have
8 years programming with C++, so for me it's obviously a tool i feel
comfortable with.

I have about 15 years of experience with Java, and I don't feel comfortable with it ;) It annoys me every time I work with Java. I use it mostly because of the requirements, not because I like the language.

But obviously it's not the best choice for most of the
modern apps. So is Groovy good enough to view it not only as a Java
replacement for Android, but also a good universal tool? Maybe not the
best, but at least worth of mastering it?

I dare to say that Groovy is more a replacement for Java in general, than in case of Android. I always say that Groovy is a multi paradigm language. As such it offers good things from several worlds, and the extensible nature can make it a very powerful language. I think it is very worth mastering it. If you feel comfortable with it I don't know.

bye blackdrag

--
Jochen "blackdrag" Theodorou
blog: http://blackdragsview.blogspot.com/

Reply via email to