A maioria dos programadores é especializada em uma única pilha, deixando outras coisas em prática, ou são especialistas em vários idiomas ao mesmo tempo? Se for mais de um, quantos são padrão?
Por especialista, quero dizer mais do que simplesmente conhecer a sintaxe de uma linguagem - um especialista conhece bibliotecas, ferramentas, ambientes e sintaxe padrão suficientes para poder escrever programas não triviais sem ter que procurar constantemente coisas ou ler livros / tutoriais.
programming-languages
self-improvement
experience
blueberryfields
fonte
fonte
Respostas:
O principal benefício de conhecer vários idiomas não é escrevê-los diretamente. Sendo todas as outras coisas iguais, prefiro trabalhar com um programador de C # que também conhece C, Python e Lisp (por exemplo) do que com um que só é hackeado em C #. Não é que conhecer mais idiomas seja melhor, é que ser capaz de pensar em problemas em vários níveis e de várias perspectivas é realmente útil.
Não se trata de marcar mais um idioma ou colocá-lo em seu currículo; você só precisa entender bem seus conceitos subjacentes para programar nele para obter todos os benefícios. Você não conseguirá isso com um entendimento básico da sintaxe.
A resposta mais direta é "depende".
Em empresas maiores, é esperado que você se especialize, mas como eu disse acima, acredito que ainda há benefícios em entender coisas além da sua ferramenta favorita.
Em lugares menores, você realmente não pode se safar disso. Se nada mais, você normalmente precisa manter seu aplicativo e compilá-lo, e provavelmente não deve usar os mesmos idiomas para executar os registros / intercalação de dados que faz para realmente criar seu aplicativo. Eu acho que tecnicamente você pode se dar bem com o conhecimento de um único idioma, mas o benefício de ter um idioma com bom desempenho, de tipo forte (ou pelo menos capaz de asserção), provavelmente compilado, faz o trabalho pesado e uma linguagem de script para manutenção / as tarefas de configuração / script parecem muito grandes. Eu não gostaria de passar sem isso, certamente.
fonte
Você tem uma pergunta muito interessante:
Eu não acho que qualquer programador deva ser um "especialista" em uma linguagem específica. Acredito que, como programadores, devemos ser especialistas em programação, projetar algoritmos, pensar em etapas claras, mas uma linguagem de programação é algo que você acabou de aprender.
Um programador "bom", por bom, quero dizer, que lida com projetos de desenvolvimento sem deixar de lado o clássico "nunca trabalhei com isso antes", deve aprender um idioma em menos de 5 dias úteis. Você aprende as melhores práticas, ferramentas e bibliotecas principalmente de 2 maneiras, 1: leitura e 2: trabalhando. Ou você balança a cabeça contra o código ou lê vários livros.
Em alguns anos após a premissa de "Bons programadores escrevem apenas código" sem código C # ou código C ++ ou código Java, você perceberá que depois de aprender a desenvolver programas, a linguagem e as tecnologias não são tão importantes. Claro, você saberá como se mover em C # melhor que o PHP, mas se você aprendeu bem, encontrará o caminho do Python, se for necessário.
Espero que minhas idéias como você!
fonte
Um, mas isso não significa que você pode negligenciar os outros. Você precisa saber o suficiente para justificar por que não os está usando ou conhecer suas limitações, para poder pedir ajuda quando apropriado.
fonte
Eu acho que provavelmente depende da sua personalidade, há pessoas que se divertem cavando nos cantos e recantos de um assunto, e outras que gostam de ter uma visão ampla das coisas. Você provavelmente precisará descobrir que tipo de personalidade você é. Eu não estou colocando um acima do outro, cada um tem seus usos.
Como o primeiro você será o especialista, o guru, o especialista. Como este último, você será de uso mais geral e possível em várias situações, mas possivelmente não se aprofundará ou demorará muito no assunto.
fonte
1. Mas é melhor você ser muito bom nisso.
fonte
1
Aquele na sua frente.
fonte
Como Joel disse no podcast da SO, é melhor conhecer muitos idiomas e saber / quando usar o idioma certo para a tarefa. Há coisas que você pode fazer muito mais rápido em um idioma do que em outro. Eu acho que seria bom conhecer uma linguagem imperativa e uma linguagem funcional, por exemplo. Muitas vezes, aprender uma linguagem mais esotérica ou mais difícil treina seu cérebro para ser um programador melhor em geral.
fonte
Nenhum, pois provavelmente existem alguns programadores que não serão especialistas em nenhum idioma, mas que desfrutam do ambiente diversificado que possuem e usarão vários idiomas, dependendo das circunstâncias, pois alguns podem conhecer algumas tecnologias do lado do servidor, como PHP, ASP.Net em C # .Net ou VB.Net ou Java, algumas linguagens de script do lado do cliente, como JavaScript ou Flash, e isso sem entrar em nenhum hardware usado para colocar aqui as coisas da Web.
Ao mesmo tempo, pode haver alguns programadores que são especialistas em uma dúzia de idiomas ou mais, pois é isso que eles estudam com bastante fidelidade na maioria das vezes, para manter o controle de tudo dentro de cada idioma.
fonte
Um, mas deve ser capaz de ler programas do mundo real não triviais que são escritos em alguns outros idiomas de tempos em tempos. De alguma forma, aquele em que o programador é um especialista é como a língua materna, eles pensam nele, mas aprender e falar outros idiomas é muito bom, pois mostra que o programador pode apreciar outras maneiras de pensar. Se eles conseguem pensar em mais de um idioma tão fluente quanto a língua materna, isso é incrível.
fonte
Esta é uma boa pergunta, mas não acho que exista um padrão. Normalmente, pelo que eu vi, as pessoas são especialistas em uma linguagem de alto nível (C ++, Java etc.) em um ambiente (windows / linux, mac, solaris). Eles conhecem aproximadamente outra linguagem de alto nível, mas não a entendem completamente. (por exemplo, C ++, pessoas de Java se conhecem aproximadamente). Por grosso, quero dizer que eles podem comparar o desempenho de uma tarefa no idioma em que são especialistas e no outro idioma. E então eles são moderados em algumas das linguagens de script. (por exemplo, o pessoal do Linux conhece bash, o Windows conhece VBA, o web conhece PHP).
Para mim, o que importa é o conhecimento básico do algoritmo, além da linguagem. Se seu básico for bom, há menos chances de errar em qualquer idioma.
Mas sim, às vezes pode ser útil saber qual idioma poderia ser melhor para qual tarefa. por exemplo, o código a seguir é muito mais rápido em pascal do que em C.
strcat (A, "Olá"); strcat (A, "Palavra"); strcat (A, "eu digo oi!");
Isso ocorre porque Pascal salva o comprimento da string no primeiro local e, portanto, é fácil pular para o último local. Em C, a terminação da string é '\ 0' e, portanto, você precisará atravessar a string inteira para a operação strcat.
fonte
Depende do ambiente em que você está programando. Em um trabalho anterior, a maior parte do meu trabalho foi em Perl; durante o meu tempo lá, fiquei bastante proficiente nisso. Agora trabalho em um local que possui programas herdados em três idiomas que mal conheço a sintaxe; É esperado que eu os mantenha além do meu trabalho em novos projetos. Agora sou menos mestre em qualquer linguagem, mas acho que senti melhor a programação . Aprendi a pensar de maneira mais abstrata, ver primeiro o quadro geral e depois procurar a sintaxe e as bibliotecas para preencher os detalhes.
fonte