O desenvolvimento de software aumenta o QI?

O desenvolvimento de software aumenta o QI?

Sim, o software de programação pode aumentar parcialmente o seu QI, pois beneficia diretamente a inteligência lógico-matemática e criativa, que são avaliadas nos testes de QI.

Cérebro de um programador

No entanto, é importante ter em mente que o desenvolvimento de software favorecerá nossas habilidades cognitivas contanto que sejam promovidos em um ambiente de boas práticas e aprendizagem contínua.

Boas práticas de desenvolvimento de software que influenciam sua maneira de pensar

Quando já temos alguma experiência no desenvolvimento de projetos de software, já construímos um modelo mental do que poderia ser um projeto de software ideal. Mas, qual caminho seguir para desenvolver um projeto de software corretamente?

Pode parecer pouco complicado, porque hoje podemos encontrar abundantes informações na internet sobre metodologias para o desenvolvimento de projetos, como SCRUM ou Extreme Programming. Ambos nos fornecem diretrizes que devemos seguir durante o ciclo de desenvolvimento de um projeto, para garantir a organização, observação, estimativa de tempo e / ou trabalho em equipe.

Boas Práticas de Desenvolvimento de Software

Do nosso ponto de vista:

Organizar-se (para ser altamente produtivo) pode ser muito mais difícil do que aprender a programar (pra quem está começando), ou dominando uma nova tecnologia, já que o difícil mesmo é desenvolver projetos de forma estruturada, maneira precisa e, acima de tudo, fácil de ler.

Albert Einstein disse uma vez:

Se você não consegue explicar de maneira simples, não entende bem o suficiente. Albert Einstein

Isso se aplica a qualquer área de aprendizagem, por exemplo, especificamente no desenvolvimento de software, se não formos capazes de simplificar nosso código e organizá-lo de forma que um terceiro possa entender nosso projeto, não estamos fazendo isso bem.

Nesse sentido, através da prática, devemos alcançar moldar nossa maneira de pensar e fazer as coisas. Além disso, leve em consideração as diretrizes e diretrizes fornecidas por diferentes estruturas, metodologias e / ou recomendações de especialistas aplicadas aos nossos projetos. No entanto, não é aconselhável nem eficiente seguir à risca tais orientações, uma vez que devemos ser flexíveis e não rígidos.

Programação de Bob Esponja e Patrick

A seguir, descreverei 2 boas práticas de desenvolvimento de software que você deve levar em consideração na realização de seus projetos e que tenho certeza que acabará mudando sua forma de pensar.

Simplicidade

Torne o seu código o mais simples possível!

Não é novidade dizer que um dos maiores problemas da computação é a complexidade. Portanto, simplicidade é talvez a qualidade mais importante e valorizada no mundo do software.

Com o tempo, os computadores se tornaram indispensáveis ​​em nossas vidas e causaram uma mudança muito importante na sociedade. Em suma, os computadores são úteis porque nos permitem fazer mais com menos, ou seja, fazer muitas tarefas usando menos recursos humanos.

Vamos imaginar que uma pessoa deseja fazer todas as operações que um computador faz durante um ano. Provavelmente, levaria os anos que lhe restavam de vida, e isso é que o valor real de um computador é sua velocidade e precisão. E isso é ótimo!

No entanto, não poderia ser tão perfeito, porque os computadores têm uma grande falha: eles sempre têm falhas. Talvez ainda não tenhamos conhecimento do número de vezes que eles costumam apresentar um defeito de software. Se alguma coisa usada com frequência estivesse tão defeituosa quanto um computador, tenho certeza de que já teríamos nos livrado dela.

Falhas de computador

A maioria, senão todas, das pessoas que conheço sofrem pelo menos 1 dano por semana, se não mais. Eu poderia dizer que pelo menos uma vez por semana sofro algum tipo de falha ou descobri que um amigo ou colega de trabalho já passou pela mesma coisa, isso há cerca de 10 anos.

Se contarmos, existem 480 formas diferentes de colapsos apenas pela minha experiência. E isso não é legal.

Por que os computadores travam tão continuamente?

Quando se trata de software, há apenas um motivo: maus programadores.

Há cerca de 5 anos, suspeitei que o motivo eram os programadores ruins; entretanto, eu não tinha muita certeza. Agora, com mais alguns anos de experiência na área de TI e tendo consultado diversos especialistas por meio de suas publicações, não tenho mais dúvidas.

