Novas Linguagens estão surgindo para atender demanda que o JAVA e outras nao suprem

[quote=juliocbq]Essa coisa de fragmentação de linguagem não existe. O que existe são “empresas de hardware” e são essas quem ditam as regras. Se você for desenvolver um montador é o manual do processador ou microcontrolador delas que irá ler.

Linguagens “diferentes” precisam existir porque elas estão “extremamente relacionadas” com o tipo de projeto que se desenvolve. Vide lego mindstorms com a “nxc” própria deles.[/quote]

O que quis dizer com fragmentação é referente a ter muitas linguagens com foco em diferentes problemas. Eu não disse em ponto algum que elas não devem existir! Inclusive eu as apoio.

Eu aposto na computação quântica, pois ela realmente trará novos desafios e novas possibilidades. Nosso modelo computacional e mercado de hardware, há anos, se baseiam em poder de processamento paralelo dos 0s e 1s. Na computação quântica haverá uma mudança substancial nesse conceito.

[quote=entanglement][quote=cleiton.franca]enquanto um carinha que sabe no máximo duas é altamente espacializado em ao menos uma.
.[/quote]

Sei. Português não deve ser uma delas :([/quote]

Obrigado pela correção :wink:

Aqui no GUJ a gente vê a língua bem “extendida”. Até certa vez criei um tópico sobre isso:
http://www.guj.com.br/java/148207-nossa-lingua-portuguesa

[quote=giulianocosta][quote=juliocbq]Essa coisa de fragmentação de linguagem não existe. O que existe são “empresas de hardware” e são essas quem ditam as regras. Se você for desenvolver um montador é o manual do processador ou microcontrolador delas que irá ler.

Linguagens “diferentes” precisam existir porque elas estão “extremamente relacionadas” com o tipo de projeto que se desenvolve. Vide lego mindstorms com a “nxc” própria deles.[/quote]

O que quis dizer com fragmentação é referente a ter muitas linguagens com foco em diferentes problemas. Eu não disse em ponto algum que elas não devem existir! Inclusive eu as apoio.

Eu aposto na computação quântica, pois ela realmente trará novos desafios e novas possibilidades. Nosso modelo computacional e mercado de hardware, há anos, se baseiam em poder de processamento paralelo dos 0s e 1s. Na computação quântica haverá uma mudança substancial nesse conceito.[/quote]

A linha core ix da intel já é um grande avanço pois consegue passar uma grande quantidade de bits em um barramento relativamente pequeno, mas ainda é o paradigma elétrico. Quando chegar nesse que você diz aí por luz vai abrir um leque de infinitas possibilidades.

Acho que hoje dentro do próprio .NET ou Java temos formas relativamente simples de resolver grandes problemas com eficiência. Java e .Net evoluem muito mais do que as plataformas mais usadas no passado, “evoluindo” até demais para os lados formando tribos diferentes na mesma plataforma. Ai o ruim é quando pegamos projetos que usam coisas relativamente complicadas e burocráticas sem necessidade, exigindo mais, engessando na hora de grandes mudanças de layout ou regras, ai a plataforma é taxada de “complexa”.

É, o “pior” é que na descrição das vagas ao invés dos 50 frameworks de uma mesma linguagem como vemos hoje em dia o pessoal começará a colocar 50 frameworks de 50 linguagens diferentes. 50x mais estudo e pelo mesmo salário ou menor. E 90% destes frameworks/linguagens serão utilizados para fazer cruds…
Não acho ruim termos opções, o problema é ter que aprender tudo isso. Quando eu comecei a utilizar python vi que é uma linguagem bem simples mas mesmo assim demorou um pouco pra eu ficar produtivo com essa linguagem, pois até coisas simples tinha que parar pra ler sobre a biblioteca, testar os exemplos, etc; enquanto que no java eu saberia fazer sem consultar documentação nenhuma. Agora imagina isso multiplicado por 50x ou mais.
Por isso que eu concordo que o melhor é esperar do que ficar se matando pra estudar algo que talvez nem seja utilizado.

Em termos de linguagem o Java está bem lento para evoluir. Em parte era culpa da falência da Sun, mas faz um bocado de tempo que a Oracle assumiu e ainda não temos programação funcional (e, detalhe, o C++ já tem).

Enquanto isso, o .Net, que já tem esse recurso desde a versão 3.5, mostra um framework excelente de assincronismo na versão 4.
Eu mesmo fiquei de queixo caído quando usei para implementar o core do Aurélio para Windows 8.

Em termos de linguagem o Java está bem lento para evoluir. Em parte era culpa da falência da Sun, mas faz um bocado de tempo que a Oracle assumiu e ainda não temos programação funcional (e, detalhe, o C++ já tem).

Enquanto isso, o .Net, que já tem esse recurso desde a versão 3.5, mostra um framework excelente de assincronismo na versão 4.
Eu mesmo fiquei de queixo caído quando usei para implementar o core do Aurélio para Windows 8.[/quote]

Muito lento mesmo. A maioria não percebe o quanto java ficou para traz. A linguagem vala não tem muito mais que 5 anos e está bem afrente em recursos funcionais. O grande problema da java é que a oracle “engessou” a linguagem para fins mais corporativos na maioria dos anos. Agora no final que veio investindo na linguagem para outras soluções como o jafafx para ARM. Mas isso a Google já tinha conseguido a muitos anos atras.

Não através de reflexão (embora isso seja cheating).

No caso do C++, não existe essa limitação também. É uma benção poder criar uma função para qualquer coisa que atenda determinada interface, mesmo ele não implementando explicitamente aquela interface.

Em termos de linguagem o Java está bem lento para evoluir. Em parte era culpa da falência da Sun, mas faz um bocado de tempo que a Oracle assumiu e ainda não temos programação funcional (e, detalhe, o C++ já tem).

Enquanto isso, o .Net, que já tem esse recurso desde a versão 3.5, mostra um framework excelente de assincronismo na versão 4.
Eu mesmo fiquei de queixo caído quando usei para implementar o core do Aurélio para Windows 8.[/quote]
Valeu, se hoje a linguagem do Java está meio parada tô por fora, mas lembro que em termos de plataforma quando tentava aprender Java enquanto trabalhava com Delphi era uma loucura, a cada edição de revista era algo totalmente novo, lembro que por muuito tempo. E o .NET copiou isso tudo muito bem e tá evoluindo ainda. Só o que acho estranho é que no Java não existe uma solução web action-based apoiada oficialmente pela Sun/Oracle. Enquanto na comunidade .NET é mais unanime apoiar action-based para novas soluções, no Java é component-based é muito valorizado, mas sei que o component-based do Java é muito melhor que do .NET. Uma fortalece a outra. Quando surgem duplas concorrentes diretas é que a coisa fica fortalecida.

Em termos de linguagem o Java está bem lento para evoluir. Em parte era culpa da falência da Sun, mas faz um bocado de tempo que a Oracle assumiu e ainda não temos programação funcional (e, detalhe, o C++ já tem).

Enquanto isso, o .Net, que já tem esse recurso desde a versão 3.5, mostra um framework excelente de assincronismo na versão 4.
Eu mesmo fiquei de queixo caído quando usei para implementar o core do Aurélio para Windows 8.[/quote]
Valeu, se hoje a linguagem do Java está meio parada tô por fora, mas lembro que em termos de plataforma quando tentava aprender Java enquanto trabalhava com Delphi era uma loucura, a cada edição de revista era algo totalmente novo, lembro que por muuito tempo. E o .NET copiou isso tudo muito bem e tá evoluindo ainda. Só o que acho estranho é que no Java não existe uma solução web action-based apoiada oficialmente pela Sun/Oracle. Enquanto na comunidade .NET é mais unanime apoiar action-based para novas soluções, no Java é component-based é muito valorizado, mas sei que o component-based do Java é muito melhor que do .NET. Uma fortalece a outra. Quando surgem duplas concorrentes diretas é que a coisa fica fortalecida.[/quote]

No caso o .net herdou tudo que seria da linguagem object pascal quando a microsoft comprou Anders Heijsberg da antiga borland. O .net é mais delphi com “properties” e várias outras funcionalidades da linguagem do que “java” em si.

Em termos de linguagem o Java está bem lento para evoluir. Em parte era culpa da falência da Sun, mas faz um bocado de tempo que a Oracle assumiu e ainda não temos programação funcional (e, detalhe, o C++ já tem).

Enquanto isso, o .Net, que já tem esse recurso desde a versão 3.5, mostra um framework excelente de assincronismo na versão 4.
Eu mesmo fiquei de queixo caído quando usei para implementar o core do Aurélio para Windows 8.[/quote]
Valeu, se hoje a linguagem do Java está meio parada tô por fora, mas lembro que em termos de plataforma quando tentava aprender Java enquanto trabalhava com Delphi era uma loucura, a cada edição de revista era algo totalmente novo, lembro que por muuito tempo. E o .NET copiou isso tudo muito bem e tá evoluindo ainda. Só o que acho estranho é que no Java não existe uma solução web action-based apoiada oficialmente pela Sun/Oracle. Enquanto na comunidade .NET é mais unanime apoiar action-based para novas soluções, no Java é component-based é muito valorizado, mas sei que o component-based do Java é muito melhor que do .NET. Uma fortalece a outra. Quando surgem duplas concorrentes diretas é que a coisa fica fortalecida.[/quote]

No caso o .net herdou tudo que seria da linguagem object pascal quando a microsoft comprou Anders Heijsberg da antiga borland. O .net é mais delphi com “properties” e várias outras funcionalidades da linguagem do que “java” em si.

[/quote]
A parte de desktop sim totalmente Delphi e linguagem Java. WebForms também. Hoje felizmente a coisa ta bem mais Java e Rails no .NET na web, foco em produtividade escrevendo código.

[quote=JoseIgnacio]
Só uma correção: Java foi feito “em cima” de Objective-c.[/quote]

Uma pena que não copiou as boas idéias. Objective C é uma linguagem dinâmica, que, entre outras coisas, permite que você adicione métodos em classes, não tem null pointer, etc. Fora que as APIs da Foundation e Cocoa são muito melhores que as do Java.

Até a persistência com Core Data é muito mais fácil do que Hibernate.

Java é muito ruim.

Não através de reflexão (embora isso seja cheating).

No caso do C++, não existe essa limitação também. É uma benção poder criar uma função para qualquer coisa que atenda determinada interface, mesmo ele não implementando explicitamente aquela interface.[/quote]

Não é isso a que ele se refere. O que ele quer dizer é eu posso enviar uma mensagem para qualquer objeto, mesmo que ele implemente o método ou não. Caso não implemente então o método retorna nil, sem dar exception de nada.

Em Java ou C++ isso não existe.

[quote=Longino][quote=JoseIgnacio]
Só uma correção: Java foi feito “em cima” de Objective-c.[/quote]

Uma pena que não copiou as boas idéias. Objective C é uma linguagem dinâmica, que, entre outras coisas, permite que você adicione métodos em classes, não tem null pointer, etc. Fora que as APIs da Foundation e Cocoa são muito melhores que as do Java.

Até a persistência com Core Data é muito mais fácil do que Hibernate.

Java é muito ruim.[/quote]

Você está falando de um grande problema, que é dar manutenção em grandes projetos no futuro.

Umas das ideias e preocupações do java é ser boa para escrever e ótima para ler e dar manutenção.

Se você ver java como plataforma, pode se criar linguagens dinâmicas.

Já rodei por muitas linguagens em projetos gigantescos, e digo sem sombra de duvidas e agradeço a falecida SUN :

Java é Excelente.

No QT tem algo mais interessante. Você pode definir um objeto que envia um signal. Esse objeto envia esse sinal, sem se preocupar se alguém escuta ou não o sinal. Em outro momento, você implementa alguém que tem um slot para receber o sinal, e usa um comando para associar os dois.

Não é exatamente a mesma coisa, mas é tão flexível quanto.

Uma linguagem que não foi citada no artigo e que é anos luz mais avançada que java é Scala.
Essa ao meu ver, é a única linguagem na jvm que se aproxima do poder de c# e do c++.

Mas hoje em dia, considero c++ como a linguagem mais completa que existe, e que tem mais
beneficios, mesmo não gostando pessoalmente da sintaxe.

[quote=johnny quest]Uma linguagem que não foi citada no artigo e que é anos luz mais avançada que java é Scala.
Essa ao meu ver, é a única linguagem na jvm que se aproxima do poder de c# e do c++.

Mas hoje em dia, considero c++ como a linguagem mais completa que existe, e que tem mais
beneficios, mesmo não gostando pessoalmente da sintaxe.[/quote]

É a mesma opinião que tenho e como o o vini citou no post acima do seu. É a linguagem mais flexível e com compilador competente para gerar o código mais enxuto que existe.
O esquema de sinais e slots do qt são uma espécie de função de callback segura semelhante a do toolkit gtk(sendo essa sem segurança usando ponteiros em c). É o melhor sistema de troca de mensagens que já vi de todos os frameworks que conheço(que não são poucos);

[quote=j-menezes]
Você está falando de um grande problema, que é dar manutenção em grandes projetos no futuro.

Umas das ideias e preocupações do java é ser boa para escrever e ótima para ler e dar manutenção.

Se você ver java como plataforma, pode se criar linguagens dinâmicas.

Já rodei por muitas linguagens em projetos gigantescos, e digo sem sombra de duvidas e agradeço a falecida SUN :

Java é Excelente.[/quote]

Java é só server side, para todo o resto é ruim.

Em vista do desenvolvimento tanto do Objective C quanto do C++, que estão ficando melhores a cada nova versão, eu não vejo razão de usá-lo para nada que envolva desktop, mobile, etc, ou seja, quase tudo. Quase tudo fica melhor em linguagens nativas.

[quote=Longino][quote=j-menezes]
Você está falando de um grande problema, que é dar manutenção em grandes projetos no futuro.

Umas das ideias e preocupações do java é ser boa para escrever e ótima para ler e dar manutenção.

Se você ver java como plataforma, pode se criar linguagens dinâmicas.

Já rodei por muitas linguagens em projetos gigantescos, e digo sem sombra de duvidas e agradeço a falecida SUN :

Java é Excelente.[/quote]

Java é só server side, para todo o resto é ruim.

Em vista do desenvolvimento tanto do Objective C quanto do C++, que estão ficando melhores a cada nova versão, eu não vejo razão de usá-lo para nada que envolva desktop, mobile, etc, ou seja, quase tudo. Quase tudo fica melhor em linguagens nativas.[/quote]

Quase tudo fica mais bugado em linguagem nativa, isso sim !!!