Os bons programadores precisam ter sintaxe na ponta da língua ao escrever código? O que você acha deles se pesquisarem no Google coisas simples online? Eles são bons ou ruins (talvez eles saibam onde procurar)? Os programadores devem ter uma boa memória? Essa é uma característica de um bom programador?
self-improvement
maz3tt
fonte
fonte
Respostas:
Minha filosofia de programação é que é um "estado de espírito" e o resto é "apenas sintaxe". (ou seja, não (como) importante)
Dito isto, não é preciso procurar as coisas simples. Pelo menos, não para os idiomas com os quais trabalha regularmente. Não há nada de errado em precisar de atualizações e saber como encontrar informações é certamente uma boa habilidade para se ter. No entanto, a sintaxe principal deve definitivamente ser bem conhecida. Caso contrário, você gasta muito tempo pesquisando e muito pouco tempo programando.
fonte
Depende do que você quer dizer, mas a resposta curta é sim.
Os programadores vão esquecer um ponto-e-vírgula ou uma chave aqui e ali? Certo. Eles vão procurar a sintaxe de uma instrução switch porque provavelmente a usam raramente? Bem, eu faço. Trabalharei com o ActionScript, mas escrevi como Java? Definitivamente. Pode levar algum tempo para se acostumar a digitar em um novo idioma, especialmente se você trabalha com um idioma diferente há anos.
A verdadeira preocupação deveria ser se um programador não conseguir entender a sintaxe, mesmo com um IDE ajudando-o. Se a pessoa não sabe para que serve um ponto-e-vírgula, ou para que servem esses aparelhos, então há mais estudos a fazer.
fonte
switch
, é seguido por algo entre parênteses, depois um colchete de abertura, depoiscase
com um rótulo que não está entre parênteses, depois dois pontos, depois as declarações normalmente terminadas com ponto e vírgula. E, não vamos esquecer, asbreak
declarações. Foi por meio de esforço e pura força de vontade que eu finalmente o memorizei e ainda tenho que verificar duas vezes; apenas para ter certeza.Eu ficaria surpreso se um bom programador, de outra forma, tivesse que procurar rotineiramente a sintaxe para um idioma em que ele fosse fluente. É claro que pode haver casos extremos que na verdade não se acostumam muito na prática, de modo que seria perfeitamente aceitável para um bom programador não os conhecer, mas, como regra geral, um programador fluente não precisa procurar a sintaxe. Ele / ele tem que procurar funções e classes de bibliotecas :)
fonte
std::string
, por exemplo.Se você está em uma posição em que muda de idioma regularmente ou trabalha em 3 ou 4 idiomas ao mesmo tempo, não há muito o que fazer. Por um tempo, acabei trabalhando em projetos que exigiam troca constante e comecei a me chamar de "programador de referência", tendo que procurar muito mais coisas do que eu preferiria.
fonte
Escrevo C ++ há mais de 15 anos, mas ainda não conheço alguns de seus cantos arcanos sintáticos de cor.
Como você instancia explicitamente um modelo de função novamente? E qual é a sintaxe para especializar parcialmente um modelo que possui um argumento modelo-modelo? E não comece a declarar uma função que retorna um ponteiro para uma matriz de ponteiros para funções que levam matrizes de ponteiros para ...
Eu suspeito que haja no máximo uma ou duas dúzias de pessoas neste mundo (se houver alguma) que realmente conhecem toda a sintaxe do C ++ de cor. E provavelmente todos estão ganhando dinheiro escrevendo frontends de compilador C ++.
fonte
Estou curioso sobre a "sintaxe" do Google aqui.
Minha suspeita (e medo) é que não estamos falando sobre quais parâmetros uma chamada leva (porque a maioria dos IDEs solicitará você lá para que você não os pesquise no Google), mas sim as coisas reais do tipo "como fazer X".
Os IDEs tornaram desnecessário memorizar nomes precisos e listas de parâmetros da maneira que costumava ser necessária, o que deixou muitas pessoas com preguiça, mas tudo bem.
Mas algo que você precisa para o Google? Para mim, isso geralmente não é sintaxe, é apenas algo que você realmente não conhece ou que está familiarmente passando.
É claro que isso não significa que é errado ter coisas com o Google - os idiomas podem ser bem amplos hoje em dia e poucas pessoas sabem tudo, mas eu diria que, se você afirma ser competente com um idioma, o Google deve ser a exceção e não a regra .
Para mim, a menos que você esteja fazendo algo relativamente incomum, ou talvez esteja enferrujado com o idioma depois de um período fazendo algo diferente, se você afirma "conhecer" um idioma, não deve pesquisar no Google mais de 10% das coisas no máximo, e isso deve ser realmente muito específico.
Em referência à idéia de que se trata de ter uma boa memória, não é realmente. É sobre o tipo de sentimento instintivo que você recebe por algo que realmente (e não superficialmente) conhece. Não considero o fato de saber cozinhar uma Melanzane Parmigiana sem receita, um sinal de que tenho boa memória, é um sinal de que entendo como cozinhar esse prato - são coisas sutilmente diferentes.
Além disso, pergunte a si mesmo: você esperaria entrar na cozinha de um restaurante e encontrar o chef constantemente olhando um livro de receitas? Ou para ver o mecânico trabalhando no seu carro folheando o manual Hayes para esse modelo? Se eu visse uma dessas coisas, ficaria muito desconfortável com o quão boa era essa pessoa.
fonte
syntax != api
Minha opinião é não. Não é a sintaxe que é importante, mas a sua lógica para solucionar um problema ou alcançar um objetivo. Se você supõe trabalhar em vários idiomas, é natural que em algum momento você não se lembre da sintaxe exata.
fonte
Sintaxe é apenas a visão sobre a semântica subjacente da linguagem, porque a programação é sobre o uso dos tijolos semânticos subjacentes para criar algo. Se você não entender os conceitos fundamentais que a linguagem usa, não importa o quão bom você memorize a sintaxe, seu código será uma bagunça horrível. Como alguém disse uma vez: "Bons programadores têm um intérprete e um compilador na cabeça". Observe como não há menção à sintaxe, porque não é aí que o trabalho real acontece.
fonte