Posso dizer que os programadores ruins são os culpados por incontáveis ​​falhas de computador.

Incontáveis ​​falhas de computador

O que é um mau programador?

Parece um pouco injusto culpar os programadores de software, ainda mais quando a grande maioria das pessoas que conheço que se dedicam ao desenvolvimento de software de alto nível são profissionais que desenvolveram bastante o pensamento lógico.

Se a grande maioria dos programadores são pessoas bastante lógicas, por que existem softwares com tantos bugs? O principal motivo dos erros do computador é o COMPLEXIDADE.

Construir um computador é provavelmente o processo mais complexo que conheço, porque para cada segundo que passa, milhões de tarefas podem ser executadas. Além disso, possui milhares de peças que devem funcionar em sincronia. O sistema operacional que um computador usa sozinho consiste em dezenas de milhões de linhas de código. Apenas o Windows 10 tem mais de 4 milhões de arquivos e mais de meio milhão de pastas. Prova disso é a seguinte captura:

Número de linhas de código do Windows 10

Para lhe dar uma ideia ainda mais completa, abaixo detalho o número de linhas de código por sistema operacional:

Sistema operacional Linhas de código
Linux 3.1 Kernel 15 milhões
Windows XP 40 milhões
Windows 7 40 milhões
Windows Vista 50 milhões
Debian 5.0 (base de código) 67 milhões
Mac OS X «Lion» 85 milhões

Deixo-vos uma informação adicional:

O Facebook tem aproximadamente 61 milhões de linhas de código e o Google tem cerca de 2 bilhões de linhas de código. Claro, o grande número de serviços oferecidos pelo Google justifica isso.

Número de linhas de código do Google e Facebook

O software no qual um computador funciona é tão complexo que provavelmente ninguém será capaz de entender o código em sua totalidade.

Portanto, a programação deve existir em um ambiente onde se busca reduzir a complexidade e, assim, alcançar a simplicidade. Dessa forma, garantimos que qualquer programador sem talentos extraordinários tenha a capacidade de continuar trabalhando em um aplicativo. Caso contrário, o código poderia atingir um nível tão alto de complexidade que seria quase impossível trabalhar nele.

Em suma, é disso que se trata a programação: "Reduza a complexidade à simplicidade."

Como ser um bom programador?

Um bom programador cria coisas que são fáceis de entender, manter e encontrar bugs. Mas, não confunda simplicidade com menos linhas de código ou com o não uso de tecnologias modernas. Às vezes, simplificar seu código pode aumentar suas linhas de código, apenas certifique-se de sempre documentá-lo.

Em geral, as tecnologias mais avançadas ou modernas tendem naturalmente para a simplicidade. Você só precisa aprender a usá-los corretamente, o que muitas vezes é um desafio.

Software de programação Man

É mais difícil programar de forma simplificada?

Em geral, pensamos que programar de forma simplificada nos levará mais tempo do que fazê-lo rapidamente. Por exemplo, quando temos que cumprir algumas tarefas do nosso trabalho, geralmente tentamos fazê-lo rapidamente, sem parar para pensar e planejar. Não poderíamos estar mais errados!

É mais eficiente gastar mais tempo pensando sobre o problema em busca de compreensão máxima e desta forma ser capaz de propor uma solução simplificada, do que começar a escrever uma solução rapidamente e depois parar para perceber que a implementação se tornou desnecessariamente complexa.

Planejando um projeto de software

Basta olhar ao seu redor e perceber o grande problema que a COMPLEXIDADE se tornou nos programas de software.

Existem muitos aplicativos que ficaram estagnados ao tentar adicionar novas funcionalidades ao horrível, enorme e complexo monstro de código em que eles se tornaram.

Se você quiser saber mais sobre os fundamentos e formas de programação simplificada, recomendo a leitura do livro a seguir. Eu amei!

Simplicidade de código Os fundamentos do software

Simplicidade de código: os fundamentos do software , escrito por Max Kanat-Alexander.

Diretor técnico para Code Health no Google e ex-arquiteto-chefe do projeto Bugzilla. Ele conserta computadores desde os oito anos e escreve software desde os quatorze.

Testes

Sempre execute testes. Eles não são opcionais!

Na realidade, eles nunca deveriam ter sido uma opção, no entanto, muitos programadores ainda desenvolvem aplicativos sem usar qualquer tipo de teste de software, uma vez que os erros de código são relatados pelo cliente final. Este é geralmente o caso do freelancer médio.

