Android Ported to C# - XobotOS

[quote=Hermanoz][quote=juliocbq]
Isso que você falou não é verdade. Api é um conceito abstrato. São somente interfaces. A implementação delas não tem nada a ver com java, ou seja android não é java, tanto é que a máquina virtual é diferente e consequentemente o bytecode também.

Não confunda linguagem com plataforma.
[/quote]

O que isso tem a ver com alguma coisa que eu falei?

Repetindo: A API do Android está disponível para apps escritas em Java. Usando C# vai ter que usar a API do mono. Em Scala você não tem API. Etc.[/quote]

O maior problema é voce nao entender do que esta falando, ai acaba falando estas besteiras todas!!

Voce sabe que quanto eu programo em Scala que roda na JVM eu tenho TODA a API do java disponivel nao sabe? :? Sabe que o mesmo vale para groovy, JRuby, etc? Sabe? Se sabe entao sabe que ta falando besteira, se nao sabe agora sabe.

O caso deste pessoal do mono é diferente, pois trocaram a linguagem da VM ou a VM inteira, ou sei la, mas o caso de programar para android com as outras linguagens que ja rodam na JVM, não tem NADA que ver com portar API.

[quote=fredferrao]
O maior problema é voce nao entender do que esta falando, ai acaba falando estas besteiras todas!!

Voce sabe que quanto eu programo em Scala que roda na JVM eu tenho TODA a API do java disponivel nao sabe? :? Sabe que o mesmo vale para groovy, JRuby, etc? Sabe? Se sabe entao sabe que ta falando besteira, se nao sabe agora sabe.

O caso deste pessoal do mono é diferente, pois trocaram a linguagem da VM ou a VM inteira, ou sei la, mas o caso de programar para android com as outras linguagens que ja rodam na JVM, não tem NADA que ver com portar API.[/quote]

Então deixa eu ver se entendi, você usa Scala, mas toda vez que precisa usar a API você recorre ao Java porque não existe API em Scala?!

WTF! Não foi isso que eu falei?

Bom, se você acha isso viável para desenvolvimento mobile parabéns, pra mim isso só serbe pra quem quer dar uma de esperto, tipo, “Olha eu programo Android com Scala!” rs

[quote=Hermanoz][quote=fredferrao]
O maior problema é voce nao entender do que esta falando, ai acaba falando estas besteiras todas!!

Voce sabe que quanto eu programo em Scala que roda na JVM eu tenho TODA a API do java disponivel nao sabe? :? Sabe que o mesmo vale para groovy, JRuby, etc? Sabe? Se sabe entao sabe que ta falando besteira, se nao sabe agora sabe.

O caso deste pessoal do mono é diferente, pois trocaram a linguagem da VM ou a VM inteira, ou sei la, mas o caso de programmiar para android com as outras linguagens que ja rodam na JVM, não tem NADA que ver com portar API.[/quote]

Então deixa eu ver se entendi, você usa Scala, mas toda vez que precisa usar a API você recorre ao Java porque não existe API em Scala?!

WTF! Não foi isso que eu falei?

Bom, se você acha isso viável para desenvolvimento mobile parabéns, pra mim isso só serbe pra quem quer dar uma de esperto, tipo, “Olha eu programo Android com Scala!” rs
[/quote]

Nusss :shock: :shock: :shock: Se foi isto que você entendeu de tudo que eu disse então a coisa tá feia, de duas uma: ou você realmente precisa ler um pouco mais ou esta simplesmente trollando, eu acredito na segunda opção, devido seu historico

Pra quem não se deu ao trabalho de procurar referências:

“Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. Code sizes are typically reduced by a factor of two to three when compared to an equivalent Java application.”

Scala é uma linguagem de programação, muito mais fácil de usar se equiparada com Java.

"Seamless integration with Java

Existing Java code and programmer skills are fully re-usable. Scala programs run on the Java VM, are byte code compatible with Java so you can make full use of existing Java libraries or existing application code. You can call Scala from Java and you can call Java from Scala, the integration is seamless. Moreover, you will be at home with familiar development tools, Eclipse, NetBeans or Intellij for example, all of which support Scala. It does not take long to become an effective Scala programmer when you are half way there already!"

