Nos meus poucos anos de programação, eu brinquei com tudo, desde Ruby até C ++. Eu fiz tudo, desde apenas aprendendo a sintaxe básica (Ruby) até a conclusão de vários projetos importantes (para mim) que ampliaram minhas habilidades com o idioma. Dada essa variedade (e o fato de realmente aprender um idioma nunca parar), quando posso dizer que conheço (ou aprendi) um idioma?
programming-languages
SomeKittens
fonte
fonte
Respostas:
Em que momento você pode dizer que "aprendeu" um idioma como inglês ou francês? Acho que a maioria das pessoas aceita que você aprendeu um idioma quando pode usá-lo para se comunicar. Você não precisa conhecer todas as palavras ou entender todos os idiomas, mas deve conhecer a maioria do subconjunto (bastante pequeno) do idioma que as pessoas usam nas conversas diárias. Tendo "aprendido" um idioma nessa extensão, você pode continuar aprendendo mais ao usar o idioma diariamente e se expor a cada vez mais. Quando você morre, você ainda não sabe tudo o que há para saber sobre o idioma, mas ninguém dirá que você nunca "aprendeu" o idioma.
Acho que é assim com linguagens de computador. Você pode dizer que "conhece" uma linguagem como C ++ ou Ruby quando pode escrever programas úteis nela. Se você precisar quantificar o grau em que conhece o idioma, use os mesmos termos que usaria para um idioma humano. Diga "Conheço um pouco de C ++" ou "Conheço C ++ de conversação " ou "Sou fluente em C ++" para dizer que você sabe o suficiente para entender, o suficiente para realizar tarefas úteis ou que é um especialista, respectivamente.
fonte
using
em C # oub, a = a, b
geradores em python. Caso contrário, +1.Depende de quem está perguntando
A pessoa que pede propensamente tem uma certa idéia de qual nível de habilidade é esperado de alguém que diz que "aprendeu um idioma".
Basicamente, encontrei duas escalas arquetípicas, pelas quais as pessoas julgam a resposta à pergunta "você aprendeu X?"
Para a maioria dos nerds, é uma questão complicada eliminar os posudos. Isso já é demonstrado pelas outras respostas à sua pergunta;). Se você diz que aprendeu, falha ao ver o escopo da tarefa, que é implicitamente "perfeição" e, muito pior: falha na humildade.
Para a maioria dos chefes, você "aprendeu", se conseguir resolver os problemas deles , um critério muitas vezes já será atendido se o código for compilado. Responder sua pergunta de maneira humilde o levará a atribuir a tarefa a um posudo que também pode ser um parente.
Então, qual é o seu público?
fonte
Eu acho que as pessoas estão se concentrando na finalidade da palavra "aprendido" sendo tenso perfeito, significa que você terminou de aprender. E como todos observaram, as linguagens de programação são entidades vivas, assim como as linguagens faladas. Por exemplo, alguém que tivesse domínio completo do C # 2 examinaria o C # 3 com LINQ, Lambdas,
var
palavra-chave, inicializadores de objetos / coleções e métodos de extensão e descobriria que muita coisa mudou em relação ao que aprendeu na versão anterior. O mesmo está acontecendo com o C # 4 comawait
,async
keywords e outras novas construções de linguagem.E estamos apenas falando de sintaxe aqui. Esquecemos que a maioria dos idiomas está emparelhada com uma estrutura . O C # possui a estrutura .NET, o Java possui sua própria estrutura, assim como Ruby, C ++, PHP e PERL. Pense na estrutura de uma linguagem como o vocabulário e a própria linguagem é apenas sintaxe. Conhecer o idioma significa que você sabe como fazer uma frase no idioma. Conhecer a estrutura significa que você pode se expressar bem no idioma. Por fim, depois de conhecer a sintaxe e o vocabulário, você precisa aprender os idiomas para escrever o código como um "falante nativo".
Eu diria que existem vários níveis de aprendizado.
fonte
await
é do C # 5, a principal novidade do C # 4 foidynamic
.Você raramente pode dizer que aprendeu um idioma. Isso implica que você terminou de aprender sobre isso, o que é ... tolice.
Dizer que você conhece um idioma é bom quando você pode escrever um código que não está quebrando expressões idiomáticas no idioma (talvez depois de uma semana desbotando o conhecimento) sem se referir a uma referência de sintaxe.
fonte
Este é mais um fator baseado em opinião. Em todos os termos técnicos, "Aprendido" significaria ter um conhecimento completo, pois é esperado que você conheça TUDO do idioma.
No entanto, no mundo da programação, acredito que é mais sobre se você pode programar fluentemente na linguagem para concluir um objetivo / tarefa. Provavelmente também significa se você está confortável com o idioma. Claro que você pode sair e se formar depois de anos e anos de faculdade, mas isso é apenas para ser notado? Você define quando pode dizer que aprendeu um idioma.
fonte
Quando você começa a perceber suas falhas. Depois que você começa a aprender um idioma, normalmente ainda está ocupado aprendendo agora a fazer coisas ou está muito envolvido nele para perceber onde ele falha (é claro, isso é a menos que você comece a aprendê-lo de um ponto de vista negativo, apenas para ver o quanto é pior (se compara ao seu idioma favorito até agora). Eu diria que você realmente não conhece um idioma até estar ciente das áreas em que ele falha.
fonte
Minha resposta pessoal para isso é quando,
A partir daí, eu não chamaria isso de aprendizado, mas de domínio.
fonte
No momento em que seu aplicativo ou componente pode ler e-mails, ou seja, a lei de Zawinski , que declara:
Isso foi atualizado quando o RSS se tornou popular em "... pode ler feeds RSS" e provavelmente poderia ser atualizado atualmente em "... pode ler feeds do Twitter". ;-)
fonte
Eu acho que você aprendeu um idioma quando não o vê. Você não vê os ciclos de acesso e dados, mas o fluxo de trabalho do algoritmo.
Você não faz truques com a passagem de parâmetros e processamento de array, macros mágicas. Você não pensa no seu código como um material de autopromoção para mostrar a seus amigos e professores, mas para expressar sua compreensão de um problema e sua vontade para com o computador da maneira mais legível.
Você tem hábitos que ajudam a evitar muitos erros apenas seguindo-os, como: use {} blocos de código e () em expressões mesmo se tiver certeza absoluta de que "será apenas uma linha" ou "Não sou bobo e sei ordem de precedência do operador ".
Você para de contar quantas classes, padrões e APIs de estrutura você conhece. É para isso que serve o intellisense, as referências e os tutoriais, e o Google. Mas quando você olha para um problema, você sabe imediatamente quais partes ele pode ser dividido e com quais ferramentas e algoritmos você os resolverá.
O que você faz funciona é elegante e pequeno . Você gosta de codificar e encontra facilmente seus erros. Sim, os mestres também cometem erros porque são humanos - mas eles os encontram rapidamente porque sua estrutura de código os leva ao lugar certo.
E finalmente perceba: você aprendeu a pensar, analisar e resolver problemas; comparado a eles, o idioma real é secundário, apenas a caixa atual de regras e ferramentas.
fonte