Qual linguagem aprender?

Boa noite galera, tô com uma dúvida imensa…

Programo em JAVA SE a cinco anos, passei esse tempo todo aprimorando meus conhecimentos para que eu não tivesse dificuldade em aprender outra linguagem…

Atualmente estou cursando o 2º semestre de Análise e Desenvolvimento de Sistemas…

A minha dúvida é…

Muito tem se falado sobre o mercado de desenvolvimento de aplicativos para dispositivos móveis, assim como também sobre computação em núvens…

Minha opnião é que o futuro mesmo está na computação nas núvens até pq desde o início da internet, cada dia mais tem se aprimorado o desenvolvimento para essa plataforma, com ela as linguagens conseguem se comunicar até com dispositivos como webcam entre outros…

e mobile, a cada dia surge um S.O. diferente, por exemplo, a samsung já vai lançar o S.O. dela e vai ser mais uma linguagem para se aprender…

Enfim, pretendo me especializar em alguma outra linguagem e estou com essa dúvida… até pq o JAVA SE, digamos que ta ficando obsoleto, cada vez mais os sistemas de desktop estão sendo migrados para dispositivos móveis ou para WEB…

então, qual plataforma devo estudar?

Se você já sabe java, acho que o caminho mais natural é estudar o Android. Daí, siga para o segundo maior player do mercado, o iPhone (que usa Objective-C de linguagem).

Mas Vini, tenho visto empresas desenvolvendo primeiro para iOS e cogitando pra depois uma versão Android.

Ah, desculpe, minha frase ficou estranha. Não quis dizer que ele era o segundo lugar, só que ele era outro grande player.

[quote=flaviomirandadesouza]
então, qual plataforma devo estudar?[/quote]

Não ficou claro que vc quer aprender uma nova linguagem ou uma nova plataforma.
A plataforma java é bastante omnipresente para não precisar de outra, mas se quiser, então as únicas plataformas hoje em dia que valem a pena são .NET e Android (embora o android seja quase java).

Em linguagens temos Scala como uma linguagem para java e .net . Na jvm temos o Groovy.
Embora vc possa perder tempo aprendendo qualquer linguagem como python , C, C++, Perl, PHP, lisp, closure, etc… nem todas leha darão um retorno.

Para o java 8 com closures é importante começar a pensar em programação orientada a funções e para começar o grovvy e o scala são as melhores bases. Contudo
quando sair o java 8 , irá ter que se repaginar novamente e re-aprender java.

Ah, desculpe, minha frase ficou estranha. Não quis dizer que ele era o segundo lugar, só que ele era outro grande player.
[/quote]

Mas o que é um grande player?

Se for número de aparelhos no mercado então de fato Android é um grande player, assim como foi Java ME algum tempo atrás e hoje ninguém se lembra.

Se for oportunidades de negócio Android é um grande ponto de interrogação, enquanto desenvolvimento Web e iOS o retorno é garantido.

Atenção: Minha opinião apenas…

Ah, desculpe, minha frase ficou estranha. Não quis dizer que ele era o segundo lugar, só que ele era outro grande player.
[/quote]

Mas o que é um grande player?

Se for número de aparelhos no mercado então de fato Android é um grande player, assim como foi Java ME algum tempo atrás e hoje ninguém se lembra.

Se for oportunidades de negócio Android é um grande ponto de interrogação, enquanto desenvolvimento Web e iOS o retorno é garantido.

Atenção: Minha opinião apenas…[/quote]

A quantidade de aparelhos baseados em Android e iOS demonstram que, sim, é válido direcionar estudos a estas plataformas. Não acredito que ambas venham a se tornarem obsoletas tão cedo, tendo em vista o amplo mercado que atingem. Ao contrário, a prova disso é a constante evolução de ambas, passando por diversas versões. O JEE também é bem interessante e consideravelmente utilizado e bem aceito no mercado. Sem tem um conhecimento de 5 anos em Java SE, porque não estudar JEE, também?

Mas eu concordo com a opinião do Vini. Direcionar os estudos para mobile é uma boa pedida.

[quote=sergiotaborda][quote=flaviomirandadesouza]
então, qual plataforma devo estudar?[/quote]

Não ficou claro que vc quer aprender uma nova linguagem ou uma nova plataforma.
A plataforma java é bastante omnipresente para não precisar de outra, mas se quiser, então as únicas plataformas hoje em dia que valem a pena são .NET e Android (embora o android seja quase java).