É transparente o uso de Scala com Java, Scala acessando código Java, e o contrário também.

"Scala interoperates with Java and .NET

Scala is designed to interoperate well with the popular Java 2 Runtime Environment (JRE). In particular, the interaction with the mainstream object-oriented Java programming language is as smooth as possible. Scala has the same compilation model (separate compilation, dynamic class loading) like Java and allows access to thousands of existing high-quality libraries. Support for the .NET Framework (CLR) is also available."

Scala também roda sobre .Net.

http://www.scala-lang.org/node/25

Voltando ao assunto do post.

“… But Java is not the only way to build native apps on Android. In fact, it?s not even the best way: we have been offering C# to Android developers as a high-performance, low-battery consuming alternative to Java. Our platform, Mono, is an open source implementation of the .NET framework that allows developers to write their code using C# while running on top of the Java-powered operating system, and then share that same code with iOS and Windows Phone…”

http://blog.xamarin.com/2012/05/01/android-in-c-sharp/

Os caras pegaram o mono que já roda em Linux e portaram pro Linux modificado que o Android usa. Só a maquina virtual foi trocada.

Porque eles fizeram isso? Porque é um produto pago, rende dinheiro! Porque permite rodar o mesmo código em IOS, Windows Phone e Android, like PhoneGap e outros, pros xiitas é “grandes coisa”, mas pra uma empresa que tem sei lá quantos produtos sendo produzidos ao mesmo tempo, é dinheiro.

Porque usar c# ao invés de java???(rsss) Scala, JRuby, Groovy, etc, etc, etc, . . .

[quote=fredferrao]
Nusss :shock: :shock: :shock: Se foi isto que você entendeu de tudo que eu disse então a coisa tá feia, de duas uma: ou você realmente precisa ler um pouco mais ou esta simplesmente trollando, eu acredito na segunda opção, devido seu historico[/quote]

Realmente não entendi qual a vantagem de usar Scala se você tem que recorrer ao Java quando for usar a API (praticamente toda hora em se tratando de desenvolvimento mobile).

[quote=Hermanoz][quote=fredferrao]
Nusss :shock: :shock: :shock: Se foi isto que você entendeu de tudo que eu disse então a coisa tá feia, de duas uma: ou você realmente precisa ler um pouco mais ou esta simplesmente trollando, eu acredito na segunda opção, devido seu historico[/quote]

Realmente não entendi qual a vantagem de usar Scala se você tem que recorrer ao Java quando for usar a API (praticamente toda hora em se tratando de desenvolvimento mobile).
[/quote]

Você não tem que recorrer ao java. O compilador gera o bytecode compatível. Para te esclarecer, uma linguagem de programação é irrelevante. Ele só serve para você demonstrar sua lógica para a máquina de uma maneira que seres humanos entendem.

Um

[code]println(“x”);
std::cout << “x” << std::endl;
Console.writeLine(“x”);

…[/code]

são todos iguais para o android ( o compilador gera o mesmo set de instruções)

[quote=juliocbq][quote=Hermanoz][quote=fredferrao]
Nusss :shock: :shock: :shock: Se foi isto que você entendeu de tudo que eu disse então a coisa tá feia, de duas uma: ou você realmente precisa ler um pouco mais ou esta simplesmente trollando, eu acredito na segunda opção, devido seu historico[/quote]

Realmente não entendi qual a vantagem de usar Scala se você tem que recorrer ao Java quando for usar a API (praticamente toda hora em se tratando de desenvolvimento mobile).
[/quote]

Você não tem que recorrer ao java. O compilador gera o bytecode compatível. Para te esclarecer, uma linguagem de programação é irrelevante. Ele só serve para você demonstrar sua lógica para a máquina de uma maneira que seres humanos entendem.

Um

[code]println(“x”);
std::cout << “x” << std::endl;
Console.writeLine(“x”);

…[/code]

são todos iguais para o android ( o compilador gera o mesmo set de instruções)[/quote]

