Google Android: porque não c++?

5 views
Skip to first unread message

Diego Henrique Oliveira

unread,
Jun 29, 2009, 9:45:01 AM6/29/09
to ccppb...@googlegroups.com
Galera,


Sou iniciante em c++ e estou dando os primeiros passos nessa linguagem. Tambem não quero começar a flame war de linguagens aqui.

Minha duvida é: quais os fatores tecnicos podem ter influenciado na escolhe de java para a sdk do google android ao inves de c++?

Porque ate aonde eu sei com c++ você consegue otimizar muito mais o uso de memoria do seu aplicativo, e isso não é extremamente importante para dispositivos moveis, aonde geralmente a memoria é escassa?



Abraços

Igor L Marques

unread,
Jun 29, 2009, 10:17:10 AM6/29/09
to ccppb...@googlegroups.com

Olá

Pelo que eu saiba o mais importante no android é o dalvik que é a maquina virtual que roda nele, e o código Java que roda no android tem umas "modificações" no bytecode (não na linguagem) diminuindo o tamanho do código necessário para rodar. A escolha do Java foi só para ter uma linguagem "independente" poderia ser qualquer outra, mas a escolha deve ter sido mais pela quantidade de programadores, então respondendo sua duvida toda a otimização de memória não é feita no sdk do Java.

2009/6/29 Diego Henrique Oliveira <diegoho...@yahoo.com.br>



--
Igor L Marques
MSc Candidate in Computer Science
Federal University of Pernambuco, Brazil

Luciano Rodrigues

unread,
Jun 29, 2009, 10:18:23 AM6/29/09
to ccppb...@googlegroups.com
O motivo acredito que seja o fato de o Java já ser muito utilizado para criação de aplicativos em dispositivos móveis. Não foi uma escolha puramente técnica.

--
Luciano RM

2009/6/29 Diego Henrique Oliveira <diegoho...@yahoo.com.br>
Galera,

Alex Queiroz

unread,
Jun 29, 2009, 10:30:16 AM6/29/09
to ccppb...@googlegroups.com
Hallo,

Posso pensar em dois motivos:

1. Ampliar a audiencia de desenvolvedores, ja' que cada vez menos

--
-alex
http://www.ventonegro.org/

Guilherme Rezende

unread,
Jun 29, 2009, 12:55:49 PM6/29/09
to ccppb...@googlegroups.com
E quanto ao motivo, creio que seja porque não é como o iphone, que rodara em um hardware especifico.. o Android rodara em diversos dispositivos, por isso não deve aceitar aplicação nativa, apenas rodando no dalvik.

2009/6/29 Guilherme Rezende <guilh...@gmail.com>
Você pode programar em C/C++ para o Android, apenas não tem um framework, e pelo que entendi, tem dificuldades para visual...

http://benno.id.au/blog/2007/11/13/android-native-apps

att.



2009/6/29 Alex Queiroz <asan...@gmail.com>



--
Guilherme BR {
     Linux ID: #437053
     www.guilhermerezende.com
}



--
Guilherme BR {
     Linux ID: #437053
     www.guilhermerezende.com
}

Guilherme Rezende

unread,
Jun 29, 2009, 12:45:55 PM6/29/09
to ccppb...@googlegroups.com
Você pode programar em C/C++ para o Android, apenas não tem um framework, e pelo que entendi, tem dificuldades para visual...

http://benno.id.au/blog/2007/11/13/android-native-apps

att.



2009/6/29 Alex Queiroz <asan...@gmail.com>

Evandro Viana

unread,
Jun 29, 2009, 3:12:04 PM6/29/09
to ccppb...@googlegroups.com
http://arstechnica.com/open-source/news/2009/06/android-goes-beyond-java-gains-native-cc-dev-kit.ars 

:)

2009/6/29 Guilherme Rezende <guilh...@gmail.com>



--
Evandro Viana 
---------------------------------------------
Imotion-Info: Consultoria em Tecnologia da Informação
eva...@imotion-info.com
http://www.imotion-info.com/
Telefone (47) 3001-5222
Celular (47) 9972-1302

Guilherme Rezende

unread,
Jun 29, 2009, 3:44:01 PM6/29/09
to ccppb...@googlegroups.com
Excelente =]
posso ate animar em brincar com android agora...

http://android-developers.blogspot.com/2009/06/introducing-android-15-ndk-release-1.html

2009/6/29 Evandro Viana <vian...@gmail.com>

Diego Henrique Oliveira

unread,
Jun 29, 2009, 4:31:09 PM6/29/09
to ccppb...@googlegroups.com
Pelo que eu li ela não oferecera todos os recursos da SDK para Java.










From: Guilherme Rezende <guilh...@gmail.com>
To: ccppb...@googlegroups.com
Sent: Monday, June 29, 2009 4:44:01 PM
Subject: [ccppbrasil] Re: Google Android: porque não c++?

A.F.

unread,
Jun 29, 2009, 4:43:03 PM6/29/09
to ccppb...@googlegroups.com
Uops,

Cheguei atrasado na discussão, mas algo que bacana é:

"For any questions on the NDK, please join the Android NDK
forum: http://groups.google.com/group/android-ndk/"

