Aprender muitas linguagens de programação
que está gradualmente se tornando mais fácil, se você sabe várias linguagens de programação. Em outras palavras, como você aprender novos idiomas, aprender um novo torna-se mais e mais fácil. Você pode acelerar este processo diferentes tipos de aprendizagem de línguas.
passos
1
Saiba um pouco sobre a estrutura de dados e algoritmos. Não aproveitar que você sabe tudo o que há linguagens de programação em todo o mundo, se você não sabe nada sobre algoritmos e estruturas de dados. Estas são ferramentas que transcendem língua, plataformas e ferramentas de desenvolvimento para aprender mais tarde. Por exemplo, você não muito saber como classificá-los, embora seja muito provável que utilizar procedimentos de biblioteca para classificá-los na maioria dos idiomas.
- Ter conhecimentos básicos da lógica, matemática e língua também é muito útil, mas não essencial.
2
Saiba mais sobre os diferentes tipos de linguagens.
Você deve saber as diferenças entre os comandos de sistemas de arquivo e idioma. Isto costumava ser mais importante do que é agora: muitas pessoas estão usando linguagens de programação como Python, Ruby e javascript (ECMAScript) para programas com um conteúdo mais amplo e complexo, enquanto que as plataformas API (interface de programação de aplicativo) é ele está se tornando uma variedade de idiomas.Você deve ser capaz de diferenciar os diferentes tipos de sistemas.O que saber antes Debatendo Tipo Sistemas Dá-lhe uma explicação melhor.Saiba a diferença entre programação e montículo pilha programação.Saber diferença entre passar parâmetros por valor e por referência.Aprender os diferentes tipos de programação, tais como programação estruturada, orientada a objetos, funcional e processual. Uma linguagem dada geralmente se concentram em um desses tipos de programação, mas alguns tendem a combiná-los.Saber a diferença entre a execução de código compilado, o código interpretado, o código compilado, compilado em tempo de execução e código de máquina virtual código. Estes podem ser realizados em várias formas e permitem ou requerem vários tipos de programação. Saber quando usar uma máquina virtual e usar um código naturalmente durante a execução pode fazer a diferença entre o fracasso ou o sucesso de um projeto.3
Usar linguagens que permitem que você insira caracteres diferentes e estilos de programação.
comumente Você vai notar que, para um determinado estilo de programação é uma linguagem pura, mas muito improvável que ele pode ser usado para aprender que o estilo de Programação- também ser uma língua muito mais prático você pode usar na vida cotidiana. Para se tornar um especialista em aprender linguagens de programação vale a pena aprender algumas destas línguas puras (investigação), desde que eles podem ajudá-lo quando você está aprendendo de uma forma mais rápida línguas práticos.Por exemplo, você pode aprender em Smalltalk de programação orientada a objeto. Você não pode criar muito neste programa, mas este foi um dos primeiros tipos de OOP. Rubi ainda tem algumas das características de Smalltalk e ainda tem uma língua muito prático que pode ser utilizado para uma grande variedade de tarefas de programação. Java, C # e linguagens C ++ são de alto nível de serviço de assistência técnica para OOP.Para idiomas que usam interfaces, você pode usar Java, C # ou C ++. Python, C ++ e outras linguagens permitem herança múltipla, enquanto Scala usa caracteres, uma interessante combinação de interfaces, diferentes sequências e abstrato.Para objetos de programação baseadas em protótipos orientada, utilize HavaScript (ECMAScript). O javascript não tem aulas, mas protótipos. A linguagem com que os começos e de programação baseadas em protótipos é uma linguagem original e individual. ActionScript, Lua e REBOL pode ser usado para este tipo de programação.Você pode considerar aprender Haskell OCalm ou, no caso da programação funcional. Estes são linguagens estáticas, tais programação funcional. Para um pouco de línguas mais práticas que você pode optar por Scala (na Máquina Virtual Java) ou F # (online).Se você quer lidar com um programa de linguagem que é muito dinâmico, você pode usar Ruby, Python, Perl ou Lisp. O tipo de sistema em línguas varia muito de outras linguagens como Java ou C. Vale a pena usar esses tipos de linguagem para ver o tipo de coisas que você precisa para agendar quando você tem esse tipo de sistema - técnicas de teste de unidade de metaprogramming , digitação de dados dinâmica (digitação pato), entre outros.Tentar lidar com linguagens específicas, estas são línguas projetados para objetos ou línguas de abstração projetado principalmente em um programa que já existe específicos, para expressar alguns dos grupos específicos de funcionalidade. Entre estes estão SQL, XSLT, FreeMarker, ASO.net, C # LINQ, Scripts Shell, YACC, AWK, SED entre centenas mais. Ruby e Scala podem ser usados para criar linguagens específicas de domínio. Você pode perceber que muitas das linguagens específicas de domínio não são Turing completa.4
Saiba as diferentes abordagens de simultaneidade.
A simultaneidade é um problema muito difícil nesta área e muitos dos novos idiomas estão criando novas maneiras de escrever rotinas concorrentes. Algumas destas abordagens não podem ser facilmente concebidos bibliotecas, em vez de esta exigir a ajuda do mesmo programa.Threading é o caminho de suporte mais larga para a simultaneidade, mas ao mesmo tempo pode ser difícil de siseñar. Java, C ++ e muitas outras línguas pode ser Enfiar útil, enquanto algumas linguagens como Python e Ruby servir mais ajuda para `os fios processados por uma máquina virtual` que os fios de sistemas de nivelamento verdadeiro. O subprocesación torna-se porque todos os threads requerem acesso ao mesmo conjunto de variáveis globais, que podem levar a condições competitivas e outros problemas semelhantes. Essa é a razão pela qual, foram introduzidas outras abordagens ...Memória transacional pode ser uma solução: Erlang e Clojure são dois linguagem muito diferente que implementar esta especificação.Os atores passagem de mensagens são outra solução vale a pena usar Scala e Erlang para esta finalidade.Você pode ver em Python e eventos máquina Ruby e uma máquina torcida, que fornece links para eventos. Outra maneira possível seria a olhar para Node (lado do servidor), o quadro javascript para projetar eventos laços.Os corutinas são outra forma de resolver os problemas de concorrência: o "Go" linguagem Google é um fato novo inferencial idioma do sistema tipo estática que funciona como C, mas com a sintaxe e simplicidade de Python. Este utiliza várias rotinas de "Go" (IR) e uma implementação de corutinas. Outra língua é projetado no ícone corutinas.Enviar listas é outra possível solução para este problema: No Mac OS X10.6 e com mais capacidade, "Grand Central Dispatch" é uma lista de sistema da Apple, criado para uso em C, C ++ e Objective C. A implementação de código aberto GCD está disponível como libdispatch. A implementação de Java e Scala chamado HawDispatch também está disponível.
5
O programa Código de leitura É uma das melhores maneiras de aprender novas linguagens e mais rapidamente. um monte de código aberto está disponível e uma vez que você ler o código de algumas aplicações, você começa a ver os códigos de boas ou más e desenvolver um gosto por aquilo que você gosta eo que você não gosta. E entender por que certos estilos de programas e paradigmas são bons para diferentes funções.
6
Em primeiro lugar, você deve ter um projeto no qual trabalhar. Geralmente é mais fácil de aprender um novo idioma se você já tem um projeto específico ou uma meta a atingir. Aprender uma nova língua, digitando "Olá a todos" é muito mais difícil do que parece e não implementar verdadeiras competências linguísticas.
7
Você deve saber a diferença entre uma biblioteca e um idioma. Pode ser muito confuso em algumas das línguas de distinguir entre "biblioteca" e "linguagem". Ela também pode causar muita confusão para distinguir "geradores de código" e "linguagem". Quando você aprende uma nova linguagem que é semelhante ao que você conhece, que normalmente dá a este caso aprender a manipular uma biblioteca e idiossincrasias é a tarefa mais longa.
8
Experimente diferentes ferramentas. Algumas linguagens de programação são projetados para funcionar bem com algumas ferramentas em particular. Muitas línguas podem ser escritos com apenas um editor de texto como Vim, Notepad2 ou TextMate, mas trabalhar com uma linguagem Lisp pode ser mais fácil se você usar o Emacs, por causa da ajuda que lhe dá a incorporar contextos REPL. Quando se trabalha em C # ou alguma outra linguagem on-line, o ideal é utilizar o Visual Studio ou MonoDevelop. Quando você usa Java, você pode optar por Eclipse, NetBeans, IntelliJ IDEA e muitos outros. Mesmo escolher sistemas operacionais ou sistema de controle de versão pode mudar a escrita de código.
Não deixe que definem as ferramentas de programação, não deixe que ele se tornar uma obsessão alterar estes. Você pode aprender usando ferramentas diferentes apenas por curiosidade. Frequentemente, as ferramentas que empregam pode retardar o processo e isso não mostra muito até que você compará-lo com uma nova ferramenta. No entanto, alterar o tipo de ferramentas apenas para o benefício do "progresso" pode realmente abrandar tudo, porque os truques e do antivírus ou a inconsistência que tem isso com o processo. Às vezes, as ferramentas velhas e compreensíveis são melhores do que as ferramentas novas e deslumbrantes para escolher só porque eles estão na moda.9
Aprenda com eventos da vida real. Você pode aprender programadores participar de reuniões, conferências, não-conferências Network International (Bar Camps), hackathon dia, grupos de usuários e outros tipos de não-conferências. Ser parte desses grupos pode servir de grande ajuda, mesmo participando de muitas vezes você aplica para novas ideias e identificar novas maneiras de fazer certas coisas. É um benefício que deve ser testado em novos contextos.
10
Use a sua nova linguagem no trabalho. programadores profissionais podem encontrar oportunidades em seu trabalho de usar seus novos conhecimentos em linguagens de programação. Tente não se tornar um evangelista louco, mas você pode jogar com as línguas, uma maneira de encaixar corretamente. No entanto, encaixando um idioma em um projeto onde se encaixa, simplesmente por causa de usar um novo idioma, é apenas uma maneira de falhar. Têm muitas ferramentas em sua caixa sempre lhe dá mais oportunidades e mais flexibilidade.
Por exemplo, enquanto trabalhava em um projeto Java no seu trabalho, o uso de Ruby significa que os arquivos podem ser gravados ordens projetados em Buildr. As bibliotecas de testes que já existem pode ser usado como código de teste para escrever (teste / rubi, shoulda, RSpec, entre outros) e ser feito com a aplicação Java usando JRuby.A linguagem do arquivo de comando pode ser embutido em aplicações existentes que permitem "comando de script" para dinâmica, demorado ou códigos de saída gerada. Ruby, Python, javascript, XSLT e Lua são muito bons candidatos para este processo.O editor-ons, controle de versão de conexão, entre outros geralmente pode ser escrito de forma mais rápida em uma linguagem leve, geralmente cara livre como javascript, Perl ou Ruby em vez de Java ou C.Se você tem que escrever uma interface de front-end para aplicação simples, tente usar uma linguagem arquivo de comando como IronPython ou MacRuby.Se você precisa escrever um motor dorsal final para melhor desempenho do aplicativo, descarta uma das línguas que irão fornecer melhor concorrência suporte: como Erlang, Scala, Clojure e outros.Tenha cuidado: nem todas as empresas de acordo com linguagens de programação não legais. E se tudo der errado, você será visto como um culpado!11
Contribui para o código aberto. Se você não pode comentar sobre o seu novo conhecimento em linguagens de programação em seu trabalho, você sempre pode fazer parte de projetos de código aberto. Existem muitas aplicações engraçadas para ser concebidos para qualquer plataforma (Linux, Windows, Mac, etc.), bem como ferramentas de comando on-line, bibliotecas, recursos de linguagem ou até mesmo um novo estilo de linguagem. Um projeto open source pode ser um ótimo substituto se um projeto personalizado não pode ser encontrada quando você tentar aprender uma nova língua.
12
Aprender coisas novas que têm a ver com linguagens de programação. Aprender um novo banco de dados ou um novo interface de programação de aplicativo a cada ano. Ou melhor ainda, adquire algumas habilidades que não têm nada a ver com a programação. Cook, tocar um instrumento musical ou tirar fotografias profissionais são atividades populares nos círculos do totó do computador. Praticar esportes ou qualquer outra atividade dá-lhe tempo para pensar e ter novas ideias de programação filtrada. Isto é muito importante.
13
Aprender uma língua por ano? O livro sugere que os Pragmatic Programmers deve aprender uma nova linguagem de programação a cada ano. Pode ser um ano longo, mas tentar comprometer-se a aprender gradualmente novas linguagens e acompanhar os novos desenvolvimentos. Mesmo se você acabar usando línguas no trabalho ou em projetos de código aberto, a única conhecê-los torna-lo mais valioso do que qualquer outro funcionário, também têm que a satisfação dentro de você.
dicas
- Algumas linguagens de programação fornecem muitas maneiras de escrever código. Por exemplo, há muitas maneiras de mudar a cor de algo vermelho ou azul com um arquivo de comando C #.