Deve-se aprender novos idiomas ou concentrar-se apenas nos idiomas que você já conhece e aumentar seu conhecimento? [fechadas]

22

Qual caminho é mais benéfico e produtivo?

Chankey Pathak
fonte
1
Isso não depende do tipo de trabalho e projetos? Se você trabalha para uma grande corporação, provavelmente não está mudando de tecnologia com muita frequência; se você é freelancer, tem escolha.
Chris
@ Chris: Sugestão, "Idiomas e estruturas", a maioria dos desenvolvedores não trabalha mais apenas com um compilador de linha de comando e um editor de texto, mas com bibliotecas, IDE, BD, Thrid-Party Tools, ... ;-)
umlcat
1
A julgar pela contagem positiva, essa questão é construtiva na opinião de muitos. Eu acho que Mark Trapp é realmente um programa de computador escrito para encerrar perguntas.
11785 T. Webster

Respostas:

18

Eu acho que você precisa dos dois. Você precisa se concentrar em suas competências essenciais e melhorar sua compreensão delas, mas, ao mesmo tempo, é benéfico olhar para fora e ver o que mais há por aí. A exposição a outras abordagens e outros idiomas é muito importante para tornar um desenvolvedor melhor em geral. Existem muitas maneiras de esfolar um gato, por assim dizer, e conhecer o maior número possível delas fará de você um psicopata melhor na escolha da ferramenta certa para uma tarefa específica.

Portanto, gaste a maior parte do tempo melhorando a proficiência escolhida e gaste parte do tempo aprendendo algo novo.

Adam Lear
fonte
4
+1 Por saber como usar bem o seu "martelo", mas também por saber que existem coisas como "chaves de fenda", "serras" e "pegajosa".
Ryan Hayes
1
E na maioria das vezes, aprender um novo idioma pode expô-lo a um padrão de design ou a algo útil que você nunca pensou em usar seus próprios idiomas.
AttackingHobo
8

Alguém disse: "Uma linguagem que não muda a maneira como você pensa sobre programação não vale a pena aprender".

Portanto, se você conhece Java, há pouco ganho em aprender C # (ou vice-versa). Se não for por motivos pragmáticos (ou seja, você precisa resolver um problema), sugiro manter um idioma por Paradigma, e sua agenda ainda está cheia o suficiente;).

A especialização, por outro lado, é na minha experiência principalmente alcançada "no campo", isto é, ao trabalhar em um projeto, então é natural.

keppla
fonte
1
O C # oferece novos recursos interessantes para desenvolvedores Java. As expressões linq e lambda podem abrir os olhos para um novo mundo.
24511 Carra
Na verdade, eu diria que trazer um programa C # ao mercado foi mais fácil (pelo menos para mim) do que trazer um programa Java ao mercado. Então, nesse sentido, meus olhos se abriram, pois eu poderia ter as conveniências de Java, evitando alguns de seus déficits. Independentemente das guerras de linguagem, eu diria que esse é um bom argumento.
riwalk
+1 Comecei no .NET e realmente aprendi muito com minhas brincadeiras com o Objective C e JavaScript.
Trevor
@Carra: eu não sabia disso (minha última experiência em profundidade com os dois foi quando o Java 1.5 estava atual). A diferença, na sua experiência, cresceu o suficiente para torná-los diferentes o suficiente para justificar uma recomendação para aprender os dois (de uma perspectiva 'acadêmica')?
25411 keppla
Você provavelmente ainda é melhor para aprender uma e uma linguagem funcional. Então, no geral, eu concordo com você.
Carra
3

Existem muitos argumentos realmente bons de ambos os lados. Muitos anos atrás, fui apresentada a essa pergunta exata ... concentre-se no meu idioma principal e tente me tornar um "especialista" OU adquira um novo idioma e amplie minha comercialização. Eu escolhi me concentrar em um idioma.

Realmente não haverá uma resposta errada. Ambos têm méritos, vai realmente se resumir a qual deles se encaixa melhor para você e para onde você quer seguir sua carreira.

