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/