Programar sem testes é como dirigir sem cinto de segurança ou fazer acrobacias no trapézio sem rede de segurança. Atualmente, a boa prática de sempre testar o software ainda precisa ser adotada.

Desenvolver software sem testar é como fazer acrobacias sem segurança

Vamos revisar alguns antecedentes que ocorreram devido à ausência ou uso incorreto de testes de software que causaram milhões de dólares em perdas econômicas e, em alguns casos, custaram a vida de dezenas de pessoas.

Erros de computador ocorreram devido à ausência ou uso incorreto de testes de software

Tenho certeza que os eventos mencionados a seguir farão você refletir e dar muito mais importância aos testes de software.

Teste de software
Falha no radar do detector de mísseis.

Aconteceu em 1983, quando o sistema de alerta de detecção de mísseis da União Soviética informou que os Estados Unidos haviam lançado 5 mísseis e eles estavam em andamento.

Felizmente, a pessoa responsável por intuição e / ou critério não ordenou um ataque imediato em resposta, já que consideraram o ataque estranho por estar fora de contexto e também pelo número de mísseis, uma vez que não eram aqueles comumente usados ​​para um ataque surpresa.

Horas depois, foi confirmado que tudo foi causado por um erro do sistema de radar do míssil. Um erro um tanto difícil de detectar na hora, pois o sistema confundiu o reflexo do sol nas nuvens. em uma determinada posição com mísseis. Por um tempo e acaba iniciando a Terceira Guerra Mundial. No entanto, pode ter sido evitado após um trabalho completo de:

  • Estudo do meio ambiente em que o sistema de alerta seria implantado
  • , e
  • a injeção de todos os tipos de variáveis ​​de entrada que podem afetar o sistema.

Ambos são práticas que fazem parte do teste de software.

Lança mísseis dos Estados Unidos
Destruição do Mariner I

Ocorrendo em 1962 e causando a perda de aproximadamente US $ 18,5 milhões, Mariner I foi a primeira missão do programa Mariner a tentar voar sobre Vênus, infelizmente sem sucesso.

293 segundos após a decolagem, um bug de software foi encontrado. Este bug desviou sua trajetória. Segundos depois, um comando teve que ser enviado para destruí-lo e, assim, evitar que sua queda causasse mais danos.

O erro foi determinado posteriormente: Uma fórmula no código que foi programada incorretamente.

Explosão de foguete espacial
Therac-25, acelerador linear de radioterapia

Você vai se perguntar, o que é um acelerador linear de radioterapia? Aceleradores lineares são máquinas que emitem feixes de raios-X direcionados a um tumor de diferentes ângulos. O ótimo é que esses dispositivos são capazes de personalizar os raios-X para se ajustarem ao formato do tumor sem afetar a área circundante.

Entre junho de 1985 e janeiro de 1987, o Therac-25 produzido pela AECL (Atomic Energy of Canada Limited) foi um participante em pelo menos 6 acidentes e 3 mortes por ter recebido uma overdose de radiação.

Acelerador linear Therac-25

Após as investigações, concluiu-se que o As principais causas de acidentes com Therac-25 foram as seguintes:

  • Práticas ruins de desenvolvimento de software.
  • Análise de requisitos pobre.
  • Projeto de software ruim.

E se isso não bastasse, o software no qual o Therac-25 era executado foi desenvolvido de uma forma que era quase impossível identificar e consertar bugs ou erros automaticamente.

Outras causas encontradas:

  • A AECL nunca enviou uma entidade independente para revisar o código-fonte.
  • Nenhuma funcionalidade relacionada ao gerenciamento de risco foi considerada no projeto.
  • O sistema não permitiu verificar o correto funcionamento dos sensores.
  • Havia variáveis ​​de sinalizador que mudaram seu valor em vez de manter valores constantes.
  • Estouro da variável "class3".
  • Entre outros.
Estouro de variável de classe 3
Navio Yorktown (CG-48) e sua divisão por zero

Acredite ou não, o Navio Yorktown, um navio de guerra que ganhou inúmeros prêmios por sua excelência em combate e principalmente por seu equipamento tecnológico, acabou sendo rebocado devido a um erro de software.