Teoricamente vc esta certo. Mas na pratica nem sempre isso é possível ou mesmo desejável. A menos que vc queira ter trabalho desnecessário, o mais provável é que você vai recorrer a API de componentes de interface e tantas outras que o google disponibiliza na API do android, e que é sim em JAVA!

[quote=Hermanoz][quote=juliocbq][quote=Hermanoz][quote=fredferrao]
Nusss :shock: :shock: :shock: Se foi isto que você entendeu de tudo que eu disse então a coisa tá feia, de duas uma: ou você realmente precisa ler um pouco mais ou esta simplesmente trollando, eu acredito na segunda opção, devido seu historico[/quote]

Realmente não entendi qual a vantagem de usar Scala se você tem que recorrer ao Java quando for usar a API (praticamente toda hora em se tratando de desenvolvimento mobile).
[/quote]

Você não tem que recorrer ao java. O compilador gera o bytecode compatível. Para te esclarecer, uma linguagem de programação é irrelevante. Ele só serve para você demonstrar sua lógica para a máquina de uma maneira que seres humanos entendem.

Um

[code]println(“x”);
std::cout << “x” << std::endl;
Console.writeLine(“x”);

…[/code]

são todos iguais para o android ( o compilador gera o mesmo set de instruções)[/quote]

Teoricamente vc esta certo. Mas na pratica nem sempre isso é possível ou mesmo desejável. A menos que vc queira ter trabalho desnecessário, o mais provável é que você vai recorrer a API de componentes de interface e tantas outras que o google disponibiliza na API do android, e que é sim em JAVA![/quote]

Cara, o juliocbq está correto. mesmo utilizando apis blablabla, o resultado é o mesmo.

Opa! Porque não conta um pouco sobre sua experiência criando apps Android usando Scala?

Olha apesar de eu nunca ter precisado usar outra linguagem para o android(que não seja c ou java) e saber que é perfeitamente possível usar qualquer uma que compile bytecode, com algumas pesquisas no ggogle achei uma dezena de artigos:

esse é apenas um deles:

http://lampwww.epfl.ch/~michelou/android/scala-to-android.html

Olha apesar de eu nunca ter precisado usar outra linguagem para o android(que não seja c ou java) e saber que é perfeitamente possível usar qualquer uma que compile bytecode, com algumas pesquisas no ggogle achei uma dezena de artigos:

esse é apenas um deles:

http://lampwww.epfl.ch/~michelou/android/scala-to-android.html[/quote]

Obrigado pelo link Julio.

Acho que estamos de acordo quanto ao fato do bytecode ser o mesmo, estou me referindo a vantagem de usar Scala para desenvolvimento Android do ponto de vista do programador, não da máquina.

Bom, analisando o código fonte contido nos exemplos percebe-se que não tem mesmo muita vantagem usar Scala. Apesar do código ter sido portado pra Scala há APIs Java pra todo lado. Na verdade a estrutura do aplicativo é a mesma da versão Java, a versão Scala sequer é mais compacta, o que seria natural por se tratar de uma linguagem funcional. Basicamente é código Java travestido de Scala.

Olha apesar de eu nunca ter precisado usar outra linguagem para o android(que não seja c ou java) e saber que é perfeitamente possível usar qualquer uma que compile bytecode, com algumas pesquisas no ggogle achei uma dezena de artigos:

esse é apenas um deles:

http://lampwww.epfl.ch/~michelou/android/scala-to-android.html[/quote]

Obrigado pelo link Julio.

Acho que estamos de acordo quanto ao fato do bytecode ser o mesmo, estou me referindo a vantagem de usar Scala para desenvolvimento Android do ponto de vista do programador, não da máquina.

Bom, analisando o código fonte contido nos exemplos percebe-se que não tem mesmo muita vantagem usar Scala. Apesar do código ter sido portado pra Scala há APIs Java pra todo lado. Na verdade a estrutura do aplicativo é a mesma da versão Java, a versão Scala sequer é mais compacta, o que seria natural por se tratar de uma linguagem funcional. Basicamente é código Java travestido de Scala.
[/quote]

