Migrando de Java para C++  XML
Índice dos Fóruns » Outras Linguagens
Autor Mensagem
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

Fala ae pessoal, blz.
A muito tempo não passo por aqui, madar um super abraço para os velhos amigos...

Estou migrando uma aplicação de Java para C++, como sei que isso vai dar mais que um único post
resolvi criar um blog para isso...

Quem tiver interesse em acompanhar o andamento dessa migração, segue abaixo o link do blog:

http://rodrigomgsys.wordpress.com

Moderadores, minha intenção é apenas compartilhar o estudo.

Grande abraço a todos.

-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
Daniels
JavaGuru

Membro desde: 25/07/2008 14:19:39
Mensagens: 218
Offline

Boa sorte. Mas lembre-se que o C++ faz valer aquela frase famosa:

"Com grandes poderes vem grandes responsabilidades"
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

Acho hoje, o Java a melhor linguagem de desenvolvimento.
Já tenho uma aplicação em java mas estou esbarrando no problema do consumo de memória.

Infelizmente Java Swing está consumindo mais memória do que deveria, a diferença de consumo de recursos é muito grande.
E para o tipo de aplicação que desenvolvo, cliente acha que tem que rodar em qualquer coisa e com java não é bem assim.

Mas vamos lá, acho que em uns dois meses consigo material de aprendizdo suficente para inciar a migração.

Abraçao.

-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
lavh
GUJ Master

Membro desde: 30/07/2006 16:09:55
Mensagens: 1311
Offline

Já que o seu intuito é baixar o uso de memória, analise bem se vale a pena usar o QT. Em um comparativo que rolou em uma discussão da lista de C++ Brasil do Google, um cara mostrou que com QT a janela dele tinha ~4Mb, e fazendo na mão ficava com menos de 300kb.

Pelo que você relatou tb, vc vai migrar uma big aplicação para C++, e só tem 2 semanas de estudo de C++, ou seja, o risco tá bem alto. Tvz vc o caso de contratar um consultor C++, pois é possível por exemplo usar garbage collector com C++, mas normalmente quem não conhece C++ pensa que isso não existe(não sei se é o seu caso).

Boa sorte e sucesso na migração.
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

lavh wrote:...vc vai migrar uma big aplicação para C++, e só tem 2 semanas de estudo de C++, ....

Hhehe, não nao, estou apenas iniciando os estudos... creio que vai uns dois meses para começar a fazer alguma coisa concreta.

Estou pensando no QT, pois sem modificação dá pra compilar no linux e no windows sem modificação além da produtividade na questão de design das telas que é bem simples.

lavh wrote: Tvz vc o caso de contratar um consultor C++

Com certeza, porém creio que a parte da linguagem dá pra ir lendo e estudando, meu conhecimento do OO é bem solido então creio que isso será simples, porém vou precisar de coisas mais avançadas como comunicação com Webservices, Comunicação Serial e nesse caso penso em chamar consultores específicos para ajudar a acelerar o processo.

Também sei que o negócio não será simples, pois é uma aplicação séria, ou seja, não dá pra fazer como trabalho de faculdade, então realmente vou ter que estar bem seguro para poder iniciar a migração.

Abraço

This message was edited 1 time. Last update was at 01/10/2010 00:20:08


-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

lavh wrote:Já que o seu intuito é baixar o uso de memória, analise bem se vale a pena usar o QT. Em um comparativo que rolou em uma discussão da lista de C++ Brasil do Google, um cara mostrou que com QT a janela dele tinha ~4Mb, e fazendo na mão ficava com menos de 300kb.


Eu digo que uma aplicação desktop que tiver mais de 1 janela ou 3 controles deve usar algum toolkit.
Ou seja, quase todas.
Os casos de uso em que se necessita codificar tais aplicações na mão são muito poucos e específicos.
E use o Qt; além disso, investigue o Boost. No começo você vai apanhar bastante (aff) mas depois vai ver que é bastante fácil portar algo de Java para C++ / Boost porque os conceitos ficam bem parecidos. Vou dar um exemplo daqui a pouco.
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline


A saída esperada é:
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Ouça o entanglement, ele sabe o que diz.

Programar em C++ sem usar a STL, a boost e alguns toolkits é como programar em Java se recusando a usar qualquer coisa fora do pacote "java.lang". Ou seja, uma idiotice completa!

This message was edited 1 time. Last update was at 01/10/2010 09:50:09


@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

entanglement wrote:Eu digo que uma aplicação desktop que tiver mais de 1 janela ou 3 controles deve usar algum toolkit.
Ou seja, quase todas.
Os casos de uso em que se necessita codificar tais aplicações na mão são muito poucos e específicos.
E use o Qt; além disso, investigue o Boost. No começo você vai apanhar bastante (aff) mas depois vai ver que é bastante fácil portar algo de Java para C++ / Boost porque os conceitos ficam bem parecidos. Vou dar um exemplo daqui a pouco.


Vou dar uma pesquisada sobre Boost.
Usar toolkit realmente é o objetivo, tentarei evitar apenas usar itens especificos de uma determinada plataforma e quando eu não tiver saída, partirei para o conceito de plugins, algo como (libserial_linux.so serial_win.dll) desta forma deixar a aplicação o mais robusta possível

This message was edited 1 time. Last update was at 01/10/2010 11:13:31