Em linguagens temos Scala como uma linguagem para java e .net . Na jvm temos o Groovy.
Embora vc possa perder tempo aprendendo qualquer linguagem como python , C, C++, Perl, PHP, lisp, closure, etc… nem todas leha darão um retorno.

Para o java 8 com closures é importante começar a pensar em programação orientada a funções e para começar o grovvy e o scala são as melhores bases. Contudo
quando sair o java 8 , irá ter que se repaginar novamente e re-aprender java.[/quote]

Acho que todas essas linguagens que você citou podem acrescentar ao profissional, e até oferecer retorno, porque não? depende do que se pretende fazer.

Só porque você nunca precisou fazer algo diferente de “framework CRUD pra Java” não significa que C/C++, Lisp ou até PHP não seja o mais adequado para outras pessoas, enfrentando outros tipos de problemas e situações.

Vocês acham mesmo que estudar C é perda de tempo? Eu acabei de baixar um baita livro :frowning:

[quote=JoseIgnacio][quote=sergiotaborda][quote=flaviomirandadesouza]
então, qual plataforma devo estudar?[/quote]

Não ficou claro que vc quer aprender uma nova linguagem ou uma nova plataforma.
A plataforma java é bastante omnipresente para não precisar de outra, mas se quiser, então as únicas plataformas hoje em dia que valem a pena são .NET e Android (embora o android seja quase java).

Em linguagens temos Scala como uma linguagem para java e .net . Na jvm temos o Groovy.
Embora vc possa perder tempo aprendendo qualquer linguagem como python , C, C++, Perl, PHP, lisp, closure, etc… nem todas leha darão um retorno.

Para o java 8 com closures é importante começar a pensar em programação orientada a funções e para começar o grovvy e o scala são as melhores bases. Contudo
quando sair o java 8 , irá ter que se repaginar novamente e re-aprender java.[/quote]

Acho que todas essas linguagens que você citou podem acrescentar ao profissional, e até oferecer retorno, porque não? depende do que se pretende fazer.

Só porque você nunca precisou fazer algo diferente de “framework CRUD pra Java” não significa que C/C++, Lisp ou até PHP não seja o mais adequado para outras pessoas, enfrentando outros tipos de problemas e situações.
[/quote]

Só porque todo o planeta quer fazer aplicações para android, iphone com backstage em java ou scala significa que Lisp, PHP e C/C++ estão fora da corrida.
É claro que se vc quer programar no nivel de máquina, se vc está programando a jvm ou a vm do android ou o plugin do php ou do python em C++ ou brincando com TV ou Lego Mindstorm usando Lua vc pode usar essas linguagens, mas não foi essa a pergunta do tópico. A pergunta é : “qual a linguagem de devo aprender para alcançar o mainstream?”, e não “qual a linguagem de nicho que devo aprender?”.

Por isso que diferencei plataforma de linguagem. A plataforma java aceita várias linguagens assim como o .net. E algumas outras como python e ruby pode ser usadas nestas plataformas ou fora delas.

Como disse, vc pode aprender todas as linguagens que quiser, mas nem todas lhe darão retorno. Acho que a pergunta do tópico é dirigida a obter o melhor retorno.
Tirando do contexto de retorno a pergunta é sem sentido. Na teoria vc deve aprender todas as linguagens que existem. Isso é um bom exercicio. Na prática vc não tem tempo. Vc precisa escolher as que dão mais retorno. Mas se eu tivesse perseguindo o mundo dos jogos e o mercado de jogos usasse C++ e Lua, então era isso que tenho que aprender. Como estamos falando (ok, tlv limitadamente) sobre o mundo business e mobile, estão estamos eliminando as linguagens que aportam menos nesse cenários. Se estivessesmos falando de HTML, com certeza a resposta seria javascript ( que aliás hoje em dia não se restringe mais ao lado cliente).

Agora, se estivessemos falando de comunicar com máquinas, criar máquinas virtuais, trabalhar com ponteiros , C e C++ seriam candidatos. O novo C++ é muito semelhante ao Java, mas o C++ não é uma plataforma como o Java. O C++ é usando para criar a plataforma.

Enfim, tudo depende do objetivo. Mas o tópico está versado no objetivo imediatista de alcançar o maior mercado, mais depressa. E nesse cenários ha linguagens que simplesmente não passam no filtro.