[quote=Hermanoz][quote]
Mas há determinados softwares que não há como fazer apenas utilizando uma linguagem. Inclusive no java,em que ha pouco acesso e manipulamento de hardware para os programadores.
[/quote]
Se quer manipular hardware escolha a linguagem que foi feito pra isso.
Acredite em mim, só pq você faz questão de usar java pra algo que não foi feito não lhe faz parecer mais esperto.[/quote]
De qualquer maneira, o conhecimento sobre como integrar as duas linguagens vale a pena. Aqui onde trabalho precisamos fazer essa integração para utilizar uma biblioteca nativa para obter nomes de impressoras de redes no Windows.
Concordo com o que o colega falou, hoje em dia os sistemas estão cada vez maiores e cada vez mais heterogêneos, sendo assim, dificilmente você trabalha em um sistema desses com apenas uma linguagem/tecnologia.
Sobre gerar valor para clientes e usuário, na minha opinião, falta de conhecimento não ajuda ninguém nesse quesito.
[quote]- C++ é muito mais portável do que Java. Você pode fazer um software para um número muitíssimo maior de plataformas;
É fácil construir interfaces gráficas em C++ hoje em dia com as bibliotecas certas: Basta ver o QT;
No C++, o programador tem controle absoluto da memória e pode fazer otimizações agressivas - o que é importante para aplicativos como bancos de dados, players de vídeo, software embarcado ou games;
No C++, você tem a possibilidade de usar hardwares específicos ou APIs do sistema operacional específicas;
Todas as novidades tecnológicas funcionam primeiro em C e, consequentemente, em C++. [/quote]
Wow… não vou nem discutir com você sobre c/c++ pq claramente você é um fanboy dessas linguagens, mas Qt é praticamente uma tecnologia morta nesse ponto, já que semana passada a Nokia demitiu todos os membros da equipe.
[quote=rmendes08]
Sobre gerar valor para clientes e usuário, na minha opinião, falta de conhecimento não ajuda ninguém nesse quesito.[/quote]
Se vc tem tempo disponível para adquirir conhecimento inútil, bom pra vc.
O problema é falta de conhecimento sobre o que gera valor para o cliente (no seu caso, obter nomes de impressora no Windows, não integrar duas linguagens). Por isso programadores são desvalorizados no mercado.
[quote=Hermanoz][quote]
Mas há determinados softwares que não há como fazer apenas utilizando uma linguagem. Inclusive no java,em que ha pouco acesso e manipulamento de hardware para os programadores.
[/quote]
Se quer manipular hardware escolha a linguagem que foi feito pra isso.
Acredite em mim, só pq você faz questão de usar java pra algo que não foi feito não lhe faz parecer mais esperto.[/quote]
Acredito que você está levando mais pro lado de desenvolver algo para um cliente, mas há grandes empresas que trabalham com integrações com outros sistemas(até com sistemas de outras empresas). E aí? vai mandar refazer tudo em uma linguagem só?
E se a linguagem não possuir boa interface gráfica, ou para fazer isso seja muito trabalhoso? Vai passar um sistema pro cliente executar os comandos teclando?
O cliente quer que o produto funcione de forma perfeita. Se for necessário integrar duas linguagens, há casos em que ele nem precisa saber disso e só irá confundi-lo.
Programador é desvalorizado no mercado por diversos outros fatores. Não acredito integrar duas linguagens seja um desses.
[quote=ErickRAR]
Acredito que você está levando mais pro lado de desenvolver algo para um cliente, mas há grandes empresas que trabalham com integrações com outros sistemas(até com sistemas de outras empresas). E aí? vai mandar refazer tudo em uma linguagem só?
E se a linguagem não possuir boa interface gráfica, ou para fazer isso seja muito trabalhoso? Vai passar um sistema pro cliente executar os comandos teclando?
O cliente quer que o produto funcione de forma perfeita. Se for necessário integrar duas linguagens, há casos em que ele nem precisa saber disso e só irá confundi-lo.
Programador é desvalorizado no mercado por diversos outros fatores. Não acredito integrar duas linguagens seja um desses.[/quote]
Programador é desvalorizado por não saber gerar valor ao seus clientes.
O fato da maioria viver de remendar sistema dos outros é uma prova disso.
[quote=Hermanoz][quote=ErickRAR]
Acredito que você está levando mais pro lado de desenvolver algo para um cliente, mas há grandes empresas que trabalham com integrações com outros sistemas(até com sistemas de outras empresas). E aí? vai mandar refazer tudo em uma linguagem só?
E se a linguagem não possuir boa interface gráfica, ou para fazer isso seja muito trabalhoso? Vai passar um sistema pro cliente executar os comandos teclando?
O cliente quer que o produto funcione de forma perfeita. Se for necessário integrar duas linguagens, há casos em que ele nem precisa saber disso e só irá confundi-lo.
Programador é desvalorizado no mercado por diversos outros fatores. Não acredito integrar duas linguagens seja um desses.[/quote]
Programador é desvalorizado por não saber gerar valor ao seus clientes.
O fato da maioria viver de remendar sistema dos outros é uma prova disso.[/quote]
Bom, já que você entende tanto do assunto, diga lá, o que é gerar valor para o cliente então ? O que você leu sobre o Steve Jobs que te deixou tão vislumbrado assim ?
[quote=Hermanoz][quote=ErickRAR]
Acredito que você está levando mais pro lado de desenvolver algo para um cliente, mas há grandes empresas que trabalham com integrações com outros sistemas(até com sistemas de outras empresas). E aí? vai mandar refazer tudo em uma linguagem só?
E se a linguagem não possuir boa interface gráfica, ou para fazer isso seja muito trabalhoso? Vai passar um sistema pro cliente executar os comandos teclando?
O cliente quer que o produto funcione de forma perfeita. Se for necessário integrar duas linguagens, há casos em que ele nem precisa saber disso e só irá confundi-lo.
Programador é desvalorizado no mercado por diversos outros fatores. Não acredito integrar duas linguagens seja um desses.[/quote]
Programador é desvalorizado por não saber gerar valor ao seus clientes.
O fato da maioria viver de remendar sistema dos outros é uma prova disso.[/quote]
Vomitar um monte de lugar comum, que já é repetido a exaustão em cursos de ‘pós-graduação’ de gerenciamento, também não agrega nada.
[quote=felipeguerra][quote=Hermanoz][quote=ErickRAR]
Acredito que você está levando mais pro lado de desenvolver algo para um cliente, mas há grandes empresas que trabalham com integrações com outros sistemas(até com sistemas de outras empresas). E aí? vai mandar refazer tudo em uma linguagem só?
E se a linguagem não possuir boa interface gráfica, ou para fazer isso seja muito trabalhoso? Vai passar um sistema pro cliente executar os comandos teclando?
O cliente quer que o produto funcione de forma perfeita. Se for necessário integrar duas linguagens, há casos em que ele nem precisa saber disso e só irá confundi-lo.
Programador é desvalorizado no mercado por diversos outros fatores. Não acredito integrar duas linguagens seja um desses.[/quote]
Programador é desvalorizado por não saber gerar valor ao seus clientes.
O fato da maioria viver de remendar sistema dos outros é uma prova disso.[/quote]
Vomitar um monte de lugar comum, que já é repetido a exaustão em cursos de ‘pós-graduação’ de gerenciamento, também não agrega nada.[/quote]
[quote=“Hermanoz”]
Wow… não vou nem discutir com você sobre c/c++ pq claramente você é um fanboy dessas linguagens, mas Qt é praticamente uma tecnologia morta nesse ponto, já que semana passada a Nokia demitiu todos os membros da equipe.[/quote]
Ainda que todo time do QT seja mesmo demitido, ainda levaria um bocado de tempo para o QT morrer. Até pq a última versão dele é recente. Além disso, é um projeto open source e não é mantido só pela Nokia.
Agora dizer que c++ é uma linguagem “morta nesse ponto” é, no mínimo, um sinal de ignorância. Ele é praticamente monopolista do mercado de aplicações desktop, como a lista que o colega postou demonstrou.
[quote=ViniGodoy][quote=“Hermanoz”]
Wow… não vou nem discutir com você sobre c/c++ pq claramente você é um fanboy dessas linguagens, mas Qt é praticamente uma tecnologia morta nesse ponto, já que semana passada a Nokia demitiu todos os membros da equipe.[/quote]
Ainda que todo time do QT seja mesmo demitido, ainda levaria um bocado de tempo para o QT morrer. Até pq a última versão dele é recente. Além disso, é um projeto open source e não é mantido só pela Nokia.
Agora dizer que c++ é uma linguagem “morta nesse ponto” é, no mínimo, um sinal de ignorância. Ele é praticamente monopolista do mercado de aplicações desktop, como a lista que o colega postou demonstrou.
Por fim, eu não gosto muito de C.[/quote]
Qual desktop? Linux? No Windows não é VB ou C# e no Mac o Objective C?
A linguagem C é simples e isso é muito bom. Para maiores complexidades existem Java ou C#.
O C++ fica em um meio termo, muito complexo para ser baixo nível, mas com muita coisa de baixo nível que dá trabalho, o que o torna um saco para se trabalhar.
Não é. Empresas costumam a fazer sistemas portáveis.
Novamente, estamos falando do mercado de aplicativos. Aqueles que você compra em caixinha, na loja.
Photoshop, Corel, pacote Office, VLC, MicroTorrent, games, softwares desse tipo.
Qualquer um de nós tem provavelmente dezenas de aplicações conhecidas feitas em C++ rodando em sua máquina, a começar pelo navegador que você está usando para ler minha resposta.
Mesmo se você estiver no Windows, se for Chrome, IE ou Firefox, foi feito em C++, e não em VB, muito menos em C#.
Objective-C também é uma extensão do C. Por isso, muitos aplicativos feitos para também para MAC são escritos em C.
Há compiladores C++ que também fazem cross-compilation para binários do Mac.
Verdade. Por ser uma linguagem de construção simples, é geralmente a primeira linguagem que os fabricantes de hardware suportam.
Também por isso, ela é tão adequada para construção de SOs, firmware e software embarcado (o fato do binário ser otimizado e de dar muito controle de baixo nível são outros motivos igualmente importantes).
Entretanto, o fato da linguagem ser simples não significa que programar nela seja simples.
Nem que os problemas que ela resolva sejam simples.
Eu, particularmente, acho muito difícil programar em C. Primeiro, é necessário voltar ao paradigma procedural.
Depois, é difícil escapar de manipulação de ponteiros e macros.
Finalmente, boa parte da manipulação da memória é feita braçalmente, conhecendo-se tamanhos de tipos, a começar pela própria string - que no fundo é apenas um ponteiro para um endereço de memória que cotenha um grupo de caracteres.
Java e C# surgiram justamente no sentido oposto. Para simplificar a resolução de problemas comuns, e tornar a programação menos complexa.
Nada de gerenciar memória, ou se preocupar com detalhes como a arquitetura da máquina onde o software roda.
Sem preocupações exageradas com otimizações agressivas, consumo de memória ou especificidades tais como o tamanho exato em bytes de uma classe.
Até porque, aplicações comerciais não exigem esse tipo de preocupação.
Bobagem. Quem fala isso ignora os últimos 20 anos de evolução da linguagem.
Provavelmente nunca usou uma API moderna, como a boost e a QT, não tem idéia do que sejam SmartPointers e RAII, e ignora completamente as práticas de programação atuais.
É claro que C++ ainda é (muito) mais complexo que uma linguagem gerenciada. E, algumas coisas realmente são chatas, pois é uma linguagem antiga e deve suportar o peso de ter lá muitos erros do passado. Eu mesmo não recomendo C++ para muitos tipos de aplicações (tais como as que o C# e o Java já cobrem bem). Mas uma coisa é fato, se você vai distribuir software para o grande mercado, ter em mãos uma linguagem que te dá absoluto controle, extremamente otimizável, que não exige instalação de VMs e que pode ser portada para um número incrível de plataformas é uma vantagem considerável. Além disso, é consideravelmente mais fácil programar em C++ do que programar em C.
O preço a se pagar, levando-se em consideração o que existe pronto hoje, é bem menor do que muita gente supõe.
Para cada “aplicação de caixinha”, coisa do passado diga-se de passagem pois com Steam nem jogos são mais “de caixinha”, existem n empresarias feitas em VB ou alguma outra linguagem que não C++. E por falar em jogos, hoje em dia existem tantos feitos em Flash ou o que o valha, que se bobear nem a maioria dos jogos são feitos em C++.
Achei muito estranho a sua afirmação. Existe algum dado concreto para isso? Acho que meio impossível uma pessoa normal optar por desenvolver em C++ quando existem inúmeras opções mais simples e mais produtivas. Coisa que tenho observado inclusive no mercado.
Ou seja, a exceção e não a regra.
Uma extensão que não tem absolutamente nada a a ver com C++. As aplicações do Mac são feitas em Objective C, em sua maioria.
[quote=ViniGodoy]
Java e C# surgiram justamente no sentido oposto.[/quote]
tsc, tsc
Maiores complexidades de problemas. Java e C# foram criados para propiciar uma maior produtividade, onde problemas que seriam complexos em linguagens de baixo nível, assim como memória e concorrência, são gerenciados pela VM automaticamente.
[quote=ViniGodoy]
Bobagem. Quem fala isso ignora os últimos 20 anos de evolução da linguagem.
Provavelmente nunca usou uma API moderna, como a boost e a QT, não tem idéia do que sejam SmartPointers e RAII, e ignora completamente as práticas de programação atuais.
É claro que C++ ainda é (muito) mais complexo que uma linguagem gerenciada. E, algumas coisas realmente são chatas, pois é uma linguagem antiga e deve suportar o peso de ter lá muitos erros do passado. Eu mesmo não recomendo C++ para muitos tipos de aplicações (tais como as que o C# e o Java já cobrem bem). Mas uma coisa é fato, se você vai distribuir software para o grande mercado, ter em mãos uma linguagem que te dá absoluto controle, extremamente otimizável, que não exige instalação de VMs e que pode ser portada para um número incrível de plataformas é uma vantagem considerável. Além disso, é consideravelmente mais fácil programar em C++ do que programar em C.
O preço a se pagar, levando-se em consideração o que existe pronto hoje, é bem menor do que muita gente supõe.[/quote]
Acho cômico isso, “distribuição de VM”, oras não distribuem versões do DirectX junto com os jogos? Dois pesos, duas medidas?
As necessidades dependem do projeto e não de retórica. Controle “absoluto” é meio papo furado, pois existe um SO lidando com recursos, o que requererá reescrever porções e retestar o seu software para cada nova plataforma.
Eu admito que ia responder um longo post contrapondo seus argumentos, mas aí lembrei quem você é.
Além disso, com argumentos como esse, eu nem preciso rebater. Você mesmo já deve ter caído no descrédito de quem lê, ao mostrar tamanha ignorância.
Sugestão, vá até uma loja de games, e informe-se. Veja também os que existem em consoles, e note que as prateleiras de games para Windows não desapareceram.
Finalmente, informe-se também sobre que linguagem são feitos os games da Steam… e vc vai ver que a presença dela não alterou a linguagem favorita do mercado.
Por fim, procure ver quantos aplicativos de grande porte que você conhece que exigem VM Java, .Net Framework ou um ambiente Flash para rodar… e depois me conte.
Se alguém quiser ver uma outra lista de aplicações feitas em C++, e de empresas que usam C++, veja: http://www2.research.att.com/~bs/applications.html
A questão é a de tecnologia certa para o problema certo. Se considerar tem muito mais coisa realmente em VB do que em C++. Também acontece que o mercado “no brasil” é fraco para softwares de prateleira. Em compensação se for ver o salário…
A moda de rodar tudo Web é legal, mas vai demorar até se tornar algo que substitua as ferramentas (Corel, Cad, etc) por equivalentes em Web. Acho que o dia que teremos o SO e o Browser e mais nada nos nossos computadores ainda esta longe…
Mesmo que isso acontece, a programação C e C++ continuará existindo. Mesmo que você receba stream dos jogos, dificilmente onde eles irão ser executados, serão programados em outra tecnologia, pelo menos em um primeiro momento.
Tem ainda a questão de portar código nativo para rodar dentro do navegador. Procure MAME portado para Chrome no google e entenda como a coisa foi feita.
Óbvio que ninguem vai usar C e C++ para fazer software de locadora ou de padaria… para isso existe até o Maker que cria sistemas em um clique!
[quote=jmmenezes]A questão é a de tecnologia certa para o problema certo. Se considerar tem muito mais coisa realmente em VB do que em C++. Também acontece que o mercado “no brasil” é fraco para softwares de prateleira. Em compensação se for ver o salário…
A moda de rodar tudo Web é legal, mas vai demorar até se tornar algo que substitua as ferramentas (Corel, Cad, etc) por equivalentes em Web. Acho que o dia que teremos o SO e o Browser e mais nada nos nossos computadores ainda esta longe…
Mesmo que isso acontece, a programação C e C++ continuará existindo. Mesmo que você receba stream dos jogos, dificilmente onde eles irão ser executados, serão programados em outra tecnologia, pelo menos em um primeiro momento.
Tem ainda a questão de portar código nativo para rodar dentro do navegador. Procure MAME portado para Chrome no google e entenda como a coisa foi feita.[/quote]
Exatamente. Em volume, deve haver muita coisa pequena escrita em VB e C#.
Mas a pergunta do tópico é:
“Lista de grandes softwares desenvolvidos em Java”
Por isso nem citei games flash ou aplicativos pequenos e desconhecidos.
Se estamos falando de grandes softwares, então, o mercado de aplicações é dominado pelo C++.
Acho pouco provável que a indústria de games mude, justamente por causa dos consoles. Eles não estão afim de homogeneizar suas plataformas por trás de um navegador ou de uma VM.
Afinal, eles são uma indústria de hardware e diferenciação é o mercado deles.
Eu admito que ia responder um longo post contrapondo seus argumentos, mas aí lembrei quem você é.
Além disso, com argumentos como esse, eu nem preciso rebater. Você mesmo já deve ter caído no descrédito de quem lê, ao mostrar tamanha ignorância.[/quote]
Mantendo a tradição do baixo nível da moderação do GUJ, como de costume.
Comportamento pouco profissional, desnecessariamente confrontacional e que demonstra um certo complexo de inferioridade.
Cresça (mentalmente), aprenda a conversar e depois podemos trocar uma idéia.
[quote=jmmenezes]A questão é a de tecnologia certa para o problema certo. Se considerar tem muito mais coisa realmente em VB do que em C++. Também acontece que o mercado “no brasil” é fraco para softwares de prateleira. Em compensação se for ver o salário…
A moda de rodar tudo Web é legal, mas vai demorar até se tornar algo que substitua as ferramentas (Corel, Cad, etc) por equivalentes em Web. Acho que o dia que teremos o SO e o Browser e mais nada nos nossos computadores ainda esta longe…
Mesmo que isso acontece, a programação C e C++ continuará existindo. Mesmo que você receba stream dos jogos, dificilmente onde eles irão ser executados, serão programados em outra tecnologia, pelo menos em um primeiro momento.
Tem ainda a questão de portar código nativo para rodar dentro do navegador. Procure MAME portado para Chrome no google e entenda como a coisa foi feita.
Óbvio que ninguem vai usar C e C++ para fazer software de locadora ou de padaria… para isso existe até o Maker que cria sistemas em um clique![/quote]
Existem inúmeras linguagens para os mais diversos usos, e a tendência é que a necessidade de “baixo nível” se torne cada vez mais nicho. Tanto que vemos a popularização de linguagens assim como Javascript, Ruby ou Groovy, que não são tão eficientes, mas cumprem o papel adequadamente para diversos tipos de aplicação. E isso eu quero dizer “produtos” e não o famoso “software de padaria”.
Até mesmo para certas áreas assim como jogos onde performance é crítica, vemos Flash, C# (ou Java se for Android) e outras tecnologias crescerem devido a facilidade de desenvolvimento.