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

http://www.computer.org/portal/web/computingnow/software%20engineering/content?g=53319&type=article&urlTitle=computing-trends-lead-to-new-programming-languages

Segundo o artigo publicado na revista “COMPUTER”, uma publicação do IEEE, as linguagens mais utilizadas numa pesquisa feita a partir de 45 milhões de linhas de código são respectivamente:
C, C++ e Java.

Entretanto estas linguagens, segundo o artigo, podem perder lugar de destaque para novas linguagens, pois apresentam algumas deficiências que tornam exaustivo seu uso em cenários computacionais que utilizam por exemplo processamento paralelo, CPUs multicore, alta performance e cloud computing, sistemas distribuidos e Mobile. O artigo apresenta alguns exemplos de novas linguagens como exemplo: Microsoft F# que é apresentada como funcional e prática.

Um pouco tendenciosa a reportagem (em favor do F#), visto que existem linguagens funcionais para a plataforma Java, e que a própria linguagem Java a partir da versão 8, terá conceitos funcionais.

Não mencionaram no artigo:

  • Ruby
  • Scala
  • Groovy
  • Go
  • Python
  • Pearl

E muitas outras… :slight_smile:

[quote=brunoborges]Um pouco tendenciosa a reportagem (em favor do F#), visto que existem linguagens funcionais para a plataforma Java, e que a própria linguagem Java a partir da versão 8, terá conceitos funcionais.

Não mencionaram no artigo:

  • Ruby
  • Scala
  • Groovy
  • Go
  • Python
  • Pearl

E muitas outras… :-)[/quote]

O próprio c++ já possui com a expansão c++11. E a linguagem c com as expansões vala e objective c. Esse artigo aí está completamente atrasado.

Sei. Você leu 5% do artigo e acha que é tendenciosa em favor do F# :slight_smile:

Poderia ter indicado que o artigo (não reportagem) fala sobre a X10, que é uma linguagem da IBM que é igualzinha à Java, exceto que está mais bem preparada que ela para suportar arquiteturas paralelas :slight_smile:

[quote=carlosanalista]http://www.computer.org/portal/web/computingnow/software%20engineering/content?g=53319&type=article&urlTitle=computing-trends-lead-to-new-programming-languages

Segundo o artigo publicado na revista “COMPUTER”, uma publicação do IEEE, as linguagens mais utilizadas numa pesquisa feita a partir de 45 milhões de linhas de código são respectivamente:
C, C++ e Java.

Entretanto estas linguagens, segundo o artigo, podem perder lugar de destaque para novas linguagens, pois apresentam algumas deficiências que tornam exaustivo seu uso em cenários computacionais que utilizam por exemplo processamento paralelo, CPUs multicore, alta performance e cloud computing, sistemas distribuidos e Mobile. O artigo apresenta alguns exemplos de novas linguagens como exemplo: Microsoft F# que é apresentada como funcional e prática.[/quote]

Hoje é obvio a todos que o modelo de usar VM é muito melhor que escrever codigo diretamente para o CPU. Isto era obvio antes - porque a VM nada mais é que um nivel de indireção e todos os problemas podem ser resolvidos com o nivel de indireção a mais :slight_smile: - mas as pessoas resistiam à ideia. Hoje não mais. E a JVM da Sun, hoje Oracle é a melhor que existe no mercado em termos de VM. Ora, mas ela é uma máquina. então da mesma forma que várias linguagens compilam para máquinas reais, várias podem compilar para máquinas virtuais. Aliás, o .net sempre partiu deste principio. A linguagens .net compilam todas para a mesma linguagem comum que depois é executada.
Ora, o que estamos vendo agora é o pessoa entendendo que “VM” é legal, mas ainda é apenas uma VM. E da mesma forma que o java quiz ser cross plataform, a nova vaga de linguanges quer ser “cross-Vm” e aqui está um potencial imenso ainda inesplorado. Inclusive entenderam que a VM javacript é um alvo de mais linguanges ( o dart prova isto)
E é a corrida ao ouro. Todas querem ser o próximo java. A Haxe , assim como Fantom apostam neste ideia de corss-vm, mas isso vem com consequencias. Vamos ter UI para tudo ? Imagine ter algo semelhante ao swing que corre em qualquer VM. Imagine vc escrever um código que realmente nunca mais vc terá que reescrever porque vc vai trocar de VM , não de linguagem. Isto seria otimo. Uma linguagem e API para governar todas as outras. A uma-linguagem é próximo santo graal e quem conseguir encontrá-la vai ficar milionário. O problema é que o trabalho é imenso. Imagine compatibilizar .net com java com javascript, com php , com ruby, etc… loucura. Mas se vc tiver algo que corra vm de javacript (e ha várias , cada browser tem a sua) e algo que corra em uma plataforma de servidor como java ou .net ( ou ambas), pronto. Tá fechado. O problema agora é comercial e econômico. Porque alguém iria migrar para essas novas meta-plataformas ? E será que realmente os resultados são bons ? Dá para confiar ? Esta é a pergunta chave.

Como ainda é tudo muto corre-corre, ainda não dá para apostar tudo em uma delas. Então o pesoal precavido ainda fica no java ou no .net e no máximo faz um programa hibrido usando uma em um nodo e outra em outro (tipo android no cliente +.net no servidor). É que a linguagem é apenas o primeiro passo, o dificil é compatibilizar as API. sobretudo as básicas (I/O, Threads, UI ) (como se abre um arquivo em javascript ? )

Eu acho que é o futuro e estou de olho no melhor candidato e ha muitos. Realmente muitos. Mais dos que estão no artigo. Tem o fantom que já citei, mas tem o scala, o kotlin o gosu e muitos outros. Algumas querem ser meta-plataforma outros não . Por exemplo o scala ainda usa muita API do java. Ele pode ser compilado para .net ( porque o java pode ser compilado para .net via ikvm) mas é estranho tanta mistura. O idela seria ter uma aPI scala pura e o compilador se virar para usar API da plataforma base. Outros já partem deste principio. O fantom por exemplo tem api propria para muitas coisas e deixa usar o conceito de “native” que em java é usado para programa em C++ , em fantom é usado para programar código “nativo java” ou “nativo C#”. É um conceito interessante.

tudo se resume à robustez. quando estas novas plataformas mostrarem que valem o investimento, as pessoas vão começar a migrar. E no entretanto todas as variantes mostram as vantagens e desvantegens das outras. Hoje em dia se vc não é OO, esquece. E tem que ser fortemente tipado e tem que ser dinamicamente tipado e tem que ter closures e tem que ter paralelismo e um monte de outras coisas. E está se procurando o melhor encaixe para tudo isso. O problema que eu vejo com essas linguagens é que são pouco simples. têm muitas palras chave em vez de conceitos profudamente compreendidos . O java é muito bom em ser simples, com poucas palavras chave, mas parece que ninguem quer seguir isso. Talvez quem conseguir esta simplicidade seja o ganahdor da corrida.

Vamos ver o que o futuro nos trás

[quote=sergiotaborda][quote=carlosanalista]http://www.computer.org/portal/web/computingnow/software%20engineering/content?g=53319&type=article&urlTitle=computing-trends-lead-to-new-programming-languages

Segundo o artigo publicado na revista “COMPUTER”, uma publicação do IEEE, as linguagens mais utilizadas numa pesquisa feita a partir de 45 milhões de linhas de código são respectivamente:
C, C++ e Java.

Entretanto estas linguagens, segundo o artigo, podem perder lugar de destaque para novas linguagens, pois apresentam algumas deficiências que tornam exaustivo seu uso em cenários computacionais que utilizam por exemplo processamento paralelo, CPUs multicore, alta performance e cloud computing, sistemas distribuidos e Mobile. O artigo apresenta alguns exemplos de novas linguagens como exemplo: Microsoft F# que é apresentada como funcional e prática.[/quote]

Hoje é obvio a todos que o modelo de usar VM é muito melhor que escrever codigo diretamente para o CPU. Isto era obvio antes - porque a VM nada mais é que um nivel de indireção e todos os problemas podem ser resolvidos com o nivel de indireção a mais :slight_smile: - mas as pessoas resistiam à ideia. Hoje não mais. E a JVM da Sun, hoje Oracle é a melhor que existe no mercado em termos de VM. Ora, mas ela é uma máquina. então da mesma forma que várias linguagens compilam para máquinas reais, várias podem compilar para máquinas virtuais. Aliás, o .net sempre partiu deste principio. A linguagens .net compilam todas para a mesma linguagem comum que depois é executada.
Ora, o que estamos vendo agora é o pessoa entendendo que “VM” é legal, mas ainda é apenas uma VM. E da mesma forma que o java quiz ser cross plataform, a nova vaga de linguanges quer ser “cross-Vm” e aqui está um potencial imenso ainda inesplorado. Inclusive entenderam que a VM javacript é um alvo de mais linguanges ( o dart prova isto)
E é a corrida ao ouro. Todas querem ser o próximo java. A Haxe , assim como Fantom apostam neste ideia de corss-vm, mas isso vem com consequencias. Vamos ter UI para tudo ? Imagine ter algo semelhante ao swing que corre em qualquer VM. Imagine vc escrever um código que realmente nunca mais vc terá que reescrever porque vc vai trocar de VM , não de linguagem. Isto seria otimo. Uma linguagem e API para governar todas as outras. A uma-linguagem é próximo santo graal e quem conseguir encontrá-la vai ficar milionário. O problema é que o trabalho é imenso. Imagine compatibilizar .net com java com javascript, com php , com ruby, etc… loucura. Mas se vc tiver algo que corra vm de javacript (e ha várias , cada browser tem a sua) e algo que corra em uma plataforma de servidor como java ou .net ( ou ambas), pronto. Tá fechado. O problema agora é comercial e econômico. Porque alguém iria migrar para essas novas meta-plataformas ? E será que realmente os resultados são bons ? Dá para confiar ? Esta é a pergunta chave.

Como ainda é tudo muto corre-corre, ainda não dá para apostar tudo em uma delas. Então o pesoal precavido ainda fica no java ou no .net e no máximo faz um programa hibrido usando uma em um nodo e outra em outro (tipo android no cliente +.net no servidor). É que a linguagem é apenas o primeiro passo, o dificil é compatibilizar as API. sobretudo as básicas (I/O, Threads, UI ) (como se abre um arquivo em javascript ? )

Eu acho que é o futuro e estou de olho no melhor candidato e ha muitos. Realmente muitos. Mais dos que estão no artigo. Tem o fantom que já citei, mas tem o scala, o kotlin o gosu e muitos outros. Algumas querem ser meta-plataforma outros não . Por exemplo o scala ainda usa muita API do java. Ele pode ser compilado para .net ( porque o java pode ser compilado para .net via ikvm) mas é estranho tanta mistura. O idela seria ter uma aPI scala pura e o compilador se virar para usar API da plataforma base. Outros já partem deste principio. O fantom por exemplo tem api propria para muitas coisas e deixa usar o conceito de “native” que em java é usado para programa em C++ , em fantom é usado para programar código “nativo java” ou “nativo C#”. É um conceito interessante.

tudo se resume à robustez. quando estas novas plataformas mostrarem que valem o investimento, as pessoas vão começar a migrar. E no entretanto todas as variantes mostram as vantagens e desvantegens das outras. Hoje em dia se vc não é OO, esquece. E tem que ser fortemente tipado e tem que ser dinamicamente tipado e tem que ter closures e tem que ter paralelismo e um monte de outras coisas. E está se procurando o melhor encaixe para tudo isso. O problema que eu vejo com essas linguagens é que são pouco simples. têm muitas palras chave em vez de conceitos profudamente compreendidos . O java é muito bom em ser simples, com poucas palavras chave, mas parece que ninguem quer seguir isso. Talvez quem conseguir esta simplicidade seja o ganahdor da corrida.

Vamos ver o que o futuro nos trás [/quote]

Parabens sergio.

Se alguém postar aqui o TIOBE index, eu tranco o tópico. :slight_smile:

De qualquer forma, todo ano tem dezenas de reportagens dessas, anunciando a morte de linguagens antigas (que nunca morrem) e dizendo que o futuro pertence ao código funcional ou a linguagens de nome bem estranho.

É tudo muito legal, mas poucas dessas realmente vingam na prática. A razão é simples: Para uma coisa vingar, ela deve oferecer uma vantagem bastante substancial em relação a tecnologia antiga. Não pode ser pouco, ou então, as pessoas não estarão dispostas a vencer a curva de aprendizado, nem as empresas terão coragem de investir numa tecnologia incerta.

De qualquer forma, eu vivi a queda do Clipper, a do VB e do Delphi e não estou preocupado com o declínio do Java. Quando isso acontecer, veremos qual é a nova aposta nos classificados, veremos vários artigos saindo sobre a nova tendência. E, no final das contas, é só uma questão de estudar.

[quote=ViniGodoy]

De qualquer forma, eu vivi a queda do Clipper, a do VB e do Delphi e não estou preocupado com o declínio do Java. Quando isso acontecer, veremos qual é a nova aposta nos classificados, veremos vários artigos saindo sobre a nova tendência. E, no final das contas, é só uma questão de estudar.[/quote]

Tecnicamente o VB não caiu (ainda é uma linguagem do .net) assim como o Delphi (idem .net). O que caiu for a plataforma. A API. O jeito de fazer as coisas, não a linguagem em si. O Clipper caiu porque era mais uma ferramenta que uma plataforma.
Então, na realidade sempre assistimos à queda das plataformas e amnutenção ou evolução das linguagens. Isto porque as pessoas querem aproveitar o que sabem. Por exemplo , a linguagem java foi feita em cima do C++ porque se queria que as pessoas aproveitassem o que já sabiam. O C# em cima do java, idem. E todas essas linguagens do futuro de apoiam no C++/javaC# pela mesma razão. As linguagens em si não são tão novas assim. São as plataformas e os conceitos. A sintaxe do C++ e do java são muito semelhantes, a do java e mais simples até. Mas adiciona o cocneito de vm, adiciona o GC, e outras cosias que o C++ como plataforma não tem.

A tua postura parece mais de “vamos esperar e depois mudamos”, o eu entendo. Mas não seria legal apostares na linguagem certa ? O pessoal que apostou no java em 1990 se deu super bem porque foram os primeiros.
Por outro lado, porque esperar se poderiamos estar agora mesmo inventando a nossa propria linguagem ? Se eu soubesse fazer isso, podes ter a certeza que já tinha feito. Esse negocio de ficar escolhendo entre java e .net , cliente ou servidor, ui rica ou pobre já encheu a paciência.

[quote=ViniGodoy]Se alguém postar aqui o TIOBE index, eu tranco o tópico. :slight_smile:

De qualquer forma, todo ano tem dezenas de reportagens dessas, anunciando a morte de linguagens antigas (que nunca morrem) e dizendo que o futuro pertence ao código funcional ou a linguagens de nome bem estranho.

É tudo muito legal, mas poucas dessas realmente vingam na prática. A razão é simples: Para uma coisa vingar, ela deve oferecer uma vantagem bastante substancial em relação a tecnologia antiga. Não pode ser pouco, ou então, as pessoas não estarão dispostas a vencer a curva de aprendizado, nem as empresas terão coragem de investir numa tecnologia incerta.

De qualquer forma, eu vivi a queda do Clipper, a do VB e do Delphi e não estou preocupado com o declínio do Java. Quando isso acontecer, veremos qual é a nova aposta nos classificados, veremos vários artigos saindo sobre a nova tendência. E, no final das contas, é só uma questão de estudar.[/quote]

E nem sempre a vantagem é em prol dos programadores. Java por exemplo tem como vantagem ser popular, que torna a mão de obra barata.

[quote=sergiotaborda]
Tecnicamente o VB não caiu (ainda é uma linguagem do .net) assim como o Delphi (idem .net). O que caiu for a plataforma. A API. O jeito de fazer as coisas, não a linguagem em si. O Clipper caiu porque era mais uma ferramenta que uma plataforma.
Então, na realidade sempre assistimos à queda das plataformas e amnutenção ou evolução das linguagens. Isto porque as pessoas querem aproveitar o que sabem. Por exemplo , a linguagem java foi feita em cima do C++ porque se queria que as pessoas aproveitassem o que já sabiam. O C# em cima do java, idem. E todas essas linguagens do futuro de apoiam no C++/javaC# pela mesma razão. As linguagens em si não são tão novas assim. São as plataformas e os conceitos. A sintaxe do C++ e do java são muito semelhantes, a do java e mais simples até. Mas adiciona o cocneito de vm, adiciona o GC, e outras cosias que o C++ como plataforma não tem.

A tua postura parece mais de “vamos esperar e depois mudamos”, o eu entendo. Mas não seria legal apostares na linguagem certa ? O pessoal que apostou no java em 1990 se deu super bem porque foram os primeiros.
Por outro lado, porque esperar se poderiamos estar agora mesmo inventando a nossa propria linguagem ? Se eu soubesse fazer isso, podes ter a certeza que já tinha feito. Esse negocio de ficar escolhendo entre java e .net , cliente ou servidor, ui rica ou pobre já encheu a paciência. [/quote]

Só uma correção: Java foi feito “em cima” de Objective-c.

[quote]When I left Sun to go to NeXT, I thought
Objective-C was the coolest thing since sliced bread, and I hated C++.
So, naturally when I stayed to start the (eventually) Java project, Obj-C
had a big influence. James Gosling, being much older than I was, he had
lots of experience with SmallTalk and Simula68, which we also borrowed
from liberally.[/quote]

http://cs.gmu.edu/~sean/stuff/java-objc.html

[quote=JoseIgnacio][quote=sergiotaborda]
Tecnicamente o VB não caiu (ainda é uma linguagem do .net) assim como o Delphi (idem .net). O que caiu for a plataforma. A API. O jeito de fazer as coisas, não a linguagem em si. O Clipper caiu porque era mais uma ferramenta que uma plataforma.
Então, na realidade sempre assistimos à queda das plataformas e amnutenção ou evolução das linguagens. Isto porque as pessoas querem aproveitar o que sabem. Por exemplo , a linguagem java foi feita em cima do C++ porque se queria que as pessoas aproveitassem o que já sabiam. O C# em cima do java, idem. E todas essas linguagens do futuro de apoiam no C++/javaC# pela mesma razão. As linguagens em si não são tão novas assim. São as plataformas e os conceitos. A sintaxe do C++ e do java são muito semelhantes, a do java e mais simples até. Mas adiciona o cocneito de vm, adiciona o GC, e outras cosias que o C++ como plataforma não tem.

A tua postura parece mais de "vamos esperar e depois mudamos", o eu entendo. Mas não seria legal apostares na linguagem certa ? O pessoal que apostou no java em 1990 se deu super bem porque foram os primeiros.
Por outro lado, porque esperar se poderiamos estar agora mesmo inventando a nossa propria linguagem ? Se eu soubesse fazer isso, podes ter a certeza que já tinha feito. Esse negocio de ficar escolhendo entre java e .net , cliente ou servidor, ui rica ou pobre já encheu a paciência. [/quote]

Só uma correção: Java foi feito "em cima" de Objective-c.

[quote]When I left Sun to go to NeXT, I thought
Objective-C was the coolest thing since sliced bread, and I hated C++.
So, naturally when I stayed to start the (eventually) Java project, Obj-C
had a big influence. James Gosling, being much older than I was, he had
lots of experience with SmallTalk and Simula68, which we also borrowed
from liberally.[/quote]

http://cs.gmu.edu/~sean/stuff/java-objc.html
[/quote]

Pode até ser, mas olhe a sintaxe de ObjC e do C++ e do Java e me diga qual é mais parecida. A influencia da arquitetura pode ser do objC, mas a sintaxe ?

em Object C vc chama um método assim

[obj method:argument];

em smalltalk assim

obj method: argument

em C++ assim

obj.method(argument);

em java assim

obj.method(argument);

qual é mais parecido ? :smiley:

Não tou dizendo que o cara está mentido, estou dizendo que é muito difícil acreditar.
Olha o que diz no texto:

Isto sim faz sentido. Mas a sintaxe. Isso não.

O design da JVM foi baseado no ambiente de runtime do Smalltalk.

A sintaxe foi deliberadamente emprestada do C++, segundo o Gosling (até para reduzir as resistências dos programadores C e C++), mas o conceito de interfaces e herança simples foi copiado do Objective-C. De qualquer maneira, o Objective-C hoje em dia, na versão da Apple, também aceita a sintaxe obj.method (argument).

http://www.gotw.ca/publications/c_family_interview.htm

[quote=ViniGodoy]Se alguém postar aqui o TIOBE index, eu tranco o tópico. :slight_smile:

De qualquer forma, todo ano tem dezenas de reportagens dessas, anunciando a morte de linguagens antigas (que nunca morrem) e dizendo que o futuro pertence ao código funcional ou a linguagens de nome bem estranho.

É tudo muito legal, mas poucas dessas realmente vingam na prática. A razão é simples: Para uma coisa vingar, ela deve oferecer uma vantagem bastante substancial em relação a tecnologia antiga. Não pode ser pouco, ou então, as pessoas não estarão dispostas a vencer a curva de aprendizado, nem as empresas terão coragem de investir numa tecnologia incerta.

De qualquer forma, eu vivi a queda do Clipper, a do VB e do Delphi e não estou preocupado com o declínio do Java. Quando isso acontecer, veremos qual é a nova aposta nos classificados, veremos vários artigos saindo sobre a nova tendência. E, no final das contas, é só uma questão de estudar.[/quote]

Concordo, as vezes o melhor é esperar mesmo, não dá pra ficar seguindo tudo o que aparece, uma tecnologia só substitui outra quando prova ser melhor, MUITO melhor, desculpa o erro gramatical.

Mas a verdade é que se você sair atirando pra todo lado, não vai se especializar em nada, tipo um cara que sabe 3, 4 linguagens diferentes mas, não domina elas, enquanto um carinha que sabe no máximo duas é altamente espacializado em ao menos uma.

Temos que ser criteriosos, o mercado pode dizer que quer você com suas 3, 4 linguagens mas na hora de codar, vai mandar você codar na plataformar que eles querem. E aí? O que isso significa? Nada! E se você dar mole e não preencher as expectativas, leva um pesão na bunda, fato.

[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 :frowning:

A sintaxe é diferente porque obj-c permite enviar qualquer mensagem a qualquer objeto ([obj metodo:argumento]), enquanto Java e C# estão limitados à metodos definidos por uma interface estática.

[quote=sergiotaborda][quote=carlosanalista]http://www.computer.org/portal/web/computingnow/software%20engineering/content?g=53319&type=article&urlTitle=computing-trends-lead-to-new-programming-languages

Segundo o artigo publicado na revista “COMPUTER”, uma publicação do IEEE, as linguagens mais utilizadas numa pesquisa feita a partir de 45 milhões de linhas de código são respectivamente:
C, C++ e Java.

Entretanto estas linguagens, segundo o artigo, podem perder lugar de destaque para novas linguagens, pois apresentam algumas deficiências que tornam exaustivo seu uso em cenários computacionais que utilizam por exemplo processamento paralelo, CPUs multicore, alta performance e cloud computing, sistemas distribuidos e Mobile. O artigo apresenta alguns exemplos de novas linguagens como exemplo: Microsoft F# que é apresentada como funcional e prática.[/quote]

Hoje é obvio a todos que o modelo de usar VM é muito melhor que escrever codigo diretamente para o CPU. Isto era obvio antes - porque a VM nada mais é que um nivel de indireção e todos os problemas podem ser resolvidos com o nivel de indireção a mais :slight_smile: - mas as pessoas resistiam à ideia. Hoje não mais. E a JVM da Sun, hoje Oracle é a melhor que existe no mercado em termos de VM. Ora, mas ela é uma máquina. então da mesma forma que várias linguagens compilam para máquinas reais, várias podem compilar para máquinas virtuais. Aliás, o .net sempre partiu deste principio. A linguagens .net compilam todas para a mesma linguagem comum que depois é executada.
Ora, o que estamos vendo agora é o pessoa entendendo que “VM” é legal, mas ainda é apenas uma VM. E da mesma forma que o java quiz ser cross plataform, a nova vaga de linguanges quer ser “cross-Vm” e aqui está um potencial imenso ainda inesplorado. Inclusive entenderam que a VM javacript é um alvo de mais linguanges ( o dart prova isto)
E é a corrida ao ouro. Todas querem ser o próximo java. A Haxe , assim como Fantom apostam neste ideia de corss-vm, mas isso vem com consequencias. Vamos ter UI para tudo ? Imagine ter algo semelhante ao swing que corre em qualquer VM. Imagine vc escrever um código que realmente nunca mais vc terá que reescrever porque vc vai trocar de VM , não de linguagem. Isto seria otimo. Uma linguagem e API para governar todas as outras. A uma-linguagem é próximo santo graal e quem conseguir encontrá-la vai ficar milionário. O problema é que o trabalho é imenso. Imagine compatibilizar .net com java com javascript, com php , com ruby, etc… loucura. Mas se vc tiver algo que corra vm de javacript (e ha várias , cada browser tem a sua) e algo que corra em uma plataforma de servidor como java ou .net ( ou ambas), pronto. Tá fechado. O problema agora é comercial e econômico. Porque alguém iria migrar para essas novas meta-plataformas ? E será que realmente os resultados são bons ? Dá para confiar ? Esta é a pergunta chave.

Como ainda é tudo muto corre-corre, ainda não dá para apostar tudo em uma delas. Então o pesoal precavido ainda fica no java ou no .net e no máximo faz um programa hibrido usando uma em um nodo e outra em outro (tipo android no cliente +.net no servidor). É que a linguagem é apenas o primeiro passo, o dificil é compatibilizar as API. sobretudo as básicas (I/O, Threads, UI ) (como se abre um arquivo em javascript ? )

Eu acho que é o futuro e estou de olho no melhor candidato e ha muitos. Realmente muitos. Mais dos que estão no artigo. Tem o fantom que já citei, mas tem o scala, o kotlin o gosu e muitos outros. Algumas querem ser meta-plataforma outros não . Por exemplo o scala ainda usa muita API do java. Ele pode ser compilado para .net ( porque o java pode ser compilado para .net via ikvm) mas é estranho tanta mistura. O idela seria ter uma aPI scala pura e o compilador se virar para usar API da plataforma base. Outros já partem deste principio. O fantom por exemplo tem api propria para muitas coisas e deixa usar o conceito de “native” que em java é usado para programa em C++ , em fantom é usado para programar código “nativo java” ou “nativo C#”. É um conceito interessante.

tudo se resume à robustez. quando estas novas plataformas mostrarem que valem o investimento, as pessoas vão começar a migrar. E no entretanto todas as variantes mostram as vantagens e desvantegens das outras. Hoje em dia se vc não é OO, esquece. E tem que ser fortemente tipado e tem que ser dinamicamente tipado e tem que ter closures e tem que ter paralelismo e um monte de outras coisas. E está se procurando o melhor encaixe para tudo isso. O problema que eu vejo com essas linguagens é que são pouco simples. têm muitas palras chave em vez de conceitos profudamente compreendidos . O java é muito bom em ser simples, com poucas palavras chave, mas parece que ninguem quer seguir isso. Talvez quem conseguir esta simplicidade seja o ganahdor da corrida.

Vamos ver o que o futuro nos trás [/quote]

Não concordo que a vm é a solução para todos os problemas. Um exemplo disso é comparar o ios com o android. O segundo precisa de 3x mais hardware para conseguir o que o primeiro faz com pouco. Existe um “talvez” e um “depende” enorme aí na sua resposta.

[quote=cleiton.franca][quote=ViniGodoy]Se alguém postar aqui o TIOBE index, eu tranco o tópico. :slight_smile:

De qualquer forma, todo ano tem dezenas de reportagens dessas, anunciando a morte de linguagens antigas (que nunca morrem) e dizendo que o futuro pertence ao código funcional ou a linguagens de nome bem estranho.

É tudo muito legal, mas poucas dessas realmente vingam na prática. A razão é simples: Para uma coisa vingar, ela deve oferecer uma vantagem bastante substancial em relação a tecnologia antiga. Não pode ser pouco, ou então, as pessoas não estarão dispostas a vencer a curva de aprendizado, nem as empresas terão coragem de investir numa tecnologia incerta.

De qualquer forma, eu vivi a queda do Clipper, a do VB e do Delphi e não estou preocupado com o declínio do Java. Quando isso acontecer, veremos qual é a nova aposta nos classificados, veremos vários artigos saindo sobre a nova tendência. E, no final das contas, é só uma questão de estudar.[/quote]

Concordo, as vezes o melhor é esperar mesmo, não dá pra ficar seguindo tudo o que aparece, uma tecnologia só substitui outra quando prova ser melhor, MUITO melhor, desculpa o erro gramatical.

Mas a verdade é que se você sair atirando pra todo lado, não vai se especializar em nada, tipo um cara que sabe 3, 4 linguagens diferentes mas, não domina elas, enquanto um carinha que sabe no máximo duas é altamente espacializado em ao menos uma.

Temos que ser criteriosos, o mercado pode dizer que quer você com suas 3, 4 linguagens mas na hora de codar, vai mandar você codar na plataformar que eles querem. E aí? O que isso significa? Nada! E se você dar mole e não preencher as expectativas, leva um pesão na bunda, fato.[/quote]

Concordo com você em não sair pegando o que há de tão novo no mercado. Aliás se couber a mim trabalhar encabeçando um projeto vou escolher linguagens mais maduras e com uma gama grande de apis.

Se VB.Net é VB, então C++ é C.

VB.Net é uma criatura bem diferente do que era o VB. É orientado a objetos (o VB era estruturado), tem suporte a threads (o VB não tinha) e aboliu vários comandos perigosos da linguagem.
Em resumo, virou linguagem de verdade.

Tanto que um código VB é totalmente incompatível com um código VB.Net.

Quando digo que o VB morreu, estou falando do VB que existiu até a versão 6, e que inspirou o VBA e o ASP.

Acho que manteremos essa fragmentação de linguagens por um bom tempo ainda.
Acredito que as coisas irão realmente mudar quando começarem a surgir comercialmente os primeiros computadores quânticos. Pois quando chegarmos neste momento, realmente teremos uma série de necessidades específicas em termos de linguagem. Por mais que tenhamos hoje em dia cloud, VMs, paralelismo, interfaces ricas, mobile, etc… não vejo nessas tendências/tecnologias uma grande alteração no paradigma computacional e na forma como abordamos problemas.

[quote=giulianocosta]Acho que manteremos essa fragmentação de linguagens por um bom tempo ainda.
Acredito que as coisas irão realmente mudar quando começarem a surgir comercialmente os primeiros computadores quânticos. Pois quando chegarmos neste momento, realmente teremos uma série de necessidades específicas em termos de linguagem. Por mais que tenhamos hoje em dia cloud, VMs, paralelismo, interfaces ricas, mobile, etc… não vejo nessas tendências/tecnologias uma grande alteração no paradigma computacional e na forma como abordamos problemas.[/quote]

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.