Estamos nos aproximando do limite de poder computacional - precisamos de novos programadores

Processadores cada vez mais acelerados levaram ao aparecimento de um software inchado, mas as limitações físicas podem nos forçar a retornar a uma versão mais modesta do código que usamos no passado




Na década de 1960, Gordon Moore , um dos fundadores da Intel, observou que o número de transistores que podem caber em um chip de silício dobra aproximadamente a cada dois anos. Como o número de transistores está relacionado ao poder de processamento, isso significa que, de fato, o poder de processamento dobra a cada dois anos. Assim nasceu a lei de Moore , que previa as pessoas que trabalham na indústria de computadores - pelo menos para aqueles que ainda não têm quarenta anos - a mesma base confiável que as leis de movimento de Newton proporcionavam aos engenheiros mecânicos.

Mas ele, no entanto, tem uma diferença. A lei de Moore ainda é apenas uma correlação empírica, que foi observada em um determinado período de tempo, e finalmente chegamos ao limite de sua aplicabilidade. Em 2010, o próprio Moore previu que as leis da física parariam esse aumento exponencial. "Com relação ao tamanho dos transistores", disse ele, "está claro que já estamos nos aproximando do tamanho dos átomos, que são uma barreira fundamental, mas até agora duas ou três gerações ainda mudarão - no entanto, não podemos prever desenvolvimentos futuros. Temos mais 10 a 20 anos antes de atingirmos o limite fundamental ".

E agora chegamos a 2020, e a ideia de que sempre teremos equipamentos de computação suficientemente poderosos, adequados para necessidades sempre em expansão, começa a parecer muito autoconfiante. E, como ficou óbvio para aqueles que se envolveram nesse negócio por várias décadas, muita pesquisa foi feita sobre as maneiras engenhosas de colocar cada vez mais poder computacional em máquinas, por exemplo, arquiteturas de vários núcleos nas quais a CPU possui dois ou mais módulos de computação separados ou "núcleos". Tudo isso foi feito na esperança de adiar aquele dia terrível em que os chips de silício ficaram sem espaço de manobra (por exemplo, o novo Apple Mac Pro roda em um processador Intel Xeon de 28 núcleos). E, é claro, estudos de computadores quânticos estão se desenvolvendo em um ritmo furioso, o que, em princípio, pode ser um avanço marcante.

Mas a computação exige uma combinação de hardware e software, e uma das consequências previsíveis da lei de Moore foi que ele tornou os programadores preguiçosos. O software de escrita é um ofício complexo, e alguns o melhoram do que outros. Eles escrevem código mais elegante e, mais importante, mais ágil, que roda mais rápido. Nos primeiros dias em que o hardware era relativamente primitivo, a habilidade do programador era de grande importância. Por exemplo, quando Bill Gates era criança, ele escreveu um intérprete BASIC para um dos primeiros microcomputadores TRS-80. Como a máquina tinha uma ROM pequena, Gates precisou colocar o programa inteiro em 16 Kb. Ele escreveu na assembler para aumentar a eficiência e economizar espaço; há até uma lenda de que muitos anos depois ele poderia citar todo o programa de memória.

E nos primeiros anos da computação, você pode encontrar milhares de histórias semelhantes. Mas com a adesão da lei de Moore, a necessidade de um código econômico e econômico desapareceu gradualmente e a motivação mudou. A programação se tornou uma disciplina do setor para engenheiros de software. A criação de ecossistemas populares de software, como sistemas operacionais e programas comerciais, exigiu a participação de grandes equipes de desenvolvimento; nessa base, a burocracia cresceu de gerentes de projeto e diretores executivos. Grandes projetos de software se transformaram em marchas da morte, que Fred Brooks descreveu com mais clareza em seu famoso livro Mythical Man-Month , publicado em 1975, e desde então foi reimpresso por um motivo muito bom - ainda é relevante. E no processo de tudo isso, o software inchado e se tornou ineficaz.

Mas isso não importava, porque o ferro sempre dava um novo poder de computação, ocultando o problema de software inchado ou bloatware. Freqüentemente enfurecia programadores conscientes. “A única conseqüência da aparência de ferro poderoso que observo”, escreveu um deles, “é que os programadores escrevem programas que estão inchando cada vez mais. Eles se tornam mais preguiçosos e, como o hardware é rápido o suficiente, eles não tentam aprender algoritmos ou otimizar o código. Isso é loucura !

Assim é. Em uma palestra de 1997, Nathan Mirwold, uma vez engenheiro sênior de Bill Gates, derivou suas quatro leis de software:

  1. PO é como gás, se expande para encher o tanque inteiro.
  2. O software cresce até atingir os limites estabelecidos pela lei de Moore.
  3. O crescimento do software torna possível a lei de Moore - as pessoas compram novo hardware porque o software exige.
  4. O software é limitado apenas por ambições e expectativas humanas.

No momento em que o estado da lei de Moore está chegando ao fim, resulta das leis de Mirwold que temos apenas duas opções. Ou reforçaremos nossas ambições ou voltaremos a escrever um código mais econômico e eficiente. Em outras palavras, de volta ao futuro.

Source: https://habr.com/ru/post/pt484688/


All Articles