groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jochen Theodorou <blackd...@gmx.org>
Subject Re: Groovy to develop for Android
Date Wed, 20 May 2015 05:06:45 GMT
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/


Mime
View raw message