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 Sat, 16 May 2015 08:20:13 GMT
Am 15.05.2015 18:43, schrieb Dmitry Semionin:
[...]
> Pros:
>
> 1. As of version 2.4, Groovy officially supports Android as a platform.
> 2. I seem to like Groovy's syntax compared to Kotlin's.
> 3. It's been around for a while, much larger userbase, tons of answered
> questions on SO, several books from independent authors, so it looks
> like i won't be alone in the woods on this path.
>
> Cons:
>
> 1. No official Android development guides, and not much 3rd party info
> that could work as a guide for Android development using Groovy.
> 2. From what i know, the shaky situation with project sponsorship, so
> it's unclear how well will the project be evolving.
> 3. The benchmarks i've seen show that Groovy is substantially slower
> than Kotlin and its runtime is heavier, which means performance
> drawbacks and bigger binaries.
> 4. Lots of resources claim that Groovy is a dead end and that the
> interest to it is on a steady decline. Don't know if it's true but i'd
> definitely like to avoid studying a dying technology.

I think that cons-part should be split into current situation and 
potential for development.

current situation:
1.) lacking android guides... true. We depend on the community for such 
things.
2.) right now, there is no sponsorship for Groovy directly, still Groovy 
will evolve. It is more a question about speed.
3a.) micro-benchmarks are always to be taken with a grain of salt and 
most of the time they tell you nothing about the performance of your 
application later on. If your android app is going to spend 90% of its 
time in android code, then the performance of the remaining 10% does not 
matter all that much. I once gave a talk about some simple performance 
improvements you can do just by using Groovy's API right for example.
3b.) bigger binaries is true.
4.) We have comments about the project declining and dying since 2005. I 
don't think it will happen as long as gradle is using Groovy

potential:
1.) development guides can come, just someone has to write them
2.) if some people think Groovy does not develop fast enough anymore and 
they don't just go somewhere else, there will be new sponsorship. But I 
don't think anything will happen this year.
3.) There is still tons of potential to improve Groovy's performance


> As for Kotlin
>
> Pros:
>
> 1. Strong support from a big and successful company who knows how to
> make development tools.
> 2. Is said to be small and fast.
> 3. In every "Groovy vs Kotlin" discussion i've seen so far, Kotlin is
> the one people recommend.
> 4. Has a section in documentation dedicated to Android development, so
> at least setting up the required tools won't be a problem.

since I am biased to Groovy I have of course to say some thing here... 
Kotlin receives a lot of love from IntelliJ, but it is also 100% 
depending on that. Should the company be forced to safe money, then you 
cannot be sure Kotlin won't be the first thing to receive cuts. They are 
trying hard to get Kotlin on Android by reducing the footprint of the 
runtime and have it fast there. From what I hear your point 2 is true... 
but if it does matter depends. And as such I cannot say I would 
recommend Kotlin. I personally find Kotlin better than Scala, but that's 
about it. Since this is a "Groovy vs Kotlin" discussion, and since I 
don't recommend Kotlin, I invalidated your point 3 ;) No seriously. It 
is the same as with performance... If it matters depends. For example if 
you are going to deploy a 100MB app, then it really does not matter if 
you save a few MB by using a different runtime. In total I really doubt 
it will matter all too much in an app most of the time. There are 
special cases of course, but they are special cases.

> Cons:
>
> 1. Kinda immature, still in beta, not so widely adopted.

That would not stop me to be frank.

> 2. I don't find its syntax appealing.

This on the other hand would ;)

> 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.

> To make myself formal, i'm addressing only those of you guys who had an
> actual experience developing for Android using Groovy/Kotlin:
>
> 1. When developing for Android with Groovy, did you encounter any issues
> that you could not easily solve and that made you consider switching to
> a different programming language?
> 2. Could you recommend Groovy as a primary Android development tool to a
> programmer with no previous Android experience?
> 3. (Optional, answer only if you feel you have enough of an outlook on
> this topic) What language (and related tools) seems the most optimal to
> you for Android development, if we took into account flexibility,
> learning curve, stability and the public adoption?

My question would be more like... are you working alone? Then it is 
probably best to take the tool you find more comfortable with. Are you 
working in a team, then you have to look at the people in your team as 
well.

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.

bye blackdrag

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


Mime
View raw message