Um forum onde alguns dos desenvolvedores do NDK estão presentes
e respondendo perguntas!

[ ]s

# Alberto Fabiano
alberto at (ccppbrasil.org | computer.org )
alberto.fabiano at (ieee.org | acm.org)

/*
#
# The best way to predict the future is to invent it , Alan Key
#
// 0x42 0x69 0x74 0x20 0x46 0x61 0x6e */



2009/6/29 Guilherme Rezende <guilh...@gmail.com>:

Gianni

unread,
Jun 29, 2009, 5:14:19 PM6/29/09
to ccppb...@googlegroups.com
Bom, acabei de voltar do 'Google Developer Day' onde vi uma palestra sobre o SDK do Android.  Foi falado que é possiv;el sim desenvolver applicações 'nativas' em C.  Porém depois foi explicado que essas applicações, apesar de serem escritas em C, são compiladas p/ o mesmo bytecode do Java/Dalvik.   Achei um lixo e desanimei totalmente.

Alex Queiroz

unread,
Jun 29, 2009, 5:24:50 PM6/29/09
to ccppb...@googlegroups.com
Hallo,

On 6/29/09, Gianni <nasus....@gmail.com> wrote:
> Bom, acabei de voltar do 'Google Developer Day' onde vi uma palestra sobre o
> SDK do Android. Foi falado que é possiv;el sim desenvolver applicações
> 'nativas' em C. Porém depois foi explicado que essas applicações, apesar de
> serem escritas em C, são compiladas p/ o mesmo bytecode do Java/Dalvik.
> Achei um lixo e desanimei totalmente.
>

Eu acho que houve um mal-entendido. ja' que uma das razoes de
criarem o NDK e' para permitir criacao de aplicacoes de processamento
digital de sinais ou jogos 3D. Nao haveria ganho algum compilando o
codigo C para bytecode.

--
-alex
http://www.ventonegro.org/

Gianni

unread,
Jun 29, 2009, 7:42:16 PM6/29/09
to ccppb...@googlegroups.com

Então, eu tbm acho já que não me parece fazer sentido, mas vejo o que
diz o site:

"Please note that the NDK does not enable you to develop native-only
applications. Android's primary runtime remains the Dalvik virtual
machine."
http://developer.android.com/sdk/ndk/1.5_r1/index.html#overview

Outra coisa: ficou BEM claro na palestra que ao compilar uma
applicação p/ Android em C/C++, vc gera um '.so' que é executado no
sand-box do Dalvik. Ou seja, de uma forma ou outra, não é o que eu
chamaria de app nativa em C/C++. Já o site do google-groups diz que
se pode sim desenvolver executaveis.

Única certeza que tenho é que tá mal explicado... :-)

Paulo Rogério Panhoto

unread,
Jun 29, 2009, 8:01:08 PM6/29/09
to ccppb...@googlegroups.com

Aproveitando o link que você passou,

The Android NDK provides tools that allow Android application developers to embed components that make use of native code in their Android applications.

Android applications run in the Dalvik virtual machine. The NDK allows developers to implement parts of their applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.

 O NDK é o JNI para Android. O que está mal explicado nisso.

2009/6/29 Gianni <nasus....@gmail.com>

Alex Queiroz

unread,
Jun 29, 2009, 8:15:51 PM6/29/09
to ccppb...@googlegroups.com
Hallo,

2009/6/29 Gianni <nasus....@gmail.com>:


>
>
> On Jun 29, 2009, at 6:24 PM, Alex Queiroz wrote:
>>
>>     Eu acho que houve um mal-entendido. ja' que uma das razoes de
>> criarem o NDK e' para permitir criacao de aplicacoes de processamento
>> digital de sinais ou jogos 3D. Nao haveria ganho algum compilando o
>> codigo C para bytecode.
>
> Então, eu tbm acho já que não me parece fazer sentido, mas vejo o que
> diz o site:
>
> "Please note that the NDK does not enable you to develop native-only
> applications. Android's primary runtime remains the Dalvik virtual
> machine."
> http://developer.android.com/sdk/ndk/1.5_r1/index.html#overview
>

Isso só quer dizer que você não pode desenvolver uma aplicação
completa usando código nativo, só componentes na forma de "shared
objects".

> Outra coisa: ficou BEM claro na palestra que ao compilar uma
> applicação p/ Android em C/C++, vc gera um '.so' que é executado no
> sand-box do Dalvik.  Ou seja, de uma forma ou outra, não é o que eu
> chamaria de app nativa em C/C++.  Já o site do google-groups diz que
> se pode sim desenvolver executaveis.
>

Então ficou BEM claro que á gerada uma biblioteca nativa que vai
ser carregada dinamicamente pela máquina virtual Java do Android.

--
-alex
http://www.ventonegro.org/

Rodrigo Kumpera

unread,
Jun 30, 2009, 9:15:59 AM6/30/09
to ccppb...@googlegroups.com
O NDK foi somente oficializar algo que muito já estavam fazendo a um bom tempo.
Por exemplo, o mono já esta disponível para Android a uns seis meses, sendo possivel
usar inclusive a loja do google p/ instalá-lo.




2009/6/29 A.F. <alberto...@gmail.com>
Reply all
Reply to author
Forward
0 new messages