Em setembro de 1997, um membro da tripulação inseriu um zero em um campo de banco de dados, fazendo com que o sistema executasse uma divisão por zero internamente, o que causou bugs, gerando eventualmente um estouro de buffer e, finalmente, uma falha no sistema de propulsão do navio.

Navio yorktown
Processador Intel Pentium com erros de divisão

Em 1993, a Intel lançou um novo processador com erros de cálculo. Embora fossem muito difíceis de perceber, porque para ver o erro era necessário executar operações que requerem um resultado bastante exato.

Apesar disso, a Intel teve um prejuízo de aproximadamente US $ 350 milhões, sem contar os danos à sua imagem que dificilmente poderiam ser quantificados.

Processador Intel Pentium

Os 5 casos que acabei de mencionar são apenas alguns dos incontáveis ​​erros de computador que, infelizmente, custam vidas humanas e são evidências claras da necessidade de escrever software correto.

Engenheiros de software, bem como engenheiros estruturais ou engenheiros civis, devem ser capazes de demonstrar por um método, a confiabilidade e o cumprimento das funcionalidades exigidas.

Como você deve ter notado, o teste é uma parte fundamental de qualquer projeto. Eles não são opcionais!

De acordo com Ilene Burnstein em seu livro: “Teste Prático de Software”, o teste de software tem 3 processos principais:

  • Desenvolvimento de caso de teste
  • Execução de casos de teste
  • Análise de resultados

Se você não dedicar tempo para construir seus casos de teste, você não está fazendo certo. É importante construir casos de teste com vários cenários que simulam tantos casos quanto possível. Para nosso azar, é impossível simular 100% dos cenários.

Bem dito Edsger Dijkstra:

O teste pode mostrar a presença de erros em um programa, mas não sua ausência Edsger Dijkstra (prêmio Turing em 1972)
Preparação de como o teste de software se parece na vida real

Mas, assim como existem muitos casos de erros de computador causados ​​pela execução incorreta de testes, também existem histórias de sucesso que são dignas de um prêmio.

Exemplo de software mais próximo da perfeição

Hoje é possível desenvolver softwares tão confiáveis ​​quanto qualquer outro produto, ainda mais com o aumento da capacidade de automação.

A linha 14 do metrô de Paris é totalmente automatizada. Os trens não têm motoristas e são executados por software. Esta linha ferroviária foi colocada em operação em 1998.

Paris linha 14 do metrô

Embora seja verdade, sua perfeição não pode ser garantida, dezenas de anos se passaram e nenhuma falha foi detectada, graças ao exaustivo trabalho de teste, que acabou executando cerca de 86 mil instruções no processo de teste.

Em geral, processos de teste rigorosos que podem garantir software sem falhas são exigidos em alguns países apenas para sistemas que podem causar perdas humanas.

A grande maioria das empresas de software se recusa a implementar tais processos de teste rigorosos devido ao alto custo que isso implica e também porque é difícil encontrar profissionais dedicados a testes com treinamento e experiência suficientes para tal tarefa, uma vez que a implementação dos processos de teste de software pode custar o mesmo ou mais do que o desenvolvimento do próprio software.

Claro, "Você não aprende até sua vez", como é o caso da INTEL, que teve que perder cerca de US $ 350 milhões devido a um erro de cálculo em seu software processador. Erro que a levou a se tornar uma das empresas de TI com maior orçamento para pesquisa de teste de software.

Custos de teste de software

Qual é o cenário atual de teste de software?

O caminho para desenvolver um projeto de software consiste em 3 etapas bem definidas:

  • Especificações
  • Design e codificação
  • Validações

Na etapa de validação, os engenheiros responsáveis ​​garantem que o software esteja de acordo com o planejado nas especificações, a maneira como o fazem é "testando".

Uma vez que o software tenha sido validado, presume-se que ele atende a todas as especificações e o ciclo de validação é repetido pela última vez a fim de verificar a validação correta.

Importância do teste de software

O que está descrito acima tem um grande problema de inconsistência, explicarei a você a seguir:

Erros e inconsistências de teste de software hoje

O problema mais importante com o método de validação atual "teste" é que ele não garante que o software está em conformidade com o que é indicadas nas especificações. Isso porque a elaboração das especificações é feita em linguagem natural, com termos que sempre tenderão à interpretação individual, o que gera ambigüidades que certamente serão percebidas ao final do projeto.

