Olá,
Hoje em dia, qual tecnologia está valendo a pena aprender? Se você parasse tudo agora e tivesse um tempo, você aprenderia qual? Porque?
Olá,
Hoje em dia, qual tecnologia está valendo a pena aprender? Se você parasse tudo agora e tivesse um tempo, você aprenderia qual? Porque?
Existem várias tecnologias bem cogitadas atualmente, vai depender do seu objetivo real.
Cara…Java !
E um assunto bem polemico, cada um vai dar uma opinião… mas penso que se o objetivo e uma rápida inserção no mercado de trabalho,
esta talvez seja a que tem mais demanda.Fiz esse mesmo questionamento a pouco mais de uma ano e meio atrás quando comecei a me interessar por desenvolvimento.Estava em duvida entre C#, Java ou Php… as que tinha mais anúncios de vagas… fiquei com o java e não me arrependo nenhum pouco.Logicamente depois percebi que a linguagem e so a forma de fazer , e que dependendo do projeto uma tecnologia e mais recomendada que a outra.Nesse meio tempo já tive que mexer em VB(ECAAA) , C# , javascript … e por ai vai … Se a ideia for conseguir um colocação no mercado de trabalho , apostava no Java , o .Net … Banco de dados , e dependendo do objetivo a triade(HTML/CSS/JavaScript).
Obj : JavaScprit também e um boa opção , mais ai vai depender muito da região.
Não importa tanto.
Primeiro deve focar nos conceitos básicos.
Depois, tem que se dedicar na opção escolhida. Para você dominar uma plataforma vai demandar anos de estudos e, principalmente, prática. Não recomendo ficar “pulando” de linguagem em linguagem, sem se fixar em uma. Todas tem pontos fortes e fracos.
Aproveitando o tópico, há vantagens de se aprender hoje alguma tecnologia relacionada ao paradigma funcional, como F#? Ultimamente tenho ouvido falar muito sobre programação funcional e tudo o mais, e até vejo uma vaga ou outra relacionada a essas tecnologias. Sinto que preciso aprender algo do tipo para não ficar defasado.
Como já diria aquela velha frase …, "Conteúdo nunca e demais ".Realmente e um tema bem recorrente , inclusive vai ser tema da palestra que vou assistir amanhã , organizada pelo CeJug … E realmente nessa areá tem que estar em constante evolução.
Depende, se você quiser atuar no mercado com essas linguagens pode ser uma vantagem aprendê-las?
Pra quem trabalha com java eu recomendaria clojure, ao invés de f#.
Depende, se você quiser atuar no mercado com essas linguagens pode ser uma vantagem aprendê-las?
Pra quem trabalha com java eu recomendaria clojure, ao invés de f#.
Citei F# porque trabalho com .NET, na verdade. A ideia seria apenas aumentar a gama de habilidades com .Net. Se algum dia aparecer um projeto com f#, por exemplo, pelo menos estaria minimamente capacitado.
Depende, se você quiser atuar no mercado com essas linguagens pode ser uma vantagem aprendê-las?
Pra quem trabalha com java eu recomendaria clojure, ao invés de f#.
Citei F# porque trabalho com .NET, na verdade. A ideia seria apenas aumentar a gama de habilidades com .Net. Se algum dia aparecer um projeto com f#, por exemplo, pelo menos estaria minimamente capacitado.
Em relação a .NET, se você não estudou ainda as novidades que vem por ai para web, que é o maior mercado, a prioridade sem dúvidas é estudar o ASP.NET 5 (antes chamado vNext) e .NET Core. Só nisso ai tem um mar de mudanças, caso você já desenvolva web atualmente.
Depende, se você quiser atuar no mercado com essas linguagens pode ser uma vantagem aprendê-las?
Pra quem trabalha com java eu recomendaria clojure, ao invés de f#.
Citei F# porque trabalho com .NET, na verdade. A ideia seria apenas aumentar a gama de habilidades com .Net. Se algum dia aparecer um projeto com f#, por exemplo, pelo menos estaria minimamente capacitado.
Em relação a .NET, se você não estudou ainda as novidades que vem por ai para web, que é o maior mercado, a prioridade sem dúvidas é estudar o ASP.NET 5 (antes chamado vNext) e .NET Core. Só nisso ai tem um mar de mudanças, caso você já desenvolva web atualmente.
Infelizmente eu tenho o péssimo hábito de não acompanhar as novidades do mundo .Net. Atualmente eu desenvolvo em ASP.Net MVC 4 e acredito ter um conhecimento mediano na tecnologia.
Alguns dias atrás comecei a ler um livro de Windows Phone que comprei há quase um ano. É um mundo novo para mim, pois apenas trabalhei com Web e Desktop. O próximo passo seria ler um livro sobre Kinect SDK e depois aprender Xamarin focando, num primeiro momento, na plataforma Android. Some a isso a impressão de aprender algo relacionado a programação funcional. Eu simplesmente sei que tenho um monte de coisa pra aprender, só não consigo definir as prioridades.
Depende, se você quiser atuar no mercado com essas linguagens pode ser uma vantagem aprendê-las?
Pra quem trabalha com java eu recomendaria clojure, ao invés de f#.
Citei F# porque trabalho com .NET, na verdade. A ideia seria apenas aumentar a gama de habilidades com .Net. Se algum dia aparecer um projeto com f#, por exemplo, pelo menos estaria minimamente capacitado.
Em relação a .NET, se você não estudou ainda as novidades que vem por ai para web, que é o maior mercado, a prioridade sem dúvidas é estudar o ASP.NET 5 (antes chamado vNext) e .NET Core. Só nisso ai tem um mar de mudanças, caso você já desenvolva web atualmente.
Infelizmente eu tenho o péssimo hábito de não acompanhar as novidades do mundo .Net. Atualmente eu desenvolvo em ASP.Net MVC 4 e acredito ter um conhecimento mediano na tecnologia.
Alguns dias atrás comecei a ler um livro de Windows Phone que comprei há quase um ano. É um mundo novo para mim, pois apenas trabalhei com Web e Desktop. O próximo passo seria ler um livro sobre Kinect SDK e depois aprender Xamarin focando, num primeiro momento, na plataforma Android. Some a isso a impressão de aprender algo relacionado a programação funcional. Eu simplesmente sei que tenho um monte de coisa pra aprender, só não consigo definir as prioridades.
Então se você trabalha atualmente com ASP.NET MVC 4 ou até mesmo MVC 5, sem dúvida nenhuma vai ser muito importante desde já aprender ASP.NET 5 e .Net Core. Cuidado pra não confundir “ASP.NET MVC 5” com “ASP.NET 5”, que é uma versão nova do ASP.NET como um todo e não só do framework MVC ou WebApi.
Pra ter uma ideia dos itens que vai precisar pesquisar:
http://www.tecnoretorica.com.br/2014/11/dot-net-open-source-e-primeiro-dia-do-connect/
http://www.asp.net/vnext/overview/aspnet-vnext/aspnet-5-overview
E claro, já baixar o Visual Studio 2015 CTP 5.
Bom, depois disso tudo acho que já tenho coisas mais importantes para estudar.
javaflex, o que você pensa sobre Xamarin? Vale a pena dar uma olhada, acha que é promissor no mercado brasileiro?
Bom, depois disso tudo acho que já tenho coisas mais importantes para estudar.javaflex, o que você pensa sobre Xamarin? Vale a pena dar uma olhada, acha que é promissor no mercado brasileiro?
Eu provavelmente aprenderia alguma tecnologia relacionada a música.
O que vale aprender depende muito:
a) Do que você já sabe;
b) Do seu objetivo com o aprendizado;
c) Da sua região.
Citei F# porque trabalho com .NET, na verdade. A ideia seria apenas aumentar a gama de habilidades com .Net. Se algum dia aparecer um projeto com f#, por exemplo, pelo menos estaria minimamente capacitado.
Se pretende se aventurar fora do mundo “CRUD web” algum dia, e querer alçar novos voos em projetos que envolvem criação de algoritmos, ou que tem muita regra de negócio, vai precisar conhecer uma linguagem funcional.
Eu provavelmente aprenderia alguma tecnologia relacionada a música.
???
Cite exemplos.
Citei F# porque trabalho com .NET, na verdade. A ideia seria apenas aumentar a gama de habilidades com .Net. Se algum dia aparecer um projeto com f#, por exemplo, pelo menos estaria minimamente capacitado.Se pretende se aventurar fora do mundo “CRUD web” algum dia, e querer alçar novos voos em projetos que envolvem criação de algoritmos, ou que tem muita regra de negócio, vai precisar conhecer uma linguagem funcional.
Até onde sei é perfeitamente possível se aventurar fora do mundo “CRUD web” usando linguagens imperativas.
Cite exemplos.
Recentemente vi alguns módulos para que fazem interface com instrumentos musicais (como teclados, baterias, etc). Há também vários algoritmos para processamento de áudio e edição de som, além de hardware específico para captura.
Não estou falando que isso vale a pena para o colega mas, certamente, valeria para mim. heheheheh
Até onde sei é perfeitamente possível se aventurar fora do mundo “CRUD web” usando linguagens imperativas.
Concordo. Se não fosse possível, eu não teria trabalhado em pelo menos 12 anos da minha carreira. heheheh
Até onde sei é perfeitamente possível se aventurar fora do mundo “CRUD web” usando linguagens imperativas.
no front-end você fala? Sem duvida.
Até onde sei é perfeitamente possível se aventurar fora do mundo “CRUD web” usando linguagens imperativas.no front-end você fala? Sem duvida.
No back-end também. Rotinas que abusam de estrutura de dados, programação paralela, streaming, geolocalização e outras coisas também podem ser feitas com java, c# e outras.
Cite exemplos.
Recentemente vi alguns módulos para que fazem interface com instrumentos musicais (como teclados, baterias, etc). Há também vários algoritmos para processamento de áudio e edição de som, além de hardware específico para captura.
Não estou falando que isso vale a pena para o colega mas, certamente, valeria para mim. heheheheh
hmm, interessante.
No back-end também. Rotinas que abusam de estrutura de dados, programação paralela, streaming, geolocalização e outras coisas também podem ser feitas com java, c# e outras.
não esqueça de frameworks java/c#.
No back-end também. Rotinas que abusam de estrutura de dados, programação paralela, streaming, geolocalização e outras coisas também podem ser feitas com java, c# e outras.não esqueça de frameworks java/c#.
???
Desculpe, não entendi aonde você quer chegar.
Na sua opinião, o que uma linguagem funcional pode fazer além do que uma linguagem imperativa já faz no back-end?
Pelo “vale”, quer dizer aprender algo que tenha retorno financeiro rapido e direto.
Então acho que vale a pena aprender javascript, angular, webapi, entity framework, mvc 6, signalR, C# mais a fundo, coisa que as vezes nao tenho tempo, dominar melhor os generics, collections e nuances da linguagem, conhecer métodos performáticos, e dominar (criptografia simétrica, assimétrica, assinatura digital, certificação digital, tokens etc - utilizações práticas e reais)
Agora se não fosse pelo retorno financeiro rapido, acredito que Arduino, microcontroladores, programação de drivers, programação de ferramentas de baixo nível, computação gráfica, processamento de audio, e além disso também acharia interessante começar a desenvolver software que interaja o mundo real, ir um pouco mais pro campo da engenharia eletronica, mecatronica e quimica.
Na sua opinião, o que uma linguagem funcional pode fazer além do que uma linguagem imperativa já faz no back-end?
Na minha opinião, algoritmos, regras de negócio…
Mas praticamente todo backend vai se beneficiar de ter programadores funcionais no lugar de arquitetos OO.
Na sua opinião, o que uma linguagem funcional pode fazer além do que uma linguagem imperativa já faz no back-end?Na minha opinião, algoritmos, regras de negócio…
Mas praticamente todo backend vai se beneficiar de ter programadores funcionais no lugar de arquitetos OO.
Na prática, não existe nenhum algoritmo que possa ser escrito no paradigma funcional e que não possa ser escrito em um paradigma imperativo. Mas algumas construções ficam mais elegantes quando escritas de maneira funcional,por exemplo, fornecer uma simples função como callback de um evento ao invés de um objeto que implementa uma interface listener.
Na prática, não existe nenhum algoritmo que possa ser escrito no paradigma funcional e que não possa ser escrito em um paradigma imperativo. Mas algumas construções ficam mais elegantes quando escritas de maneira funcional,por exemplo, fornecer uma simples função como callback de um evento ao invés de um objeto que implementa uma interface listener.
Infelizmente em java você só pode saber depois de contratado, se vai trabalhar com algoritmo imperativo ou CRUD na web.
Na prática, não existe nenhum algoritmo que possa ser escrito no paradigma funcional e que não possa ser escrito em um paradigma imperativo. Mas algumas construções ficam mais elegantes quando escritas de maneira funcional,por exemplo, fornecer uma simples função como callback de um evento ao invés de um objeto que implementa uma interface listener.Infelizmente em java você só pode saber depois de contratado, se vai trabalhar com algoritmo imperativo ou CRUD na web.
Se o entrevistador combina uma coisa e cumpre outra é um problema da empresa, o que a tecnologia que ela utiliza tem a ver com isso ?
Se o entrevistador combina uma coisa e cumpre outra é um problema da empresa, o que a tecnologia que ela utiliza tem a ver com isso ?
E uma coisa que o profissional tem que se preocupar caso trabalhe com Java ou .net. 
Se o entrevistador combina uma coisa e cumpre outra é um problema da empresa, o que a tecnologia que ela utiliza tem a ver com isso ?E uma coisa que o profissional tem que se preocupar caso trabalhe com Java ou .net. :(
então se uma empresa trabalha com Ruby, PHP ou uma tecnologia hype é absoluta certeza que ela vai cumprir com o combinado ?
realmente, a relação causa-efeito nesse caso faz todo sentido …
Nunca trabalhei com essas linguagens.
Estou falando de empresa que escolhe tecnologia pq é mais popular (hype), como java e .net.
então se uma empresa trabalha com Ruby, PHP ou uma tecnologia hype é absoluta certeza que ela vai cumprir com o combinado ?
Nunca trabalhei com essas linguagens.
Estou falando de empresa que escolhe tecnologia pq é mais popular (hype), como java e .net.
1 - eu não disse que você trabalha ou algum dia trabalhou com essas linguagens (e você tem um sério problema para interpretar exemplos/analogias), o que eu questionei foi a relação de casualidade do seu raciocínio:
SE uma empresa utiliza Java ou .net LOGO ela não vai cumprir com combinado
sendo que uma coisa não tem nada a ver com a outra.
2 - pelo visto você também não entende o que é hype.
Node.js
Dá pra melhorar esta pergunta. Eu perguntaria: o quê uma linguagem funcional proporciona com muito menos custo com relação à imperativa?
Eu começo analisando diferenças não apenas entre linguagens funcionais x imperativas, mas sim tecnologias.
A grosso modo uma linguagem funcional tem características que nos permitem ter um modelo de concorrência adequado se comparar com uma linguagem imperativa. Mas no mundo imperativo foram desenvolvidas diversas tecnologias que permitem abstrair este problema de modo a não nos preocuparmos com isso. Mesmo assim, em vários casos, a base imperativa pode ser um fator limitador e você termina com mais código a dar manutenção, mais propensão a bugs e claro mais custos.
Por isso o importante é avaliar o custo de implementar uma solução funcional para um determinado problema, pois podem sim surgir casos onde faz todo sentido partir pro funcional se trazer benefício tecnológico e econômico. Um rápido exemplo é a resiliência suportada na VM do Erlang. Pra ter resiliência de verdade (coisa de gente grande) em alguma tecnologia imperativa você pode ter muito mais trabalho, implementar dezenas de fw’s, algoritmos, patterns e por aí vai. Algo que já é resolvido de forma simples na própria linguagem do Erlang e você implementa rápido com pouco custo. E pelo que sei até o momento, mesmo comparando Erlang com outras linguagens funcionais, resiliência é algo que esta faz bem feito.
De novo, por este motivo, o foco seria comparar tecnologias, e não (apenas) paradigma de linguagem 
EDIT: E respondendo a principal pergunta do tópico: sim, IMHO hoje em dia vale a pena aprender a programar (e pensar) o paradigma funcional. Alguns shots como já citaram nesta thread, Haskell, F#, Clojure, Erlang e Node.