Código java “travestido” de scala? Agora eu sei que você está me trollando mesmo.

O esqueleto do programa tem que seguir o ciclo de vida típico de uma aplicação android, até porque as pessoas estão acostumadas com o programa sendo desenvolvido dessa forma(A mesma coisa da api). Isso não quer dizer que seja necessário seguir uma api específica no desenvolvimento. Uma empresa pode desenvolver uma própria se quiser e julgar ser necessário.

Você não consegue me enrolar adaptando minhas palavras e contornando seus comentários dessa maneira, porque eu já li todos eles.

Uma api é um conceito abstrato, ela não pode e não tem que ser específica de uma linguagem como você citou acima.

Eu poderia:

txtBox. [b]setText/b;
txtBox->[b]setText/b; //usando a pilha se preferir txtBox.setText(“c++”);
txtBox setText “scala”

É a mesma api, e isso não quer dizer que o código seja “travestido de java”.

[quote]O que você falou é obvio não acha? Claro, se vc tiver todas as ferramentas necessárias será viável. O problema é que não tem. Por isso você não tem um app no market feito usando alguma dessas linguagens.

O problema é que a API Android é Java, a menos que alguém tenha o trabalho enorme de portar toda a API para alguma dessas linguagens, você não tem as ferramentas necessárias para criar um app funcional. [/quote]

A api do android é java sim, mas portar isso não é o fim dos tempos como você postou aí em cima. Você só precisa respeitar a assinatura dos métodos
e classes, já que uma api é somente uma interface.

Existem sim todas as ferramentas viáveis. Você pode usar todos os recursos do netbeans e do eclipse para isso. Só precisa mudar a sintaxe para scala. Todos os outros arquivos serão os mesmos. Como o eclipse e o netbeans trabalham com xml você pode até usar o construtor de gui do segundo. Desde que tenha um compilador de scala para bytecode.

Sobre não existir um programa feito em scala ou c#, ou enfim n outras linguagens no market…

  1. Como todos estão compilados, não tem como você provar que existem ou não.

  2. Em c++
    https://play.google.com/store/apps/details?id=org.kde.necessitas.ministro&feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy5rZGUubmVjZXNzaXRhcy5taW5pc3RybyJd

  3. c#
    https://play.google.com/store/apps/details?id=fabio.scopel.stopwatch&feature=search_result#?t=W251bGwsMSwxLDEsImZhYmlvLnNjb3BlbC5zdG9wd2F0Y2giXQ

Com certeza se você procurar vai encontrar um desenvolvido com scala

[quote]
Scala sequer é mais compacta[/quote]

Eu pensei que a qualidade e legibilidade de um código dependessem mais do programador do que da linguagem.

1: package com.example.android.testactivity 2: 3: import android.app.Activity 4: import android.os.Bundle 5: import android.widget.TextView 6: 7: class TestActivity extends Activity { 8: /** Called when the activity is first created. */ 9: override def onCreate(savedInstanceState: Bundle) { 10: super.onCreate(savedInstanceState) 11: val tv = new TextView(this) 12: tv setText "Test" 13: setContentView(tv) 14: } 15: }

Resumindo, a linguagem de programação é só uma casca e uma ferramenta para você dizer à plataforma o que ela precisa saber. Não existe mágica em apis ou linguagens. Elas são completamente insignificante e no final o código de máquina é sempre o mesmo, seja bytecode ou assembly.

A viabilidade depende de know how. A microsoft prefere usar c++ que é uma linguagem de alto nível e OO no desenvolvimento do windows, enquanto a bsd prefere usar linguagem c que é linguagem de médio nível bem próxima ao assembly no desenvolvimento do kernel bsd. Não se pode julgar o que é ruim ou bom porque isso é muito relativo.

O google está aí para esclarecer.

[quote]
Código java “travestido” de scala? Agora eu sei que você está me trollando mesmo.

O esqueleto do programa tem que seguir o ciclo de vida típico de uma aplicação android, até porque as pessoas estão acostumadas com o programa sendo desenvolvido dessa forma(A mesma coisa da api). Isso não quer dizer que seja necessário seguir uma api específica no desenvolvimento. Uma empresa pode desenvolver uma própria se quiser e julgar ser necessário.[/quote]