Um segundo problema é que você nunca consegue testar todos os casos possíveis. Suponha que temos um pequeno software que:

  • recebe qualquer número como entrada,
  • adicione 10 e
  • retorna o valor da soma como resultado.

Seria impossível testar todos os casos possíveis, uma vez que os dados de entrada são infinitos. É por isso que os testes de software são executados apenas em uma amostra de casos selecionados, que às vezes são amostras muito pequenas. A razão para essas más práticas é justificada por restrições financeiras e de tempo. Concluindo, não podemos afirmar que um software está correto após a conclusão da fase de testes, pois não há evidências suficientes para tal afirmação.

Se tentarmos ser lógicos (como deveríamos ser se nos dedicamos à área da computação), afirmando que um software é correto após ter completado a fase de testes e não ter encontrado nenhum erro, estamos incorrendo no que se chama: “Chamado à falácia da ignorância”.

Na lógica, um argumento ad ignorantiam, ou argumentum ad ignorantiam, também conhecido como um chamado à ignorância, é uma falácia que consiste em sustentar a verdade (ou falsidade) de uma proposição alegando que não há prova em contrário, ou então alegando a incapacidade ou recusa de um oponente em apresentar provas convincentes em contrário. Essa impaciência com a ambigüidade costuma ser criticada com a frase: “a ausência de prova não é prova de ausência” ou seja, esta falácia é cometida quando a verdade ou falsidade de uma proposição é inferida com base na ignorância existente sobre ela. Chamado à falácia da ignorância

Como você deve ter notado, cometemos muitos erros ao aplicar testes de software de forma convencional e muitas vezes não temos conhecimento dos custos que isso gera.

Só para lhe dar uma ideia:

  • O método convencional de teste de software envolve a detecção de defeitos no software.
  • Posteriormente, entra-se na fase de depuração, ou seja, revisão do código para entender as causas das falhas e finalmente corrigindo os defeitos do software.
  • Trabalhando dessa forma, em média, os programadores gastam 49,9% de seu tempo depurando seus próprios erros.
  • Isso implica um gasto mundial de 156 bilhões de dólares por ano.
Custos na estrutura de desenvolvimento de software
Desenvolvimento formal como uma solução proposta para testes de software inconsistentes

Como já vimos, um dos principais problemas é a ambigüidade das especificações que, quando expressas em linguagem natural, falta precisão e senso matemático lógico. Uma solução é usar uma linguagem formal, onde não haja espaço para ambiguidades.

Usando um método formal para o desenvolvimento de nossos projetos de software, a certeza das propriedades e / ou funcionalidades do software é garantida pela dedução, ou seja, pela matemática (p -> q).

Esse método formal requer muito mais tempo e orçamento para sua preparação, pois é necessária muito mais precisão na elaboração das especificações, que por sua vez devem ser eliminadas de ambigüidades para que, ao criar o código, possa demonstrar sua confiabilidade com base em suas especificações.

Parece muito longe da realidade atingir esse limite de demanda para criar software de qualidade. No entanto, atualmente existem empresas que baseiam seus sistemas no desenvolvimento formal, geralmente com empresas que se dedicam a áreas críticas onde um pequeno erro pode significar a perda de vidas humanas instantaneamente.

No entanto, em pequena escala, esse nível de demanda não é lucrativo; devemos, no mínimo, cumprir os testes convencionais.

A seguir, compartilho uma série de publicações de boas práticas que você não deve perder se deseja desenvolver projetos de qualidade.

Programación y más

Publicações de boas práticas

Como o aprendizado contínuo beneficia nosso cérebro?

Aprender é como combustível para nosso cérebro.

Na faculdade ou universidade, temos sacrificado continuamente os estudos e nada disso tem sido suficiente, porque a cada minuto que passa, novas informações surgem independentemente da carreira que você estudou.

Sempre haverá algo novo para aprender.

Algo a ter em mente é que, quando estamos aprendendo, nosso cérebro é afetado por mudanças nas estruturas neurais.

A pesquisa moderna mostrou que o cérebro tem a capacidade de mudar e deformar permanentemente (plasticidade), e não só em crianças, mas também em adultos.

Essas mudanças no cérebro podem ser causadas por boas práticas de aprendizagem contínua, reestruturando conexões sinápticas e às vezes criando novas.

Anteriormente, acreditava-se que quanto maior ou mais pesado o cérebro de uma pessoa, mais inteligente ele era. No entanto, estudos recentes determinaram que pessoas com um QI mais alto têm uma rede neural menos densa, mas ao mesmo tempo muito mais organizada.

