Overview das linguagens de programação

58 respostas
R

Olá pessoal, meu nome é Richard, sou técnico de informática e atualmente estou deixando essa área de lado pra investir em programação. Faço faculdade de Analise e Desenvolvimento de Sistemas na Fatec da minha cidade e como todo iniciante no mundo da programação eu ainda tenho diversas dúvidas, porém a que mais prende minha atenção no momento é a falta de contatos com programadores experientes, afinal programador é coisa rara em algumas cidades do interior, portanto esse tópico eu estou criando apenas para poder compartilhar experiências e sanar dúvidas que muitos iniciantes como eu devem ter.

Vamos ao assunto principal do tópico:

Eu já li aqui no GUJ e em diversos outros fóruns que há muita briga entre programadores que usam a linguagem A ou B, e com base nos relatos dos mais experientes eu aprendi que não existe a melhor linguagem de programação e sim a que melhor resolve determinado problema, então pessoal vamos evitar discussões relacionado a isso.

O ponto onde eu quero chegar é o seguinte: vocês programadores de java, delphi, C, C#, entre outras, poderiam dizer como está o mercado de trabalho, qual é a melhor aplicação da linguagem que você trabalha (tipos de sistemas ou soluções na qual ela é mais adequada), média salarial, tendências ou qualquer outro detalhe que julguem importante para uma pessoa que está iniciando na área.

Desde já agradeço.

58 Respostas

F

Muitas perguntas num mesmo post…mas vc dar minha ajuda:

Java é a maior plataforma hoje no mercado, isso quer dizer com java vc consegue fazer mais diferentes tipos de aplicações com a mesma plataforma. Resumidamente Java hoje faz aplicações para desktops, web, celulares, smartphones, tablets, TV, blu-ray, dispositivos eletrônicos em geral, camada de negocio distribuídas, web services, cartões inteligentes, etc… Para mais informações veja - http://www.for-j.com.br/

Outra coisa, vc esta confundindo linguagem com plataforma! Por favor, separe isso…antigamente cada plataforma tinha apenas 1 linguagem…hoje ja não é uma realidade. Hoje no java tem uma tecnologia no qual qualquer um pode usar java com qualquer outra linguagem de programação…e por isso temos inúmeras opções de linguagens diferentes para escrever um programa java. Java não é uma linguagem…java é um ecossistema de tecnologias possuindo muitas e crescentes linguagens diferentes.

Existe uma variação nessa media dependendo do estado, relacionado com o custo de vida. procure aqui no GUJ ja discutido muito…

Vai com calma,não tente abraçar o mundo…termine a facul, escolha uma area para atuar e se especialize nela…minha dica é http://fernandofranzini.wordpress.com/2010/12/09/profissional-paraquesdista/