Sim. As pessoas estão acostumadas a desenvolver aplicativos android com java. É exatamente o meu ponto. Não consigo ver vantagem em usar Scala se vou ter que criar wrappers em torno da API Java, ou ter que programar Java em Scala.

[quote]
A api do android é java sim, mas portar isso não é o fim dos tempos como você postou aí em cima. Você só precisa respeitar a assinatura dos métodos
e classes, já que uma api é somente uma interface.[/quote]

Ouvindo vozes?

Não lembro de ter dito que é dificil, apenas que é mais trabalho sem benefício aparente. Por isso estou interessado em experiências reais de uso.

O fato de gerar o mesmo bytecode é interessante e tudo, principalmente sob a perspectiva técnica que pelo visto te interessa muito, mas de volta ao mundo real, se não oferece uma vantagem real não vejo sentido.

Eu tenho evitado falar isso porque não queria desviar do tópico. Mas o que você falou aqui é tão impressionante que não pude deixar de te perguntar…

Está dizendo que a escolha da linguagem (ferramenta) é insignificante para o resultado final obtido?

Olha apesar de eu nunca ter precisado usar outra linguagem para o android(que não seja c ou java) e saber que é perfeitamente possível usar qualquer uma que compile bytecode, com algumas pesquisas no ggogle achei uma dezena de artigos:

esse é apenas um deles:

http://lampwww.epfl.ch/~michelou/android/scala-to-android.html[/quote]

Obrigado pelo link Julio.

Acho que estamos de acordo quanto ao fato do bytecode ser o mesmo, estou me referindo a vantagem de usar Scala para desenvolvimento Android do ponto de vista do programador, não da máquina.

Bom, analisando o código fonte contido nos exemplos percebe-se que não tem mesmo muita vantagem usar Scala. Apesar do código ter sido portado pra Scala há APIs Java pra todo lado. Na verdade a estrutura do aplicativo é a mesma da versão Java, a versão Scala sequer é mais compacta, o que seria natural por se tratar de uma linguagem funcional. Basicamente é código Java travestido de Scala.
[/quote]

Código java “travestido” de scala? Agora eu sei que você está me trollando mesmo.

O esqueleto do programa tem que seguir o ciclo de vida típico de uma aplicação android, até porque as pessoas estão acostumadas com o programa sendo desenvolvido dessa forma(A mesma coisa da api). Isso não quer dizer que seja necessário seguir uma api específica no desenvolvimento. Uma empresa pode desenvolver uma própria se quiser e julgar ser necessário.

Você não consegue me enrolar adaptando minhas palavras e contornando seus comentários dessa maneira, porque eu já li todos eles.

Uma api é um conceito abstrato, ela não pode e não tem que ser específica de uma linguagem como você citou acima.

Eu poderia:

txtBox. [b]setText/b;
txtBox->[b]setText/b; //usando a pilha se preferir txtBox.setText(“c++”);
txtBox setText “scala”

É a mesma api, e isso não quer dizer que o código seja “travestido de java”.

[quote]O que você falou é obvio não acha? Claro, se vc tiver todas as ferramentas necessárias será viável. O problema é que não tem. Por isso você não tem um app no market feito usando alguma dessas linguagens.

O problema é que a API Android é Java, a menos que alguém tenha o trabalho enorme de portar toda a API para alguma dessas linguagens, você não tem as ferramentas necessárias para criar um app funcional. [/quote]

A api do android é java sim, mas portar isso não é o fim dos tempos como você postou aí em cima. Você só precisa respeitar a assinatura dos métodos
e classes, já que uma api é somente uma interface.

Existem sim todas as ferramentas viáveis. Você pode usar todos os recursos do netbeans e do eclipse para isso. Só precisa mudar a sintaxe para scala. Todos os outros arquivos serão os mesmos. Como o eclipse e o netbeans trabalham com xml você pode até usar o construtor de gui do segundo. Desde que tenha um compilador de scala para bytecode.