Para esta pesquisa, o QI foi calculado com base nos seguintes fatores:

  • Capacidade de análise
  • Capacidade de reflexão
  • Resolução do problema
Como o aprendizado contínuo beneficia nosso cérebro

Aqui estão mais algumas informações sobre a pesquisa em questão:

A inteligência é baseada na eficiência neuronal - Erhan Genç

A equipe liderada por Erhan Genç analisou os cérebros de 259 homens e mulheres com idades entre 18 e 40 anos e com boa saúde, para medir dendritos no córtex cerebral, isto é, extensões de células nervosas que as células usavam para se comunicarem no desempenho da inteligência.

Antes do estudo, todos os participantes foram submetidos a um teste de QI. Depois de estudar dendritos, foi determinado que quanto maior o QI, menos dendritos existem no córtex cerebral.

Eficiência Neural

Em outras palavras, concluiu-se que pessoas mais inteligentes não apenas têm mais neurônios, mas também têm menos conexões dendríticas entre os neurônios no momento da cognição. O que significa que eles têm uma rede neural menos densa.

Os estudos foram validados com uma amostra de 500 pessoas e as mesmas conclusões foram alcançadas.

Erhan Genç, autor principal do estudo concluiu:

Os cérebros inteligentes são caracterizados por uma rede neural fina, mas altamente eficiente. Isso ajuda a atingir um alto nível de raciocínio enquanto minimiza a atividade neural. Erhan Genç

Como a programação influencia nossas habilidades mentais?

Como já mencionei nos parágrafos anteriores, a programação afeta a maneira de pensar de quem a pratica, nesse sentido, influencia diretamente o nosso habilidades mentais.

Mas de que maneira isso acontece? Vamos ver.

Um programador pensa de maneira muito diferente dos outros, porque em geral eles tendem a ser mais lógicos e mais racionais do que a média, embora não necessariamente.

Já que decidimos aprender a programar, devemos escolher com qual idioma começar. Embora tal escolha não seja totalmente verdadeira, porque, em geral, a grande maioria daqueles que se dedicam ao mundo do desenvolvimento de software escolhem nossa primeira linguagem sem nenhuma experiência ou foram submetidos e praticamente forçados a começar com uma linguagem de programação imposta. por um professor, seja na faculdade e / ou universidade.

No entanto, tais limitações são cada vez menos frequentes devido à quantidade de informações que podemos encontrar na internet e o alto incentivo e promoção da aprendizagem autodidata.

Jim Carrey programando rápido

Os paradigmas das linguagens de programação já moldaram muitas mentes, em alguns casos, com mais limitações do que em outros, dependendo do idioma com o qual foi iniciado. Com isso, não quero dizer que sua primeira linguagem defina seu sucesso ou fracasso, mas quero dizer os paradigmas com os quais se inicia no mundo da programação inserem padrões em nosso pensamento.

Se você aprender a programar com COBOL, FORTRAN ou PASCAL, isso não significa que você está fadado ao fracasso. No entanto, a incompatibilidade com as tecnologias modernas e a falta de bibliotecas ou funções limitam o aprendizado e a expansão.

Nem quero dizer que as linguagens de programação com mais de 50 anos sejam ruins.

Muitos sistemas projetados para as operações e transações de bancos, administradores de fundos de pensão e seguradoras continuam a usar o COBOL. E parece que eles continuarão a usá-lo por muitos anos.

Olá, mundo com COBOL

Menciono alguns fatos que, por mais incríveis que pareçam, são todos verdadeiros.

75% dos dados de negócios são processados ​​em COBOL (Fonte: Gartner).

Existem 180 bilhões a 200 bilhões de linhas COBOL em uso em todo o mundo (Gartner).

15% dos novos aplicativos são escritos em COBOL (Gartner).

Grupo Gartner

E quão caro seria, então, migrar de COBOL para sistemas de tecnologia modernos?

Os custos de substituição de sistemas COBOL, estimados em US $ 25 por linha, são da ordem de centenas de bilhões de dólares Grupo de Estratégia Tática

Bem disse Bill Curtis:

Os bancos devem ficar com os aplicativos COBOL antigos, uma vez que eles não têm os problemas de segurança e desenvolvimento que aparecem com novas linguagens como Java. Bill Curtis, CAST COO

