Aprender a programar significa não apenas desenvolver uma habilidade útil, mas também adquirir um tipo especial de pensamento. Os programadores são bons em resolver problemas matemáticos e lógicos. Eles também prestam atenção aos detalhes, simulam situações na vida cotidiana e fazem uma avaliação com base em um grande número de fatores.

Antecipando nosso curso
Go Workshop , dizemos que psicólogos, linguistas e educadores pensam sobre os efeitos da codificação no cérebro e o que os índios australianos e a hipótese de Sepir-Whorf têm a ver com isso.
Nos anos 30 do século passado, apareceu a teoria da relatividade linguística, nomeada por analogia com a descoberta de Einstein. Diz: a linguagem define consciência, ou seja, as pessoas percebem o mundo de maneira diferente, porque as categorias lingüísticas da língua nativa impõem restrições e até determinam o pensamento.
Essa idéia foi formulada por Edward Sepir e seu aluno Benjamin Wharf, mas eles estavam errados. Qualquer ideia pode ser transmitida em qualquer idioma. Eles atribuíram a enorme influência nos processos cognitivos a diferenças simples na gramática, mas o conceito também continha um grão saudável. Guy Deutscher em seu livro Through the Mirror of Tongue explica quais:
“Se idiomas diferentes influenciam o pensamento de seus falantes de maneira diferente, o ponto não é que cada idioma permita que seus falantes pensem, mas as partes do significado em que cada idioma geralmente faz você pensar. Quando uma língua obriga seus falantes a prestar atenção em certos aspectos do mundo ... esses hábitos de fala podem eventualmente se tornar hábitos de pensamento com consequências para a memória, percepção, associações e até habilidades práticas. ”
A verdade está em algum lugar ao norte
Foi provado de forma convincente que o sistema de gênero dos substantivos influencia as séries associativas, forçando a dotar certos objetos inanimados de características imaginárias femininas ou masculinas.
Um efeito semelhante está associado a diferenças na sensibilidade a tons de cores, para os quais o idioma tem um nome.
Mas essas são triviais em comparação com o fato de que a linguagem pode formar habilidades. Isso foi revelado durante o estudo de uma das línguas dos aborígines australianos. Em vez das habituais “frente” e “costas”, “esquerda” e “direita”, eles usam apenas pontos cardeais para indicar a direção.
Pode parecer uma farsa, mas se um falante nativo dessa língua solicitar que você abra espaço no banco, isso soará como "mude para o leste, por favor". Se, ao mesmo tempo, você estiver lendo um livro, sentado de frente para o sul, e o nativo desejar que você vire algumas páginas para a frente, ouvirá "virar mais para o oeste". Se você virar para o norte, a solicitação será diferente - você será solicitado a virar para o leste.
Para falar esse idioma, você deve monitorar constantemente a localização dos pontos cardeais, que formam uma memória geográfica e não requerem controle consciente de um senso de direção. Portanto, o aprendizado profundo de línguas é mais do que apenas conhecimento de gramática e vocabulário.
O estudo da influência da linguagem no pensamento acaba de começar, mas estudos semelhantes sobre linguagens de programação já estão em andamento, que não apenas o nome se refere às naturais.
Programação ≥ Fala
Ao contrário dos estereótipos, na programação os mais importantes não são habilidades matemáticas, mas linguísticas. Isso foi em 1982 em seu Etudes for Programmers, de Charles Wesrel. Ele chamou a atenção para as habilidades verbais como um aspecto importante da personalidade de um programador de sucesso, tendo em mente a capacidade de trabalhar com a gramática das linguagens artificial e natural.
Suas observações são confirmadas.
Estudos estatísticos
revelaram uma correlação entre programação e altas habilidades linguísticas. Observações diretas da atividade em diferentes áreas do cérebro, com a ajuda da ressonância magnética,
estabeleceram que, enquanto trabalhava no código, as mesmas partes do cérebro responsáveis pelas línguas naturais são ativadas.
Não surpreende que muitos programadores considerem a hipótese de Sapir-Whorf aplicável ao seu trabalho. Opiniões semelhantes foram realizadas por Kenneth Iverson, criador da APL. Yukihiro Matsumoto admitiu que ao desenvolver Ruby, ele foi inspirado no romance "Babel-17", baseado na hipótese de relatividade linguística.
Motivos semelhantes são desenvolvidos
no ensaio de Paul Graham "Conquistando a Mediocridade", em seu paradoxo "Blub", segundo o qual um programador que domina uma linguagem e resolveu todos os problemas com ela não entende o valor de ferramentas mais eficazes de outras linguagens de programação, percebendo-as como algo estranho incomum e desnecessário.
A primeira tentativa de resumir os dados disponíveis sobre o impacto da programação nos processos cognitivos foi feita em 1987
na edição de maio da Educational Computing Research .
Em seguida, os pesquisadores notaram que a programação com suas várias tarefas pode afetar positivamente a capacidade de resolver problemas estrategicamente, a capacidade de lógica formal, habilidades de modelagem e estilos cognitivos, mas não chegaram a conclusões inequívocas e conclusivas devido à falta de dados.
Outros seis anos se passaram antes que as estatísticas fossem coletadas, o que possibilitou concretizar idéias sobre o impacto da codificação no pensamento. É apresentado
em uma metanálise de 65 estudos sobre os efeitos da programação nos processos cognitivos , publicados em 1991.
Verificou-se que, na maioria dos casos, a programação tem um efeito positivo em várias habilidades cognitivas que se correlacionam com a duração do estudo da linguagem de programação e o sucesso nela. "As implicações de aprender uma linguagem de programação vão além do conteúdo de uma linguagem de computador específica", dizem os cientistas. Com a capacidade de programar, as habilidades de planejamento, a capacidade de criar raciocínio, pensamento lógico e habilidades gerais para resolver problemas usando programas de computador são aprimoradas.
Estudos comparativos do impacto de várias linguagens de programação nos processos cognitivos continuam. Uma doação de US $
750.000 foi alocada para analisar o conteúdo dos repositórios on-line do Github e BitBucket, perguntas e respostas publicadas no StackExchange. Segundo eles, o
Laboratório de Conhecimento e o
Departamento de Psicologia da Universidade de Wisconsin Madison restaurarão a “história natural” das linguagens de programação e acompanharão com que frequência e com que finalidade cada uma delas é usada.
Até 2020, os pesquisadores planejam descobrir como os recursos específicos das linguagens de programação afetam o número de caminhos e a velocidade de solução de vários problemas, analisando quão bem uma determinada linguagem é adequada para a programação coletiva.
O projeto tem uma tarefa ambiciosa: fornecer informações sobre quais idiomas escolher para projetos específicos e descobrir como essa escolha afeta a maneira como os desenvolvedores pensam e trabalham.
Mais que habilidade
Além das habilidades de programação, o aprendizado de idiomas forma o hábito do que o matemático, psicólogo e programador Seymour Papert chama de "pensamento computacional" em seu trabalho.
Este é um
conjunto flexível de habilidades destinadas à resolução de problemas algorítmicos , o hábito de usar complexamente abstração, decomposição, avaliação, pensamento lógico, precisão e o hábito de observar detalhes na vida cotidiana.
O conceito de pensamento computacional ganhou autoridade na pedagogia, formando a base de muitos programas educacionais, mas, com o passar do tempo, como esperado nos anos 80 do século passado, sua influência se
espalhou muito além de faculdades e universidades .
Usando uma metodologia de programação, uma grande variedade de problemas é resolvida com sucesso. Um exemplo disso não é apenas a modelagem computacional, a coleta de big data, a introdução de sistemas automatizados e o sucesso da fintech.
O pensamento computacional é aplicável e útil na vida cotidiana e para profissionais que estão longe das tecnologias de TI. Aprender programação ajuda a encontrar novas abordagens e soluções, não importa o quê. Seja física, biologia, química, sociologia, pedagogia, negócios ou saúde.
Então, surgindo o conceito de altruísmo eficaz, começou a busca pelas estratégias de caridade mais eficazes. Graças a esses estudos, verificou-se, por exemplo, que na luta contra a malária é mais eficiente doar dinheiro para
redes mosquiteiras do que medicamentos caros.
Outra consequência do pensamento computacional é a ideia de usar
ferramentas para análise matemática de transações
de troca e big data para resolver o problema de seleção de doadores de órgãos. Como resultado
, um projeto foi
desenvolvido para o complexo e ao mesmo tempo confiável e eficaz sistema de troca de rim de doador "na cadeia" para os EUA, para o qual o professor da Universidade de Harvard Alvin Roth recebeu o Prêmio Nobel em 2012.
No contexto de novas pesquisas, aprender uma linguagem de programação não é apenas adquirir uma habilidade, mas também uma maneira de dar uma nova olhada na vida e lidar com os desafios que ela apresenta.
Muito em breve, o curso
Go Workshop começará no Distrito Binário - um excelente começo para programadores iniciantes e uma continuação lógica para aqueles que já enfrentam o projeto de seus próprios serviços web.