-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
entanglement
GUJ Hacker

Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline

black_fire wrote:
entanglement wrote:Eu digo que uma aplicação desktop que tiver mais de 1 janela ou 3 controles deve usar algum toolkit.
Ou seja, quase todas.
Os casos de uso em que se necessita codificar tais aplicações na mão são muito poucos e específicos.
E use o Qt; além disso, investigue o Boost. No começo você vai apanhar bastante (aff) mas depois vai ver que é bastante fácil portar algo de Java para C++ / Boost porque os conceitos ficam bem parecidos. Vou dar um exemplo daqui a pouco.


Vou dar uma pesquisada sobre Boost.
Usar toolkit realmente é o objetivo, tentarei evitar apenas usar itens especificos de uma determinada plataforma e quando eu não tiver saída, partirei para o conceito de plugins, algo como (libserial_linux.so serial_win.dll) desta forma deixar a aplicação o mais robusta possível


Plugins? Eu aconselharia apenas segregar e encapsular a funcionalidade dependente de sistema operacional em algumas classes, não precisa complicar seu código mais ainda ao carregar plugins dinamicamente. Não é isso que vai deixar sua aplicação "portável".
Se olhar os fontes do JDK que estão em C++ vai ver que há uma boa parte comum e há algumas partes que são segregadas e diferentes. Baixe os fontes do JDK em:

http://download.java.net/jdk6/source/
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

entanglement wrote:Plugins? Eu aconselharia apenas segregar e encapsular a funcionalidade dependente de sistema operacional em algumas classes, não precisa complicar seu código mais ainda ao carregar plugins dinamicamente. Não é isso que vai deixar sua aplicação "portável".
Se olhar os fontes do JDK que estão em C++ vai ver que há uma boa parte comum e há algumas partes que são segregadas e diferentes. Baixe os fontes do JDK em:
http://download.java.net/jdk6/source/


Em resumo o que vocês está dizendo é ter realmente duas aplicações, algo mais ou menos assim:

- Genérico
Regras de negócios
Acesso a banco
Desenhos de telas
Tudo que puder ser igual, sem adaptações

- Aplicação Linux
Adaptações especiais para Linux usando os componentes genéricos

- Aplicação Windows
Adaptações especiais para Windos usando os componentes genéricos

Seria mais ou menos essa a idéia?
Tirando a parte genérica ter duas aplicações distintas tirando o melhor de cada Sistema Operacional?

Abraço valeu pelas dicas

-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

Novo post incluído no blog,

Instalação Detalhada do QT - Linux e Eclipse
http://rodrigomgsys.wordpress.com/2010/10/04/instalacao-detalhada-do-qt-linux-e-eclipse/

Abraço e obrigado a todos que estão acompanhando e comentando...

This message was edited 1 time. Last update was at 04/10/2010 19:35:40


-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
black_fire
Virtual Machine Man
[Avatar]

Membro desde: 10/08/2003 17:14:27
Mensagens: 642
Localização: Campinas/SP
Offline

Novo post incluído no blog,

Comentários Importantes, Foruns e afins?
http://rodrigomgsys.wordpress.com/2010/10/05/comentarios-importantes-forunse-afins/

Obs: Tomei a liberdade de transcrever alguns comentários para o blog,
caso alguém queria que seu comentário seja removido, favor informar que será
excluído imediatamente.
Todas as transcrições apontam para os posts originais, a intensão foi apenas
centralizar os comentários enviados.

Abraço e obrigado a todos que estão acompanhando e comentando...

-------------------------------------
Rodrigo G. Tavares de Souza
"When you don't have walls...you don't need Windows..."

-------------------------------------
Acesse meu blog: Migrando de Java para C++
http://rodrigomgsys.wordpress.com
-------------------------------------
[MSN] [ICQ]
khaoz
JavaGuru
[Avatar]

Membro desde: 14/08/2006 08:49:50
Mensagens: 224
Localização: São Paulo/SP
Offline

Opa!

Blog assinado.

Não tanto pelo fato da migração, mas sim para acompanhar a sua evolução no aprendizado em c++ e quais rumos esta seguindo (sempre surge algo que eu posso pesquisar depois), pois estou em um barco semelhante, estudando c++ a aproximadamente 1 mes, mas no meu caso é pura diversão heheheh.

[]'s

Twitter
Como elaborar uma pergunta

Oracle AIA 11g Certified Implementation Specialist
Service-Oriented Architecture 11g Implementation Specialist
[WWW]
luistiagos
GUJ Expert
[Avatar]

Membro desde: 10/07/2006 10:37:23
Mensagens: 3161
Offline

vc só tem 2 semanas de estudo em C++ e quer migrar uma app... meu de boa... esqueça... C++ não é que nem Java, .Net ou outras linguagens... C++ vc tem o poder de manipular o acesso direto a memoria... e até recursos de hardware... porem se este poder não for usado com cautela... terás muita dor de cabeça... além do mais não existe GC... a terefa do GC é vc que faz... em C++ não existe desenvolvedor junior, pleno ou senior... C++ ou vc é mestre ou não é nada...




SCJP 1.5
SCJA 1.0
IBM DB2 Associate
[Email] [MSN]
 
Índice dos Fóruns » Outras Linguagens
Ir para:   
Powered by JForum 2.1.8 © JForum Team