Vou te mencionar abaixo 3 maneiras pelas quais a programação afeta seu cérebro:

1. As ferramentas que usamos para programar influenciam nossos modelos mentais

A linguagem de programação com a qual começamos nada mais é do que uma ferramenta, que vem acompanhada de paradigmas e idiomas que influenciam diretamente a sua forma de pensar. Não é à toa, Edsger.

Dijkstra, um dos pioneiros no estabelecimento de programação distribuída disse:

As ferramentas que usamos têm uma influência profunda (e tortuosa) em nossa hábitos de pensamento e, portanto, em nosso habilidades de pensamento. Edsger Dijkstra

Agora que você sabe o quão importante é a linguagem de programação com a qual começamos e, em geral, todo o conjunto de ferramentas que usamos para programar, aconselho que a primeira coisa que você leve em consideração ao escolher sua primeira linguagem de programação é o seu conforto.

Se você está apenas começando, não se deixe levar pelo dinheiro. É verdade que existem linguagens de programação que são mais bem pagas do que outras, mas o dinheiro não deve ser seu objetivo. Nesse caso, aconselho que comece a programar em COBOL, PASCAL, FORTRAN, linguagens que têm pouquíssima documentação e que atualmente são pouquíssimas que a praticam, por isso são muito bem pagas onde são obrigadas.

Na verdade, dedicar-se ao desenvolvimento de software não só traz benefícios para seus hábitos de pensamento e habilidades cognitivas, mas também pode garantir um futuro econômico mais do que estável, pois é um setor muito bem pago e em crescimento.

Engenheiro de software bem pago

Hoje é a melhor hora para começar. Vamos ver por quê:

Por que o setor de TI é um dos mais recomendados em 2021?

Segundo a Comissão Econômica para a América Latina e o Caribe (CEPAL), os países latino-americanos começarão a crescer após a recessão econômica de 2020.

Estima-se um crescimento de 3,7% para 2021, onde o os principais protagonistas serão aqueles que se dedicam ao mundo digital.

2. É saudável para o cérebro

Como já mencionamos, o aprendizado tem efeitos positivos no cérebro. Nesse sentido, a programação conta como um exercício mental que favorece diretamente o cérebro.

Vamos revisar alguns antecedentes que confirmam os benefícios da programação para a saúde do cérebro:

Em 1991, uma investigação estudou os efeitos da programação de computadores nos resultados cognitivos e determinou que alunos em áreas relacionadas à programação obtêm 16 pontos percentuais acima da média em testes de QI.

Outro estudo maior em 1999 acabou confirmando que as atividades intelectualmente envolventes servem para proteger os indivíduos contra o declínio cognitivo.

Mais tarde, em 2009, um estudo descobriu que as pessoas que se envolvem em atividades estimulantes do cérebro nos anos posteriores podem reduzir o risco e até mesmo atrasar o início do Alzheimer e outros tipos de demência.

3. Ao programar, você estimula até 5 áreas do seu cérebro

Em 2014, um estudo intitulado “Compreendendo o código-fonte Compreendendo com imagens de ressonância magnética funcional” usaram imagens de ressonância magnética funcional para observar a atividade cerebral enquanto os programadores tentavam trabalhar e entender trechos de código.

Concluiu-se que 5 áreas do cérebro estavam envolvidas:

  • BA 6: Giro frontal médio (atenção, linguagem, memória de trabalho)
  • BA 21: Giro temporal médio (recuperação de memória semântica)
  • BA 40: Lobo parietal inferior (memória de trabalho)
  • BA 44: Giro frontal inferior (memória de trabalho)
  • BA 47: Giro frontal inferior (linguagem, memória de trabalho)

Devemos ter em mente que os participantes foram submetidos a uma revisão de um trecho de código de 20 linhas, o que não é um grande desafio. E é por isso que nenhuma atividade foi detectada em áreas do cérebro relacionadas a cálculos matemáticos.

O que se pôde notar foi a alta intervenção de partes do cérebro normalmente associadas ao processamento da linguagem, memória e atenção.

Programar é a coisa mais próxima de ter superpoderes. Drew Houston, CEO do Dropbox
Programar é a coisa mais próxima de ter superpoderes
Seta apontando para cima
Fazer o teste Avalie seu QI em um instante! Teste Internacional de CI.

© 2020 - Todos os direitos reservados