Escrevo bastante PHP há quase dois anos. Agora estou desenvolvendo .NET (principalmente c #). No entanto, às vezes eu volto e faço php.
Minha principal pergunta é: é aconselhável continuar fazendo isso ou devo continuar o desenvolvimento em c #? Isso me prejudicaria a longo prazo (lembre-se de que meu principal objetivo não é ser o melhor de todos os negócios) ou é uma boa prática fazer isso?
Respostas:
Usar dois idiomas ao mesmo tempo não é nada. Não é incomum os programadores usarem vários idiomas diferentes todos os dias. Tarefas diferentes e tecnologias diferentes requerem idiomas diferentes.
Só hoje, eu já usei quatro ou cinco línguas diferentes, e isso é interessante porque eu haven'd feito qualquer programação até agora. Tudo o que fiz foi trabalhar em uma apresentação.
Como um bom programador é essencialmente necessário que você sabe o caminho de volta em várias línguas, ea única maneira de alcançar (e, em seguida, preservando) fluência razoável é por usando esses idiomas.
fonte
É uma excelente prática. Além disso, eu recomendaria expandir sua lista de idiomas regularmente, experimentando um novo.
Idiomas e tecnologias entram e saem de graça muito rapidamente, em questão de alguns anos. Por exemplo, o Objetivo C decolou com uma força incrível depois de estar quase morto por duas décadas e meia - uma eternidade para os padrões dessa indústria!
Não importa muito que você esteja planejando "não ser o melhor de todos os negócios": se você planeja permanecer no setor por tempo suficiente, é muito seguro assumir que você precisaria mudar sua pilha de tecnologia pelo menos uma vez ao longo de sua carreira. Agora, o uso de vários idiomas mantém você preparado para ativar um aviso razoavelmente curto.
fonte
Conhecer dois ou mais idiomas nunca faria mal a você. Conhecer seus idiomas muito superficialmente (sem entender o funcionamento interno) pode prejudicá-lo.
Minha preferência pessoal sempre foi dominar primeiro uma linguagem de programação orientada a objetos . Isso forneceria um aprendizado aprofundado de todos os conceitos de programação, além de facilitar a aprendizagem do próximo, quando houver necessidade.
Absolutamente sim!
Eu sugeriria definitivamente aprender mais de um e praticá-los criando alguns aplicativos. Enquanto isso, você também pode planejar aprender algumas linguagens de script (jQuery, KnockoutJs etc.) e bibliotecas, se estiver fazendo ou planejando fazer desenvolvimento na Web.
fonte
Não deve prejudicá-lo a longo prazo, ser proficiente em vários idiomas o torna um desenvolvedor completo. Usar "a ferramenta certa para fazer o trabalho certo" é o objetivo final e ser versado em diferentes idiomas ajuda a alcançar isso, pois você sabe o que mais existe e pode tomar uma decisão bem informada sobre qual plataforma / estrutura / idioma usar para faça algo.
fonte
Ao longo de sua carreira, você terá que aprender novos idiomas e novas tecnologias; a indústria simplesmente exige isso. Na minha primeira tarefa profissional, tive que entregar o código escrito em Ada, C e Fortran, juntamente com alguns scripts SQL e shell. Eu tive que mudar de C ++ para Java e voltar nos últimos dois anos. Eu escrevi scripts shell em csh, bash e perl.
Dedicar tempo para aprender idiomas diferentes, especialmente se eles estiverem em domínios diferentes (OO, funcional, lógico etc.), ajudarão você de várias maneiras. Isso manterá seu cérebro afiado. Isso o ajudará a separar conceitos da implementação (por exemplo, hashes e mapas não são apenas tipos de dados em um idioma específico). Isso lhe dará uma idéia melhor de quais ferramentas são apropriadas para um determinado problema (por exemplo, eu não criaria um site em C nem escreveria um driver de dispositivo em Haskell). Pode ser mais fácil encontrar um emprego ("Ei, ele já conhece o Intercal 1 , não precisamos treiná-lo!"). Isso lhe dará uma idéia de quais desafios os designers de linguagem enfrentam. Isso pode inspirar você a criar sua própria linguagem de programação.
No mínimo, evitará que você fique entediado.
1. Piada. Não tente aprender Intercal.
fonte
As pessoas que se aposentaram este ano começaram suas carreiras antes que o C fosse criado. É seguro dizer que você pode mudar as linguagens de programação uma ou duas vezes na sua carreira. Você não quer trabalhar para empregadores que não entendem isso.
Quando você é novo, a alternância de contexto entre dois idiomas é muito mais difícil, portanto você será mais produtivo se trabalhar pelo menos 4-8 horas em um idioma antes de alternar. Mais tarde, você poderá alternar instantaneamente sem perda de produtividade. Em outras palavras, o uso de dois idiomas acabará se tornando uma força, em vez de torná-lo mais lento.
fonte
Há uma vantagem e uma desvantagem nisso.
Aqui está a vantagem ...
Como outros mencionaram, ser capaz de aprender novos e trabalhar com muitas linguagens e ferramentas de programação é quase essencial para ter uma longa carreira em programação. As coisas mudam ao longo dos anos, as ferramentas / idiomas vêm e vão. Claro, existem algumas pessoas que se contentam em programar no mesmo COBOL de mainframe usado nos anos 80, mas essa é uma situação relativamente rara. A maioria dos programadores acaba trocando ferramentas / idiomas várias vezes ao longo de sua carreira. Às vezes, você pode ser contratado porque conhece alguma tecnologia mais antiga ou conhece todos os idiomas com os quais a empresa está trabalhando.
A desvantagem é ...
Alguns empregadores o verão como um "valete de todos os negócios, mestre de nenhum" e rejeitarão sua inscrição sem lhe dar uma chance. Eles estão procurando por um especialista restrito em uma área específica, e não apenas um bom programador, bem-arredondado. Às vezes, você pode ser cortado pelo RH porque não possui "5 anos de experiência contínua em [X]". Você pode evitar isso adaptando seu currículo de acordo com o trabalho, mas isso pode não ajudá-lo em uma entrevista técnica.
Para mim, a vantagem é muito melhor, mas você precisa estar ciente de que uma minoria de organizações vê isso como negativo.
fonte
Quando você estava desenvolvendo PHP, você escreveu javascript ou SQL? No seu desenvolvimento em C #, você ainda pode estar usando os dois. Não é tão fácil de cortar e secar como usar uma linguagem de programação.
Se você está feliz fazendo isso, não se preocupe. Se você não quer fazer as duas coisas (ou qualquer), então você tem um problema.
fonte
Aprender uma nova linguagem de programação ensinará coisas sobre programação que você pode aplicar às linguagens que você já conhece. Definitivamente, você deve considerar pelo menos brincar com alguns outros idiomas, mesmo que não os use profissionalmente, em vez de apenas ter poucos.
Idealmente, uma abordagem muito diferente das que você já conhece.
fonte
Não, não há nada errado em aprender vários idiomas e usá-los com bastante frequência. No meu dia-a-dia, posso encontrar Ruby, PHP, JavaScript, CoffeeScript, Python e, ocasionalmente, C. Conheço todas essas linguagens razoavelmente bem, e ir de uma para outra apenas liga um interruptor no meu cérebro. Claro que sinto falta de recursos de alguns idiomas quando vou para outro, mas você superará isso.
Eu tento sempre ter um idioma que estou aprendendo em profundidade e depois outro como um "pronto para o futuro". Dessa forma, você sempre tem um objetivo educacional claro e depois algo no horizonte. No momento, Ruby é minha língua principal e estou experimentando o Go. Provavelmente nunca vou conseguir um emprego como desenvolvedor Go, mas aprender um novo idioma tornou um desenvolvedor melhor.
Quando entrevisto um desenvolvedor, sempre gosto de ver alguns idiomas diferentes em seu currículo. Se um desenvolvedor tiver "C / C ++" ou "PHP e Javascript" em seu currículo, parecerá muito menos interessante do que alguém com uma compreensão firme de 4 ou 5 idiomas. Certifique-se de se sentir confortável em qualquer idioma listado, qualquer coisa no seu currículo é um jogo justo na entrevista!
Resumindo: o uso de vários idiomas regularmente é um sinal de um bom desenvolvedor que se preocupa com seu ofício. Continue codificando!
fonte
Ao analisar currículos, geralmente procuramos alguém que conheça vários idiomas. Além disso, à medida que a experiência de uma pessoa aumenta, o número de idiomas usados também deve aumentar.
Em nosso ambiente, muitas vezes precisamos enfrentar problemas novos e interessantes e estamos procurando pessoas que estejam dispostas a entrar e resolver esses problemas, independentemente de precisarem aprender um novo idioma ou não. O problema pode estar no código em execução em uma área de trabalho do Windows, em um servidor Windows, em um servidor Linux ou em um navegador.
Conhecer vários idiomas é um sinal de alguém com uma boa atitude em relação ao seu ofício. Eles querem sempre aprender coisas novas, assim o fazem. A falta de conhecimento de vários idiomas é um sinal para mim de que uma pessoa apenas faz o mínimo necessário e não está interessada em aprender.
fonte
Sempre foi o caso das pessoas programarem usando mais de um idioma. Quando as pessoas usavam o Assembly, elas tinham que usar uma nova linguagem Assembly toda vez que mudavam de arquitetura.
Quando as pessoas fazem COBOL ou Fortran, elas também fazem RPG e / ou JCL.
No Unix, as pessoas trabalhavam com scripts C, sed, awk, shell e praticamente tudo na pia da cozinha do Unix (quase todas as ferramentas de linha de comando do Unix são próprias, com DSL especial).
No DOS, as pessoas estariam programando no Turbo Pascal ou C, além de scripts em lote. Mais tarde, quando o Windows chegou, era o VB ou algo parecido com o PowerBuilder, juntamente com o SQL e, possivelmente, scripts de instalação em lote.
Hoje em dia, é de fato que as pessoas "trabalham" com mais de dois idiomas em um determinado dia (e por "trabalho" quero dizer codificação cotidiana real ou conhecimento de trabalho). Java ou C # ou VB misturado com JavaScript e SQL, no mínimo. Em seguida, outros idiomas entram em cena para scripts de lote / trabalho e similares. Então, para cada idioma, você tem uma estrutura que implementa uma DSL interna, uma mini-linguagem por si só.
Portanto, não é apenas benéfico trabalhar com mais de um idioma, mas é necessário. Não há como construir um sistema moderno e complexo com uma única linguagem (e por "construir" não quero apenas codificar algumas porcarias que são compiladas, mas construir algo com um design decente.)
Heck, eu vou sair do galho e dizer que espero que as crianças na faculdade sejam proficientes em dois ou mais idiomas, se levarem a sério essa profissão.
Então, com relação à sua pergunta:
Portanto, resposta curta, não, usar ou alternar entre idiomas não fornecerá as informações necessárias. Conhecer mais de um idioma não fará de você um homem de negócios, e não há como um desenvolvedor se tornar um especialista por não conseguir usar mais de um idioma.
fonte
Quanto mais você comparar com referência ao (s) idioma (s) principal (s), melhor entenderá as vantagens e desvantagens do design, tornando-o particularmente forte ou fraco em certas coisas e aproveite / compense essas coisas. Domine pelo menos um, mas não se preocupe em ser um valete de muitos outros. Isso só parece bom.
É melhor perguntar como é o currículo com apenas um idioma listado pelos desenvolvedores "seniores". A resposta para essa pergunta é: "Não estou muito interessado no que eles fazem da vida".
fonte
Dois idiomas podem ajudá-lo ou não - isso depende. Não vai prejudicá-lo, isso é certo. Muitos desenvolvedores tendem a pensar que usar algo diferente da 'linguagem principal' é pura perda de tempo, mas eu discordo totalmente. Aprender outro idioma (e usá-lo) é um benefício puro: oferece uma perspectiva diferente de como resolver problemas. Pode acontecer que você comece a usar um dos idiomas para tarefas específicas o tempo todo (como aconteceu comigo depois que tive a chance de aprender e usar o Python).
fonte
Nesta situação, você não está perguntando sobre a mudança de JAVA para C # e vice-versa o tempo todo. Em vez disso, você usa C # e PHP, o que realmente não é grande coisa.
Suponha que você queira fazer algumas coisas baseadas na WEB em que esteja usando uma pilha WAMP (Windows / Apache / MySQL / PHP) e C #. Você usa o C # para escrever alguns serviços baseados em SOAP e, em seguida, usa o PHP para consumi-los.
Isso parece totalmente aceitável para mim.
Enfim, é bom conhecer mais de um idioma. Quanto mais você souber, melhor. Bibliotecas PHP / C # / Java / Python / javascript [JQuery por exemplo]. Seja útil para o maior número possível de pessoas.
fonte