Sobre não existir um programa feito em scala ou c#, ou enfim n outras linguagens no market…

  1. Como todos estão compilados, não tem como você provar que existem ou não.

  2. Em c++
    https://play.google.com/store/apps/details?id=org.kde.necessitas.ministro&feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy5rZGUubmVjZXNzaXRhcy5taW5pc3RybyJd

  3. c#
    https://play.google.com/store/apps/details?id=fabio.scopel.stopwatch&feature=search_result#?t=W251bGwsMSwxLDEsImZhYmlvLnNjb3BlbC5zdG9wd2F0Y2giXQ

Com certeza se você procurar vai encontrar um desenvolvido com scala

Pronto falou tudo.

É claro que teremos que herdar das mesmas superclasses(Activity por exemplo) e tudo mais, mas faremos isto no scala way, usando tudo que a linguagem oferece: Function literal, first class functions, higher-order methods, type inference, concisa, expressiva, pattern maching, traits etc, etc, etc, alem claro de usar toda a API do Scala para as regras de negocio, por exemplo a de Collections, que é pra la de poderosa.

As pessoas estão acostumadas a usar java para programar android? Claro que estão e estas provavelmente devem continuar usando java, mas pra quem trabalha com scala(ou ruby ou python), esta acostumado a linguagem e gosta dela, para estes é perfeitamente viavel usar Scala para programar para android!

[quote=fredferrao]
Pronto falou tudo.

É claro que teremos que herdar das mesmas superclasses(Activity por exemplo) e tudo mais, mas faremos isto no scala way, usando tudo que a linguagem oferece: Function literal, first class functions, higher-order methods, type inference, concisa, expressiva, pattern maching, traits etc, etc, etc, alem claro de usar toda a API do Scala para as regras de negocio, por exemplo a de Collections, que é pra la de poderosa.

As pessoas estão acostumadas a usar java para programar android? Claro que estão e estas provavelmente devem continuar usando java, mas pra quem trabalha com scala(ou ruby ou python), esta acostumado a linguagem e gosta dela, para estes é perfeitamente viavel usar Scala para programar para android![/quote]

A julgar pelos exemplos que o Julio citou the ScalaWay.equals(JavaWay). Será que em projetos reais a coisa torna mais viável?

Collections é um grande diferencial, sem dúvida.

[quote=Hermanoz][quote=fredferrao]
Pronto falou tudo.

É claro que teremos que herdar das mesmas superclasses(Activity por exemplo) e tudo mais, mas faremos isto no scala way, usando tudo que a linguagem oferece: Function literal, first class functions, higher-order methods, type inference, concisa, expressiva, pattern maching, traits etc, etc, etc, alem claro de usar toda a API do Scala para as regras de negocio, por exemplo a de Collections, que é pra la de poderosa.

As pessoas estão acostumadas a usar java para programar android? Claro que estão e estas provavelmente devem continuar usando java, mas pra quem trabalha com scala(ou ruby ou python), esta acostumado a linguagem e gosta dela, para estes é perfeitamente viavel usar Scala para programar para android![/quote]

A julgar pelos exemplos que o Julio citou the ScalaWay.equals(JavaWay). Será que em projetos reais a coisa torna mais viável?

Collections é um grande diferencial, sem dúvida.[/quote]

Claro que em determinadas situações as diferenças serão sutis, como no código acima que é bem basico, mas mesmo ali ja se encherga o uso de variaveis imutaveis(val), type inference, não necessidade de ponto e virgula, não necessidade de pontos e parenteses em alguns metodos, não necessidade de declarar explicitamente o retorno dos metodos(type inference novamente), etc.

Acho que a maior diferença vem em códigos maiores, com mais regras de negocio e etc.

Sobre dar mais trabalho, talvez inicialmente, na configuração do ambiente, no caso do scala, configurar o PROGUARD para fazer o trabalho.

[quote=Hermanoz]

Sim. As pessoas estão acostumadas a desenvolver aplicativos android com java. É exatamente o meu ponto. Não consigo ver vantagem em usar Scala se vou ter que criar wrappers em torno da API Java, ou ter que programar Java em Scala.