D
FernandoFranzini:
Muitas perguntas num mesmo post....mas vc dar minha ajuda:
qual é a melhor aplicação da linguagem que você trabalha (tipos de sistemas ou soluções na qual ela é mais adequada
Java é a maior plataforma hoje no mercado, isso quer dizer com java vc consegue fazer mais diferentes tipos de aplicações com a mesma plataforma. Resumidamente Java hoje faz aplicações para desktops, web, celulares, smartphones, tablets, TV, blu-ray, dispositivos eletrônicos em geral, camada de negocio distruidas, web services, cartões inteligentes, etc... Para mais informações veja - http://www.for-j.com.br/

Outra coisa, vc esta confundindo linguagem com plataforma! Por favor, separe isso...antigamente cada plataforma tinha apenas 1 linguagem...hoje ja não é uma realidade. Hoje no java tem uma tecnologia no qual qualquer um pode usar java com qualquer outra linguagem de programação..e por isso temos inúmeras opções de linguagens diferentes para escrever um programa java. Java não é uma linguagem...java é um ecossistema de tecnologias possuindo muitas e crescentes linguagens diferentes.

média salarial
Existe uma variação nessa media dependendo do estado, relacionado com o custo de vida. procure aqui no GUJ ja discutido muito....
Dicas gerais
Vai com calma,não tente abraçar o mundo....termine a facul, escolha uma area para atuar e se especialize nela...minha dica é http://fernandofranzini.wordpress.com/2010/12/09/profissional-paraquesdista/

agora eu fiquei confuso...

sei que a linguagem principal do delphi é: Object Pascal..A linguagem tomou o nome da IDE....

mais quando faço o código abaixo, em qual linguagem estou desenvolvendo? java? ou nao posso dizer desta forma, tenho que dizer J2SE ?

public static void main string(String args[]){

system.out.print("hello World");

}
F

agora eu fiquei confuso…
sei que a linguagem principal do delphi é: Object Pascal…A linguagem tomou o nome da IDE…

Sim…isso aconteceu nos anos 90 pela grande popularização de ferramentas RAD para desenvolvimento de aplicativos desktop simples plataformados. Hoje a realidade é completamente diferente.


mais quando faço o código abaixo, em qual linguagem estou desenvolvendo? java? ou nao posso dizer desta forma, tenho que dizer J2SE ?

Isso é um programa desktop JSE escrito na linguagem padrão OOP do java, mas não é a unica opção. Veja:

R

EJB 2.1 ?! :lol: :lol: :lol:

F

rmendes08:

(…) camada de negocio distruidas (…)

EJB 2.1 ?! :lol: :lol: :lol:

Camada de negócio distribuídas…EJB sim…Errei no corretor do navegador…kkkk

F

Se fosse vc, eu estudaria nodejs!
Só javascript na veia desde o código para o cliente ao código para o servidor!! Acho que daqui 2 anos vc vai me agradecer :smiley: :smiley: :smiley: :smiley:

R

Dicas gerais
Vai com calma,não tente abraçar o mundo…termine a facul, escolha uma area para atuar e se especialize nela…minha dica é http://fernandofranzini.wordpress.com/2010/12/09/profissional-paraquesdista/

Desde que eu entrei na faculdade eu já havia pensado em seguir carreira programando em java e também fiquei interessado em aprender Cobol, pois pelo o que eu vi há poucos programadores no mercado. Mas infelizmente o que eu mais vejo aqui na minha região é Delphi, portanto estou vendo que terei que terminar a faculdade e ir morar em São Paulo ou mesmo Campinas que tem diversas empresas fortes.

J

FernandoFranzini:
Muitas perguntas num mesmo post…mas vc dar minha ajuda:

Java é a maior plataforma hoje no mercado, isso quer dizer com java vc consegue fazer mais diferentes tipos de aplicações com a mesma plataforma. Resumidamente Java hoje faz aplicações para desktops, web, celulares, smartphones, tablets, TV, blu-ray, dispositivos eletrônicos em geral, camada de negocio distribuídas, web services, cartões inteligentes, etc… Para mais informações veja - http://www.for-j.com.br/

Outra coisa, vc esta confundindo linguagem com plataforma! Por favor, separe isso…antigamente cada plataforma tinha apenas 1 linguagem…hoje ja não é uma realidade. Hoje no java tem uma tecnologia no qual qualquer um pode usar java com qualquer outra linguagem de programação…e por isso temos inúmeras opções de linguagens diferentes para escrever um programa java. Java não é uma linguagem…java é um ecossistema de tecnologias possuindo muitas e crescentes linguagens diferentes.

Existe uma variação nessa media dependendo do estado, relacionado com o custo de vida. procure aqui no GUJ ja discutido muito…

Vai com calma,não tente abraçar o mundo…termine a facul, escolha uma area para atuar e se especialize nela…minha dica é http://fernandofranzini.wordpress.com/2010/12/09/profissional-paraquesdista/

A parte da maior plataforma do mercado eu discordo. A lingagem c e a c++ atua numa gama muito maior de dispositivos embarcados e aplicações de prateleira que java. Por exemplo, não temos nenhuma aplicação praticamente escrita em java(Aplicação = softwares para usuários finais. Citar netbeans, tomcat e outras ferramentas não servem como exemplo).

A grande maioria dos microcontroladores é programada usando linguagem c. Aplicações como jogos são programadas em c++(95% do mercado mundial). Aplicações home office são todas praticamente escritas também em c++, assim como browsers e ferramentas de edição de vídeo e áudio.

Java tem atuação muito restrita no campo das aplicações.

V

Também discordo da parte de Java ser usado para “dispositivos eletrônicos em geral, TV, blu-ray e smart cards”. Na maior parte das vezes vemos apenas exemplo de que isso é teoricamente possível, mas no mercado, nunca vi uma empresa usar Java para valer nessas tecnologias. É tudo em C, no máximo, em C++.

É mais ou menos como o caso de Java para jogos. Existe até um ou outro exemplo na indústria, mas na prática, a plataforma está tão afastada desses mercados, que esses casos são exceções que só provam que com muita determinação é possível desenvolver qualquer coisa em qualquer plataforma. Agora, todos os exemplos de Java nessas áreas, sem exceção, usam algum tipo de binding (e fazem hibridismo com C++). Ou seja, provavelmente deram muito mais trabalho aos desenvolvedores do que se eles simplesmente tivessem usado uma plataforma diferente.

R

No meu serviço o pessoal usa muito basic (microbasic na verdade) para microcontroladores, porem é uma linguagem muito limitada e para fazer coisas simples tem que se escrever muito código.

Eu estava fazendo um projeto da faculdade em java, na verdade eu escolhi java apenas por ser compátivel com linux e mac, porém estou revendo isso e estou pensando em tentar fazer em delphi ou mesmo estudar um c++. Eu vejo que o java é muito usado em aplicações distribuídas, o único software que eu uso que é feito em java e para usuário final é o JDownloader.

Eu vou continuar os meus estudos em java e possivelmente vou aprender C++ para aplicações para desktop, acho que é uma boa maneira de começar.

M

Já pensou em oferecer serviço em desenvolvimento de sistemas web em java na região onde você mora? Seria uma forma de trazer a tecnologia para sua cidade, e você seria o pioneiro no uso do java na sua cidade.
Não precisa mudar de cidade para trabalhar com java, apenas comece e outro irão te seguir é um processo natural e inevitável. :wink:

R

Marcio_Nogueira:
Já pensou em oferecer serviço em desenvolvimento de sistemas web em java na região onde você mora? Seria uma forma de trazer a tecnologia para sua cidade, e você seria o pioneiro no uso do java na sua cidade.
Não precisa mudar de cidade para trabalhar com java, apenas comece e outro irão te seguir é um processo natural e inevitável. :wink:

Ótima ideia Marcio, porém o mercado aqui na minha cidade ainda é desvalorizado, se você oferecer uma loja virtual completa pra alguém e cobrar 1.500,00, é um absurdo ao ver de algumas pessoas, em contra partida, há algumas empresas que esse tipo de tecnologia é necessário e como não há programadores na região pode ser uma boa coisa a se investir.

Agora outra dúvida que surgiu hoje, na minha faculdade o ensino de java é 100% focado para desenvolvimento de aplicações para desktop, e pelo o que eu ando lendo na internet, principalmente aqui no GUJ é que o forte do java é trabalhar com sistemas web, por causa disso eu até chego a achar inútil o que estou aprendendo na faculdade, por isso falei que estou pensando em estudar c++ junto com o java. Com isso posso usar Java para web e o C++ para desenvolver para Windows, Linux e OSx.

O que acham da ideia de usar essas 2 linguagens?

M

Quanto mais linguagens você puder aprender, melhor pois abre o leque de opções e oportunidades. :wink:

R

Acho meio difícil dominar várias linguagens a fundo, uma já está difícil por causa do tempo.
Mas sempre é por pelo menos saber os pontos fortes de cada uma para que se um dia precisar já é meio caminho andado.

J

ricksouto:
Marcio_Nogueira:
Já pensou em oferecer serviço em desenvolvimento de sistemas web em java na região onde você mora? Seria uma forma de trazer a tecnologia para sua cidade, e você seria o pioneiro no uso do java na sua cidade.
Não precisa mudar de cidade para trabalhar com java, apenas comece e outro irão te seguir é um processo natural e inevitável. :wink:

Ótima ideia Marcio, porém o mercado aqui na minha cidade ainda é desvalorizado, se você oferecer uma loja virtual completa pra alguém e cobrar 1.500,00, é um absurdo ao ver de algumas pessoas, em contra partida, há algumas empresas que esse tipo de tecnologia é necessário e como não há programadores na região pode ser uma boa coisa a se investir.

Agora outra dúvida que surgiu hoje, na minha faculdade o ensino de java é 100% focado para desenvolvimento de aplicações para desktop, e pelo o que eu ando lendo na internet, principalmente aqui no GUJ é que o forte do java é trabalhar com sistemas web, por causa disso eu até chego a achar inútil o que estou aprendendo na faculdade, por isso falei que estou pensando em estudar c++ junto com o java. Com isso posso usar Java para web e o C++ para desenvolver para Windows, Linux e OSx.

O que acham da ideia de usar essas 2 linguagens?

Onde eu trabalho todo o alto nível é desenvolvido em java. Muito produtivo e fácil de manter. Também desenvolvemos hardware e estamos portando projetos de assembly para c.
Java é muito eficaz no desenvolvimento de sistemas e é muito robusto. No post acima só quis citar nichos onde java não entra por razões óbvias.

No caso o c++ também é útil como linguagem de alto nível, e também se forem escolhidas as ferramentas corretas para o projeto em questão. Se eu precisasse criar uma aplicação que necessitasse rodar diversas instâncias e janelas da mesma escolheria c++ como ferramenta. Mas na maioria dos problemas resolvo todos com java mesmo.

R

Marcio_Nogueira:

Onde eu trabalho todo o alto nível é desenvolvido em java. Muito produtivo e fácil de manter. Também desenvolvemos hardware e estamos portando projetos de assembly para c.
Java é muito eficaz no desenvolvimento de sistemas e é muito robusto. No post acima só quis citar nichos onde java não entra por razões óbvias.

No caso o c++ também é útil como linguagem de alto nível, e também se forem escolhidas as ferramentas corretas para o projeto em questão. Se eu precisasse criar uma aplicação que necessitasse rodar diversas instâncias e janelas da mesma escolheria c++ como ferramenta. Mas na maioria dos problemas resolvo todos com java mesmo.

Legal saber, eu gostei muito de trabalhar com java e eu iniciei um projeto na faculdade que é o seguinte:

É um software que organiza campeonatos de xadrez (faz emparceiramento, calcula o rating, cadastra jogadores, etc), eu comecei a fazer em java que é a linguagem que ensinam na faculdade, porém ainda estou em dúvida se o java seria a melhor opção para esse tipo de programa, por isso que pensei em estudar C++ em paralelo.

Como eu disse num post anterior, são poucos programas para desktop que eu vejo rodar em java, agora quando se trata de internet a história muda.

F

Gostaria de esclarecer quando disse “maior plataforma do mercado” no sentido de possibilidade de solução e não de atuação, ou aplicativos existentes no mercado. Ou seja, não existe outra plataforma com o qual vc consegue dar mais variações de soluções. E claro que existem especificações como blu-ray e tv que ainda não estão atuando no mercado…mas conforme todos tem visto, é apenas uma questão de tempo…

J

FernandoFranzini:
Gostaria de esclarecer quando disse “maior plataforma do mercado” no sentido de possibilidade de solução e não de atuação, ou aplicativos existentes no mercado. Ou seja, não existe outra plataforma com o qual vc consegue dar mais variações de soluções. E claro que existem especificações como blu-ray e tv que ainda não estão atuando no mercado…mas conforme todos tem visto, é apenas uma questão de tempo…

olha, não leva a mal não, mas não concordo com isso também não. Quais tipos de soluções você conseguiria com java em que outras plataformas não pudessem oferecer?

F

Acho que vc ainda q não entendeu…eu disse que não existe outra plataforma unica que oferente um leque tão amplo como Java! é claro que existe outras plataformas legais que podem ser usadas intercambialmente no lugar Java, mas vc precisara combinar + de 1 plataforma diferentes para fazer o correspondente no Java…
ou seja…qual é outra UNICA plataforma que oferece soluções desktop, web, web services, regras de negocio distribuída, cartão, celular, blu-ray, tv e dispositivos moveis em geral?

X

Como o Vini falou, uma coisa é SER POSSÍVEL, outra coisa é ser de fato um padrão de mercado.

Não compre o que o marketing vende.

F

xdraculax:
Como o Vini falou, uma coisa é SER POSSÍVEL, outra coisa é ser de fato um padrão de mercado.
Não compre o que o marketing vende.

???
Únicos produtos que ainda não estão no mercado ainda é blu-ray e TV…o resto já esta é um realidade.
Outra coisa eu nem comentei as outras plataformas Java-based como blackberry, android.

J

FernandoFranzini:
xdraculax:
Como o Vini falou, uma coisa é SER POSSÍVEL, outra coisa é ser de fato um padrão de mercado.
Não compre o que o marketing vende.

???
Únicos produtos que ainda não estão no mercado ainda é blu-ray e TV…o resto já esta é um realidade.
Outra coisa eu nem comentei as outras plataformas Java-based como blackberry, android.

mas o android é um sistema posix meu jovem. Não é java.
E possui um sdk nativo que te permite escrever software para criar modulos para o kernel e implementar periféricos. A dalvik ali é só 30% do que o android é realmente. E serve apenas para te dar uma linguagem aconchegante como java.

F

mas o android é um sistema posix meu jovem. Não é java.
E possui um sdk nativo que te permite escrever software para criar modulos para o kernel e implementar periféricos. A dalvik ali é só 30% do que o android é realmente. E serve apenas para te dar uma linguagem aconchegante como java.

Eu to sabendo meu jovem…mas agente sempre acaba falando que é java…uma vez que tem os 30%.
t+

J

Acho que vc ainda q não entendeu…eu disse que não existe outra plataforma unica que oferente um leque tão amplo como Java! é claro que existe outras plataformas legais que podem ser usadas intercambialmente no lugar Java, mas vc precisara combinar + de 1 plataforma diferentes para fazer o correspondente no Java…
ou seja…qual é outra UNICA plataforma que oferece soluções desktop, web, web services, regras de negocio distribuída, cartão, celular, blu-ray, tv e dispositivos moveis em geral?

c++;

c#;

ruby;

lisp;

basic; até em micrcontroladores

pascal; até em microcontroladores

…

e posso citar várias outras.

Com c++ você pode criar web services e soluções web da mesma maneira que java e sem precisar dela… além do mercado de embarcados ser praticamente dominado por essa linguagem.

aqui tem um exemplo.
www.webtoolkit.eu/

Me cita um sistema embarcado que usa java hoje?

No quesito multiplataforma java falhou nas últimas décadas, mas na minha opinião ganhou num outro:
a qualidade das ferramentas e das soluções em que ela se propõe a rodar. Isso é indiscutível.

J

FernandoFranzini:
mas o android é um sistema posix meu jovem. Não é java.
E possui um sdk nativo que te permite escrever software para criar modulos para o kernel e implementar periféricos. A dalvik ali é só 30% do que o android é realmente. E serve apenas para te dar uma linguagem aconchegante como java.

Eu to sabendo meu jovem…mas agente sempre acaba falando que é java…uma vez que tem os 30%.
t+

Pois é, mas os outro 70% são apenas kernel e modulos linux, o que torna perfeitamente possível compilar qualquer programa pascal, basic, c, c++… ou qualquer linguagem que tenha um compilador para arquitetura arm ou power pc.

Então porque chamar de java? Por causa do marketing?

V

FernandoFranzini:

Acho que vc ainda q não entendeu…eu disse que não existe outra plataforma unica que oferente um leque tão amplo como Java! é claro que existe outras plataformas legais que podem ser usadas intercambialmente no lugar Java, mas vc precisara combinar + de 1 plataforma diferentes para fazer o correspondente no Java…
ou seja…qual é outra UNICA plataforma que oferece soluções desktop, web, web services, regras de negocio distribuída, cartão, celular, blu-ray, tv e dispositivos moveis em geral?

Andróide não usa a plataforma Java. Você poderia citar algum produto/aparelho voltado para o mercado consumidor hoje em dia que roda a plataforma Java? Eu não.

Andróide não roda Java, o google apenas permite usar a linguagem Java para criar aplicativos Andróide. Graças a essa grande sacada o Market está cheio (de lixo, mas isso é outro assunto). Mas como lembrou o colega acima, qualquer coisa mais séria precisa desenvolver usando o NDK.

Concluindo, a linguagem Java é muito engessada para ter qualquer chance em mobile. O futuro do Java esta restrita mesmo aos cubículos das grandes empresas.

F

Tudo q vc disseram é verdade…e ainda sim java ainda continuando sendo a plataforma com mais opções de solução que qualquer outra…Vamos esperar para ver oq vai acontecer com java para mobile, uma vez q a coisas podem tomar um melhor caminho…

O futuro do Java esta restrita mesmo aos cubículos das grandes empresas.
essa frase para mim soa sem sentido…kkkkk mas ok.
Eu fico por aqui pessoal
T+…

V

FernandoFranzini:

O futuro do Java esta restrita mesmo aos cubículos das grandes empresas.
essa frase para mim soa sem sentido…kkkkk mas ok.
Eu fico por aqui pessoal
T+…

[youtube]http://www.youtube.com/watch?v=b-Cr0EWwaTk[/youtube]

F

fabioEM:
Se fosse vc, eu estudaria nodejs!
Só javascript na veia desde o código para o cliente ao código para o servidor!! Acho que daqui 2 anos vc vai me agradecer :smiley: :smiley: :smiley: :smiley:

Tem gente que discorda: Node.js is Cancer

J

Concordo com você que java te dá muita opção, só postei contra onde java é a plataforma mais abrangente para gerar soluções, como foi citado lá traz. Isso não é verdade.

M

Mas com o java podemos desenvolver um número grande de aplicações com finalidades bem distintas. :wink:

J

Você pode desenvolver qualquer coisa em qualquer linguagem, mas dependendo do problema a ser solucionado você pode ter mais ou menos trabalho. Essa conversa de plataforma e linguagem x,y não procede. Para um processador o que importa é assembly(código de máquina), seja como bytecode ou outro tipo qualquer. Se você tem o compilador x para a arquitetura x pode escrever em qualquer linguagem.

F

juliocbq:
Concordo com você que java te dá muita opção, só postei contra onde java é a plataforma mais abrangente para gerar soluções, como foi citado lá traz. Isso não é verdade.

Cite exemplos de uma outra plataforma que tenha recursos para gerar diferentes tipos de soluções como o Java…
Por favor, descreva o nome da plataforma e tipos das soluções…

J

FernandoFranzini:
juliocbq:
Concordo com você que java te dá muita opção, só postei contra onde java é a plataforma mais abrangente para gerar soluções, como foi citado lá traz. Isso não é verdade.

Cite exemplos de uma outra plataforma que tenha recursos para gerar diferentes tipos de soluções como o Java…
Por favor, descreva o nome da plataforma e tipos das soluções…

É só dar uma olhada no qt por exemplo:

http://doc.qt.nokia.com/latest/supported-platforms.html
http://qt.nokia.com/qt-in-use/
http://qt.nokia.com/qt-in-use/qt-in-mobile
http://qt.nokia.com/qt-in-use/qt-in-home-media
http://qt.nokia.com/qt-in-use/qt-in-automotive
http://qt.nokia.com/qt-in-use/qt-in-mids-netbooks
http://qt.nokia.com/qt-in-use/qt-in-ip-communications
http://qt.nokia.com/qt-in-use/target/desktop
http://qt.nokia.com/qt-in-use/usage/cross-platform-development
http://qt.nokia.com/qt-in-use/story/device

Olha a quantidade de processadores que c++ pode atingir;

Se a questão for soluções cliente servidor e webservices, pode usar o webtoolkit como postado anteriormente.

http://www.webtoolkit.eu/wt

Se eu citar a linguagem c aqui não vou nem conseguir postar a quantidade de plataformas que alcança. É possível utilizar c em micros com memória de 1kb.

Se procurar sobre java vai ver que não alcança nem metade disso.

Não estou dizendo que essas soluções possuem mais qualidade que as soluções java, ou que seja mais produtivo utilizá-las. Isso é muito relativo. Mas é fato que c e c++ são mais amplamente utilizadas que java em uma gama maior de plataformas.

F

Muito legal…eu realmente desconhecia isso…
Perguntas:

  • Só não vi middlewares RPC e MOM nesse QT…tem?
  • Conhece outras plataformas? Cite.
    Outra coisa, vale lembrar que não existe aplicações corporativa em cima de micros com memória de 1kb…Vai de encontro da própria filosofia do Java kkk
J

essa geladeira é bem legal…

http://qt.nokia.com/qt-in-use/story/device/samsung-srt746awtn-zipel-e-diary

J

FernandoFranzini:
Muito legal…eu realmente desconhecia isso…
Perguntas:

  • Só não vi middlewares RPC e MOM nesse QT…tem?
  • Conhece outras plataformas? Cite.
    Outra coisa, vale lembrar que não existe aplicações corporativa em cima de micros com memória de 1kb…Vai de encontro da própria filosofia do Java kkk

Eu citei o micro de 1kb como exemplo. Se quiser escrever um sistema comercial você pode escrever em qualquer linguagem. E todas possuem bibliotecas para os principais bancos no mercado.

Para RPC existe o QJson-rpc, mas isso não é plataforma, é só um framework
https://gitorious.org/qjson-rpc

R

Pessoal eu concordo com o que disseram sobre o java e também sobre o que disseram sobre o C/C++, porém como já disseram, em algum tipo de solução o java é melhor e em outras o C/C++ é melhor, porém pessoal estamos fugindo do assunto principal do tópico que é demonstrar os pontos fortes da linguagem sem rolar aquele atrito que sempre vejo entre os defensores de linguagens específicas.

Eu gosto de Java e estou estudando bastante essa linguagem, até comecei a desenvolver um projeto pra desktop com java porém estou pensando seriamente em mudar para o C++ (tanto que já baixei o X-code e o QtCreator), eu acredito que se eu desenvolver em C vai ser fácil eu criar versões do software que rodem nos 3 SOs que eu uso (Windows, Linux e OSX).

Quando eu criei esse tópico eu tinha uma dúvida como todos os programadores iniciantes devem ter: Qual linguagem devo aprender? porém aproveitando algumas respostas e outros tópicos que eu li eu optei por estudar C\C++ e Java, pois ao meu ver ambas suprem todas as minhas necessidades. Talvez futuramente eu comece a trabalhar com linguagens para Mainframes porque eu acho que é uma área pouco explorada.

F

ricksouto:
Pessoal eu concordo com o que disseram sobre o java e também sobre o que disseram sobre o C/C++, porém como já disseram, em algum tipo de solução o java é melhor e em outras o C/C++ é melhor, porém pessoal estamos fugindo do assunto principal do tópico que é demonstrar os pontos fortes da linguagem sem rolar aquele atrito que sempre vejo entre os defensores de linguagens específicas.

Eu gosto de Java e estou estudando bastante essa linguagem, até comecei a desenvolver um projeto pra desktop com java porém estou pensando seriamente em mudar para o C++ (tanto que já baixei o X-code e o QtCreator), eu acredito que se eu desenvolver em C vai ser fácil eu criar versões do software que rodem nos 3 SOs que eu uso (Windows, Linux e OSX).

Quando eu criei esse tópico eu tinha uma dúvida como todos os programadores iniciantes devem ter: Qual linguagem devo aprender? porém aproveitando algumas respostas e outros tópicos que eu li eu optei por estudar C\C++ e Java, pois ao meu ver ambas suprem todas as minhas necessidades. Talvez futuramente eu comece a trabalhar com linguagens para Mainframes porque eu acho que é uma área pouco explorada.

C?? Tais loco, a esta altura do campeonato C para fazer apps desktop acho que não vira. Se quer um app desktop que rode nos 3(mais que 3 na verdade) ta ai mais um motivo para investir mais ainda em Java. Ou não conhece o refrão do java? Write Once, Run Anywhere. Só tomar pequenos cuidados, que não tera grandes problemas para rodar nos OS atuais. Mais fácil que java para ser multiplaforma, acho que não tem.

O problema destes tópicos, é que sempre vem o pessoal que sempre complica mais que o necessario e sempre com a mesma fala: “a linguagem x para o problema x”, ou ainda “estude todas as linguagems do universo”, como se tivessemos tempo, e como se isto fosse resolver tudo.

a questão é: Voce quer o que? Fazer sistemas desktop e web para comercios, portais, e tudo mais? ok, Java é uma ótima opção, C# com .NET tambem, estas duas(escolha uma pra nao complicar, java de preferencia, ja que estamos num forum java :smiley: ) e siga em frente. Ja esta estudando java, excelente, é uma linguagem super robusta, com um zilhão de framework pra tudo quanto é coisa que precisar, diz o ditado: se voce consegue imaginar, então existe um framework java pra isto
Mercado java é o maior atualmente, então voce ficara bem com java, quando estiver bom e produzindo, ai sim, pode começar a pensar em outra coisa, talvez uma outra linguagem que rode na JVM, como Python, Groovy, Scala ou Ruby.

Sobre mainframes, acho que vc esta um pouco enganado, mainframe é passado, agora é encontrado apenas onde fica muito caro e complicado migrar, por exemplos bancos, é um local onde se acha muito cobol ainda, mas é uma linguagem que podemos chamar de legada, tem vagas tem, pagam bem pagam, mas pagam pq nao acham cristo no mundo para ocupar estas vagas, os vovôs estão morrendo e as vagas sobrando, se sua cidade tem apenas delphi, imagina se vai achar emprego para cobol, eu sinceramente não aconselharia a estudar cobol, a não ser que vc tenha alguma paixao por isto, e esteja disposto a mudar para um grande centro, e trabalhar nestas grandes instituições(bancos, telefonicas, etc) onde o cobol teima em não morrer.

Resumindo é isto, gosta de java, invista pesado e seja feliz, quando estiver bom e achar que precisa de algo mais, ou achar algum problema que java não resolve, ai sim corra a traz da linguagem que resolva!

R

Concordo contigo que para multiplataformas mais fácil que Java não há, porém eu quase não vejo ninguém usando java para desenvolver para desktops, todo lugar que eu pesquiso vejo o pessoal desenvolver em delphi, C++, VB. Java só quando se trata de aplicações web e como já disseram, em sua grande maioria usado por grandes empresas.

Por isso penso em estudar C++ junto com java.

J

fredferrao:
ricksouto:
Pessoal eu concordo com o que disseram sobre o java e também sobre o que disseram sobre o C/C++, porém como já disseram, em algum tipo de solução o java é melhor e em outras o C/C++ é melhor, porém pessoal estamos fugindo do assunto principal do tópico que é demonstrar os pontos fortes da linguagem sem rolar aquele atrito que sempre vejo entre os defensores de linguagens específicas.

Eu gosto de Java e estou estudando bastante essa linguagem, até comecei a desenvolver um projeto pra desktop com java porém estou pensando seriamente em mudar para o C++ (tanto que já baixei o X-code e o QtCreator), eu acredito que se eu desenvolver em C vai ser fácil eu criar versões do software que rodem nos 3 SOs que eu uso (Windows, Linux e OSX).

Quando eu criei esse tópico eu tinha uma dúvida como todos os programadores iniciantes devem ter: Qual linguagem devo aprender? porém aproveitando algumas respostas e outros tópicos que eu li eu optei por estudar C\C++ e Java, pois ao meu ver ambas suprem todas as minhas necessidades. Talvez futuramente eu comece a trabalhar com linguagens para Mainframes porque eu acho que é uma área pouco explorada.

C?? Tais loco, a esta altura do campeonato C para fazer apps desktop acho que não vira. Se quer um app desktop que rode nos 3(mais que 3 na verdade) ta ai mais um motivo para investir mais ainda em Java. Ou não conhece o refrão do java? Write Once, Run Anywhere. Só tomar pequenos cuidados, que não tera grandes problemas para rodar nos OS atuais. Mais fácil que java para ser multiplaforma, acho que não tem.

O problema destes tópicos, é que sempre vem o pessoal que sempre complica mais que o necessario e sempre com a mesma fala: “a linguagem x para o problema x”, ou ainda “estude todas as linguagems do universo”, como se tivessemos tempo, e como se isto fosse resolver tudo.

a questão é: Voce quer o que? Fazer sistemas desktop e web para comercios, portais, e tudo mais? ok, Java é uma ótima opção, C# com .NET tambem, estas duas(escolha uma pra nao complicar, java de preferencia, ja que estamos num forum java :smiley: ) e siga em frente. Ja esta estudando java, excelente, é uma linguagem super robusta, com um zilhão de framework pra tudo quanto é coisa que precisar, diz o ditado: se voce consegue imaginar, então existe um framework java pra isto
Mercado java é o maior atualmente, então voce ficara bem com java, quando estiver bom e produzindo, ai sim, pode começar a pensar em outra coisa, talvez uma outra linguagem que rode na JVM, como Python, Groovy, Scala ou Ruby.

Sobre mainframes, acho que vc esta um pouco enganado, mainframe é passado, agora é encontrado apenas onde fica muito caro e complicado migrar, por exemplos bancos, é um local onde se acha muito cobol ainda, mas é uma linguagem que podemos chamar de legada, tem vagas tem, pagam bem pagam, mas pagam pq nao acham cristo no mundo para ocupar estas vagas, os vovôs estão morrendo e as vagas sobrando, se sua cidade tem apenas delphi, imagina se vai achar emprego para cobol, eu sinceramente não aconselharia a estudar cobol, a não ser que vc tenha alguma paixao por isto, e esteja disposto a mudar para um grande centro, e trabalhar nestas grandes instituições(bancos, telefonicas, etc) onde o cobol teima em não morrer.

Resumindo é isto, gosta de java, invista pesado e seja feliz, quando estiver bom e achar que precisa de algo mais, ou achar algum problema que java não resolve, ai sim corra a traz da linguagem que resolva!

Concordo com você fred. C não é para aplicativos. Eu citei acima somente para mostrar a abrangência dele nas plataformas. Vai usar c para projetos de baixo nível, em micros e escrevendo drivers e compiladores.

Em contrapartida, dependendo do tipo da aplicação c++ pode ser uma pedida melhor que java utilizando-se um bom framework como o qt. Ou mesmo java ou c# para projetos que não vão exigir muitas instâncias da mesma aplicação rodando simultaneamente como um browser, um file manager, processador de texto ou imagens, etc…

Da mesma maneira como existe aquele webtoolkit eu optaria para usar um similar java como o gwt ou facelets.

Em questão de mercado e emprego eu optaria por java também.

R

Eu já sei que o mercado de java é bom, é muito usado nas empresas para soluções web, etc, mas na questão de desenvolvimento pra desktop, qual é a opinião de vocês sobre o java? Alguém ai tem experiência? Pois eu quase não vejo softwares em java, exceto o meu Jdownloader rsrs.

V

Java não é ruim pra Desktop. O Swing é bastante flexível e roda igualmente em todos os SOs. O problema do Swing é que o código fica bem verboso

Quanto ao Java no Desktop, aplicações escritas em Java tem a desvantagem de precisar da VM pra rodar (download grande e que nem todo mundo sabe fazer), ser lento no startup, ter uma GUI mais lenta que a do SO e requer MUITA memória. Acho q é por isso que não é muito comum em aplicações Desktop pro consumidor. Eu mesmo se tiver 2 aplicações disponíveis pra mim, uma em Java e outra em C++, com certeza vou preferir usar a em C++

Já para aplicações corporativas desenvolvidas internamente, Java até que é apropriado porque é fácil encontrar programador pra dar manutenção. Além de que o fato de rodar em Linux pode ser uma boa caso você queira cortar custos usando o Linux

F

Entra em qualquer agencia dos correios(agencia propria) e olha para o monitor. Pronto, tu vai ver um dos, se não o, principal sistema dos correios, inclusive com integração com Bradesco(agora sera BB), e é feito em java desktop JSE. Claro é o exemplo de uma empresa apenas.

Alem do JDownloader, eu uso o Vuze, cliente de torrent :smiley: , mas ta certo, estes apps famosos usados por muitos que tem na web, são em sua maioria C++, eu acho.

Ainda sobre a questão de não se achar muito app desktop escrito em java, é mais uma questão historica, mitologica e cultural.

O mito que ainda corre, é que java no desktop é lento, bom, ele ERA lento, la no java 1.4 e anteriores, do 1.5 pra frente isto ja não é mais veridico.

Então vejamos a historia, enquando o java era lento(1.4 e anteriores) e estava saindo pro mundo, começando pela web, o delphi chegou com toda sua facilidade de arrasta e solta, e reinou absoluto no mercado desktop, principalmente na area de automação comercial(ECF, TEF, etc.), mas, quando a web explodiu o delphi não acompanhou, foi entao que ele deixou de ser uma boa para o mercado e apps no geral, em contrapartida o java só evoluiu, tanto na web, quanto no desktop, e hoje roda sem problema em qualquer destes dois.

Eu era programador Delphi, mas quando conheci java, abandonei ele, inclusive para desktop, sinto muito mais prazer e fico muito mais a vontade com o código java, do que o delphi e seus componentes arrasta e solta.

Agora tem que ver o que vc quer. Aqui na minha cidade, apesar de capital, praticamente não existe mercado privado para java, as empresas que tem(tres?) uma ainda não se desgrudou do clipper, e as outras duas usam delphi, uma delas começando a usar c#(Visual Studio na verdade :twisted: ), pq é uma migração mais natural pra galera do delphi. Java esta mais no setor publico, orgãos e tals. E como eu sou do setor publico e ainda tenho meus própios projetos pessoais, java pra mim serve de boa.

Se na tua cidade só tem empresas que usam delphi, e vc pretende trabalhar nelas, vc teria outra opção? Acho q nao. Mas mesmo estas empresas vao precisar de alguem com conhecimento em uma linguagem mais web, se elas não quiserem ficar somente no mundo desktop, o que é dificil hoje.
Agora se voce pensa em crescer e ganhar o mundo, ou ainda vender seus proprios apps, eu aconselharia fortemente java, ou até mesmo C#, que são linguagens muito mais fortes no mercado em geral e trabalham nos dois ambientes, desktop e web, java esta mais para web, mas pela questao historica que disse acima, não que ele não tenha competencia.

chega falei demais :lol:

R

Legal cara, gostei do seu ponto de vista, obrigado.

J

Entra em qualquer agencia dos correios(agencia propria) e olha para o monitor. Pronto, tu vai ver um dos, se não o, principal sistema dos correios, inclusive com integração com Bradesco(agora sera BB), e é feito em java desktop JSE. Claro é o exemplo de uma empresa apenas.

Alem do JDownloader, eu uso o Vuze, cliente de torrent :smiley: , mas ta certo, estes apps famosos usados por muitos que tem na web, são em sua maioria C++, eu acho.

Ainda sobre a questão de não se achar muito app desktop escrito em java, é mais uma questão historica, mitologica e cultural.

O mito que ainda corre, é que java no desktop é lento, bom, ele ERA lento, la no java 1.4 e anteriores, do 1.5 pra frente isto ja não é mais veridico.

Então vejamos a historia, enquando o java era lento(1.4 e anteriores) e estava saindo pro mundo, começando pela web, o delphi chegou com toda sua facilidade de arrasta e solta, e reinou absoluto no mercado desktop, principalmente na area de automação comercial(ECF, TEF, etc.), mas, quando a web explodiu o delphi não acompanhou, foi entao que ele deixou de ser uma boa para o mercado e apps no geral, em contrapartida o java só evoluiu, tanto na web, quanto no desktop, e hoje roda sem problema em qualquer destes dois.

Eu era programador Delphi, mas quando conheci java, abandonei ele, inclusive para desktop, sinto muito mais prazer e fico muito mais a vontade com o código java, do que o delphi e seus componentes arrasta e solta.

Agora tem que ver o que vc quer. Aqui na minha cidade, apesar de capital, praticamente não existe mercado privado para java, as empresas que tem(tres?) uma ainda não se desgrudou do clipper, e as outras duas usam delphi, uma delas começando a usar c#(Visual Studio na verdade :twisted: ), pq é uma migração mais natural pra galera do delphi. Java esta mais no setor publico, orgãos e tals. E como eu sou do setor publico e ainda tenho meus própios projetos pessoais, java pra mim serve de boa.

Se na tua cidade só tem empresas que usam delphi, e vc pretende trabalhar nelas, vc teria outra opção? Acho q nao. Mas mesmo estas empresas vao precisar de alguem com conhecimento em uma linguagem mais web, se elas não quiserem ficar somente no mundo desktop, o que é dificil hoje.
Agora se voce pensa em crescer e ganhar o mundo, ou ainda vender seus proprios apps, eu aconselharia fortemente java, ou até mesmo C#, que são linguagens muito mais fortes no mercado em geral e trabalham nos dois ambientes, desktop e web, java esta mais para web, mas pela questao historica que disse acima, não que ele não tenha competencia.

chega falei demais :lol:

Não é questão da jvm ser lenta(porque ela não é mesmo), e sim “custosa”. Cada processo consome memória demais e isso é o grande empecilho para criar aplicações desktop para java. É um absurdo que uma aplicação simples ocupe uma centena de Mb em memória. Isso inviabiliza o seu uso nesse nicho. O pessoal que postou mais acima dizendo isso tem completa razão.

F

victorcosta:
Java não é ruim pra Desktop. O Swing é bastante flexível e roda igualmente em todos os SOs. O problema do Swing é que o código fica bem verboso

Quanto ao Java no Desktop, aplicações escritas em Java tem a desvantagem de precisar da VM pra rodar (download grande e que nem todo mundo sabe fazer), ser lento no startup, ter uma GUI mais lenta que a do SO e requer MUITA memória. Acho q é por isso que não é muito comum em aplicações Desktop pro consumidor. Eu mesmo se tiver 2 aplicações disponíveis pra mim, uma em Java e outra em C++, com certeza vou preferir usar a em C++

Já para aplicações corporativas desenvolvidas internamente, Java até que é apropriado porque é fácil encontrar programador pra dar manutenção. Além de que o fato de rodar em Linux pode ser uma boa caso você queira cortar custos usando o Linux

Cara,
pelo que sei qualquer aplicação Java para rodar necessita de uma vm instalada no sistema operacional.

F

juliocbq:

Não é questão da jvm ser lenta(porque ela não é mesmo), e sim “custosa”. Cada processo consome memória demais e isso é o grande empecilho para criar aplicações desktop para java. É um absurdo que uma aplicação simples ocupe uma centena de Mb em memória. Isso inviabiliza o seu uso nesse nicho. O pessoal que postou mais acima dizendo isso tem completa razão.

Não exagera, estou com uma app java aqui, não tão simples(HP ServiceManager) com 3 abas abertas, e ela ta gastando 85MB :smiley:

Mas concordo com voce, ele gasta bastante memória mesmo, mas ai vem a pergunta: será que nos dias atuais, onde um pente de 2GB de memória custa 50,00, deveriamos realmente estar preocupados com isto? La se foi a epoca de PC’s com 256MB. Hoje, qualquer máquina vem com pelo menos 3GB.

Falando em memória, abra o firefox e ele ja come ~65MB, abre o gmail e deixa algumas horas abertas e veja o quanto ele vai estar comendo.
Enfim, acho que todos estão bem famintos hoje em dia, até porque falta de recursos não é mais o problema!

R

Concordo contigo Fred, hoje em dia memória tem até de sobra, a maioria dos computadores hoje em dia tem 2gb, raramente eu vejo um pc com menos de 2 gb e sinceramente eu não pretendo programar para computadores lerdos, salvo em casos diferenciados.

J

fredferrao:
juliocbq:

Não é questão da jvm ser lenta(porque ela não é mesmo), e sim “custosa”. Cada processo consome memória demais e isso é o grande empecilho para criar aplicações desktop para java. É um absurdo que uma aplicação simples ocupe uma centena de Mb em memória. Isso inviabiliza o seu uso nesse nicho. O pessoal que postou mais acima dizendo isso tem completa razão.

Não exagera, estou com uma app java aqui, não tão simples(HP ServiceManager) com 3 abas abertas, e ela ta gastando 85MB :smiley:

Mas concordo com voce, ele gasta bastante memória mesmo, mas ai vem a pergunta: será que nos dias atuais, onde um pente de 2GB de memória custa 50,00, deveriamos realmente estar preocupados com isto? La se foi a epoca de PC’s com 256MB. Hoje, qualquer máquina vem com pelo menos 3GB.

Falando em memória, abra o firefox e ele ja come ~65MB, abre o gmail e deixa algumas horas abertas e veja o quanto ele vai estar comendo.
Enfim, acho que todos estão bem famintos hoje em dia, até porque falta de recursos não é mais o problema!

Dá para se ter uma idéia analizando dessa forma. O meu firefox já chegou a comer 859 Mb de ram mas eu tinha muitas, muitas instâncias e abas da mesma aplicação aberta. Se portarmos esse problema para java vai ver como a solução já se torna inviável.

Um compilador de c++ foi desenvolvido com intuito de gerar código enxuto para poupar recursos de sistema. Em contrapartida o de java foi desenvolvido para ceder uma linguagem cômoda e produtiva para criação de sistemas complexos. São coisas muito distintas.

J

Mas é isso que você precisa analisar. Se memória não é o seu problema, as ferramentas modernas como java são as melhores soluções indiscutivelmente. Agora se o seu problema são aplicações de prateleira que precisam rodar várias instâncias e janelas, elas precisam ser flexíveis. São casos completamente diferentes.

Desenvolver software de sistema e aplicações são coisas distintas também.

F

O Browser Chrome é mais rápido do que o FireFox, e pelo que sei seu consumo de memória costuma ser satisfatório quando comparado com o FireFox por exemplo. Mas vejamos como foram implementados;
O Browser FireFox foi desenvolvido em cima do C++, XUL e XBL no que refere o servidor, já o Chrome foi com o Oxygene da família .NET, uma linguagem que chega a ter mais overhead do que o java.
Podemos ver que apesar do firefox usar como base de implementação c++, isso não significa que seu desempenho é superior.
A questão de Hoje é, como se implementa, como se constrói uma arquitetura sólida que proporcione maior desempenho com puco consumo de memória? Você pode desenvolver até em assembly, mas se não souber programar vai dar no mesmo terá uma aplicação com péssimo desempenho e alto consumo de memória. :lol: :lol: :lol:

J

fabioEM:
O Browser Chrome é mais rápido do que o FireFox, e pelo que sei seu consumo de memória costuma ser satisfatório quando comparado com o FireFox por exemplo. Mas vejamos como foram implementados;
O Browser FireFox foi desenvolvido em cima do C++, XUL e XBL no que refere o servidor, já o Chrome foi com o Oxygene da família .NET, uma linguagem que chega a ter mais overhead do que o java.
Podemos ver que apesar do firefox usar como base de implementação c++, isso não significa que seu desempenho é superior.
A questão de Hoje é, como se implementa, como se constrói uma arquitetura sólida que proporcione maior desempenho com puco consumo de memória? Você pode desenvolver até em assembly, mas se não souber programar vai dar no mesmo terá uma aplicação com péssimo desempenho e alto consumo de memória. :lol: :lol: :lol:

Onde você leu isso?
O chrome usa 3 linguagens dentre as quais - C++, Assembly, Python, JavaScript.
Usa assembly para otimizar partes críticas de software como desenhar imagens e executar vídeo usando opengl.

E outra coisa, boa parte do código do chrome é do mozzila.

A parte de saber programar está correta, e isso inclui escolher a linguagem que lhe oferece a melhor maneira de solucionar determinado problema.

F

ops realmente li errado mas o conceito é esse mesmo :lol: :lol: :lol: :lol:

J

rsrsrs… tá certo.
você falou com uma convicção que até eu fiquei com receio…

F

Eu só uso chrome, sitei o firefox, pq sei deste “bug” dele + gmail.

Mas o chrome tambem parece um lobo mau disfarçado de cordeiro.
Neste momento estou com 3 abas abertas, 2 GUJ e 1 do gmail, olha quantas instancias o bixim criou e olha quanto ta comendo somando todas, nada nada quase 300MB.

J

fredferrao:
Eu só uso chrome, sitei o firefox, pq sei deste “bug” dele + gmail.

Mas o chrome tambem parece um lobo mau disfarçado de cordeiro.
Neste momento estou com 3 abas abertas, 2 GUJ e 1 do gmail, olha quantas instancias o bixim criou e olha quanto ta comendo somando todas, nada nada quase 300MB.

Você tem que levar em conta é que cada aba da sua janela é um superfície da opengl na qual todo o hypertexto é desenhado. Hoje com html5, além da aceleração de vídeo via hardware, também temos áudio e várias outros ítens em um browser. Faz um teste com ie8. Você vai encontrar um memory leak. Descoibri testando um software web aqui.

R

Pessoal, agradeço muito pelas ideias e dicas que vocês me deram até agora, sou novo aqui no fórum e sinceramente até hoje não participei de um fórum com um nível igual a este. Obrigado mesmo!

Eu já decidi que vou continuar estudando Java e em paralelo C++.

Criado 31 de outubro de 2011
Ultima resposta 8 de nov. de 2011
Respostas 58
Participantes 12