Walter
fonte
2

Aprender novas linguagens é principalmente um meio de obter novos conceitos e aumentar sua eficiência com a programação. Aprender programação em si é muito diferente de aprender um novo idioma para programar.

Você deve se concentrar em melhorar seus programas (e há muitas métricas para medir isso, muitas subjetivas; não importa, faça a sua escolha e refine-as com o tempo, use-as para sua educação).

Dito isto, aprender idiomas 'mais recentes' (digamos Python) sobre sua lista mais antiga (como, digamos, ' C' e muitos outros) o ajudará a pensar com mais eficiência e a se concentrar nos conceitos fundamentais que devem ser aprimorados. Levando o exemplo adiante, ele pode não aparecer imediatamente, mas você pode achar que sua Cprogramação está melhorando porque você está pensando em Python. Você pode até começar a escrever Python em vez de psudo-código para C. Agora, esse é um psudo-código muito mais legível e verificável.

O que nos leva a resumir a questão principal:
Sim, você deve se concentrar nos idiomas que você já conhece e aumentar seu conhecimento neles - desde que eles ainda estejam em uso para você. E você também deve se interessar por linguagens mais novas, para fornecer ao seu cérebro novas ferramentas para pensar em soluções (talvez ainda mais rápidas) para suas necessidades de programação.

nik
fonte
1

Domine uma estrutura de programação (e linguagem relacionada) e deixe algum tempo livre para outro "domínio", de preferência diferente. Exemplo: servidor cliente C ++, Ruby on Web

umlcat
fonte
1

Aprendendo um novo idioma

Depende do objetivo para o qual você está aprendendo o idioma. Se você estiver aprendendo o idioma, ele usa um paradigma diferente ou é adequado para um domínio de problema específico. No entanto, se for uma linguagem muito semelhante à que você já conhece e tudo o que você planeja fazer é reescrever todo o código existente nessa nova linguagem, provavelmente não haverá muito valor (por exemplo, reescrever um aplicativo web python em rubi) nele.

Conhecimento mais aprofundado no idioma atual

Se você já se sente à vontade para programar em uma linguagem, conhece todos os idiomas e pode escrever programas nela sem precisar procurar na documentação todas as chamadas de bibliotecas, provavelmente não há muito mais a aprender sobre isso. Se, por outro lado, seu conhecimento do idioma não for tão profundo, pode haver algum valor em aprender mais. Algumas boas maneiras de avaliar se você está no primeiro ou no último campo do idioma X são:

  1. Quantos programas você escreveu na linguagem X?
  2. Se você seguir o Stack Overflow e examinar as perguntas marcadas com X, a quantas delas se sentiria à vontade para responder?
  3. As pessoas procuram ajuda com o idioma X?

Se suas respostas a essas perguntas estão em algum lugar na linha de "muito", "a maioria delas" e "sim, e isso está ficando chato", é uma boa indicação de que você domina o idioma e deve passar para algo Novo.

Zhehao Mao
fonte
0

Se você já é bom o suficiente com o idioma que está familiarizado, não é bom aprender truques muito detalhados e específicos para um pouco de calma ... será totalmente uma perda de tempo. No entanto, quando você se sente desconfortável com um idioma, a sugestão é dominá-lo primeiro.

Além das línguas, existem estruturas, padrões ... para aprender uma estrutura, você deve conhecer uma língua, portanto, para línguas muito semelhantes, aprendê-las não ajuda em nada, a não ser trazer uma diversão não tão engraçada.

Minha opinião pessoal é que você sempre deve desenvolver seus recursos para tornar o software mais rápido, seguro e mais robusto, para mais plataformas e reduzir o tempo, para esse objetivo, talvez você precise aprender um novo idioma, uma nova estrutura, um novo IDE (isso é tão importante quanto um idioma) e, somente quando você tiver esse objetivo, seu investimento valerá a pena.

Pelo menos, não aprenda um novo idioma para aumentar o número de idiomas que você conhece.

tactoth
fonte