Ouvindo vozes?

Não lembro de ter dito que é dificil, apenas que é mais trabalho sem benefício aparente. Por isso estou interessado em experiências reais de uso.

O fato de gerar o mesmo bytecode é interessante e tudo, principalmente sob a perspectiva técnica que pelo visto te interessa muito, mas de volta ao mundo real, se não oferece uma vantagem real não vejo sentido.

Eu tenho evitado falar isso porque não queria desviar do tópico. Mas o que você falou aqui é tão impressionante que não pude deixar de te perguntar…

Está dizendo que a escolha da linguagem (ferramenta) é insignificante para o resultado final obtido?[/quote]

Quando a solução tem sempre o mesmo fim, no caso de aplicações para uma plataforma específica, sim.
Não sei se você percebeu, mas no caso do android são todas praticamente as mesmas ferramentas com sintaxes diferente. Com a exceção do qt creator e a linguagem c++, que gera executáveis nativos, mas que também é tão produtivo/a quanto java e eclipse.

[youtube]http://www.youtube.com/watch?v=toX6CFE9CBM[/youtube]

Se sua aplicação tem mais de um fim, não é uma aplicação.

Julio, pelo forma que fala percebe-se (e depois pude reforçar essa percepção observando seu historico aqui no forum) que você é programador de sistemas embarcados.

Não me leva a mal, o que falou faz sentido nesse contexto, mas no contexto de desenvolvimento de aplicações para usuários finais, que é o objetivo de plataformas como iOS e Android, o que vc esta dizendo não faz muito sentido. Scala não é “praticamente o mesmo, apenas a sintaxe diferente” que Java.

Pra ficar claro, Scala por ser funcional, é muito mais poderosa que Java, a linguagem tem muito mais abstrações de software e isso acaba beneficiando desenvolvedores de sistemas com regras de negócio complexas.

Mas este não é o caso com sistemas mobile. Aliás, apps não tem “regras de negócio” propriamente dita, e a maior parte do código em um aplicativo android na verdade é relacionado a input/output com usuário.

Na minha opinião Android não vai ser The Killer App para Scala.

[quote=Hermanoz][quote=juliocbq]
Quando a solução tem sempre o mesmo fim, no caso de aplicações para uma plataforma específica, sim.
Não sei se você percebeu, mas no caso do android são todas praticamente as mesmas ferramentas com sintaxes diferente. Com a exceção do qt creator e a linguagem c++, que gera executáveis nativos, mas que também é tão produtivo/a quanto java e eclipse.
[/quote]

Se sua aplicação tem mais de um fim, não é uma aplicação.

Julio, pelo forma que fala percebe-se (e depois pude reforçar essa percepção observando seu historico aqui no forum) que você é programador de sistemas embarcados.

Não me leva a mal, o que falou faz sentido nesse contexto, mas no contexto de desenvolvimento de aplicações para usuários finais, que é o objetivo de plataformas como iOS e Android, o que vc esta dizendo não faz muito sentido. Scala não é “praticamente o mesmo, apenas a sintaxe diferente” que Java.[/quote]

Olha, você não leu propriamente o que eu postei aí, e não vem lendo corretamente, não me leve a mal também. Primeiro eu desenvolvo software embarcado utilizando microprocessadores e também soluções de alto nível usando justamente java, além de toda sua gama de frameworks tanto para web como para desktop. Não conheço somente eletrônica.

você comentou meu post de maneira errada, porque toda aplicações escrita para plataforma “x” tem o mesmo fim que é ela própria. Não estou falando de uma aplicação que funcionará de “maneiras diferentes”, mas que rodará no mesmo hardware(real ou virtual no caso da dalvik). Além do android ser um sistema embarcado propriamente dito(aliás sistemas operacionais também são embarcados quando distribuídos com o hardware), não faz diferença se você escreverá em java ou qualquer outra linguagem suportada pela plataforma.

Mas vamos fazer uma inversão, porque eu já falei demais e agora quero poder ouvir:

Qual a grande diferença de escrever uma aplicação para android usando java ou scala, no resultado da solução final?