Nos estamos acercando al límite de la potencia informática: necesitamos nuevos programadores

Los procesadores cada vez más acelerados dieron lugar a la aparición de software inflado, pero las limitaciones físicas pueden obligarnos a volver a una versión más modesta del código que utilizamos en el pasado




En la década de 1960, Gordon Moore , uno de los fundadores de Intel, notó que la cantidad de transistores que pueden caber en un chip de silicio se duplica aproximadamente cada dos años. Dado que el número de transistores está relacionado con la potencia de procesamiento, esto significa que, de hecho, la potencia de procesamiento se duplica cada dos años. Así nació la ley de Moore , que proporcionó a las personas que trabajan en la industria de la informática, al menos para aquellos que aún no tienen cuarenta años, la misma base confiable que las leyes de movimiento de Newton proporcionaron a los ingenieros mecánicos.

Pero él, sin embargo, tiene una diferencia. La ley de Moore sigue siendo solo una correlación empírica, que se observó en un cierto período de tiempo, y finalmente llegamos al límite de su aplicabilidad. En 2010, el propio Moore predijo que las leyes de la física detendrían este aumento exponencial. "Con respecto al tamaño de los transistores", dijo, "está claro que ya nos estamos acercando al tamaño de los átomos, que son una barrera fundamental, pero hasta este punto dos o tres generaciones seguirán cambiando; sin embargo, no podemos predecir nuevos desarrollos". Tenemos otros 10-20 años antes de alcanzar el límite fundamental ".

Y ahora hemos llegado a 2020, y la idea de que siempre tendremos equipos informáticos suficientemente potentes y adecuados para las necesidades cada vez mayores comienza a parecer demasiado segura de sí misma. Y dado que ha sido obvio para aquellos que han estado involucrados en este negocio durante varias décadas, se ha investigado mucho sobre las formas ingeniosas de incorporar una potencia informática cada vez mayor en las máquinas, por ejemplo, arquitecturas de múltiples núcleos en las que la CPU tiene dos o más módulos informáticos separados o "núcleos". Todo esto se hizo con la esperanza de posponer ese terrible día en que los chips de silicio se quedan sin espacio para maniobrar (por ejemplo, el nuevo Apple Mac Pro se ejecuta en un procesador Intel Xeon de 28 núcleos). Y, por supuesto, los estudios de las computadoras cuánticas se están desarrollando a un ritmo vertiginoso, lo que, en principio, podría ser un hito histórico.

Pero la informática requiere una combinación de hardware y software, y una de las consecuencias predecibles de la ley de Moore fue que hizo que los programadores fueran flojos. Escribir software es una tarea compleja, y algunos lo hacen mejor que otros. Escriben código más elegante y, lo que es más importante, más ágil que se ejecuta más rápido. En los primeros días, cuando el hardware era relativamente primitivo, la habilidad del programador era de gran importancia. Por ejemplo, cuando Bill Gates era un niño, escribió un intérprete BASIC para uno de los primeros microordenadores TRS-80. Como la máquina tenía una ROM pequeña, Gates tuvo que poner todo el programa en 16 Kb. Lo escribió en ensamblador para aumentar la eficiencia y ahorrar espacio; Incluso hay una leyenda de que muchos años después podría citar todo el programa de memoria.

Y en los primeros años de la informática, puede encontrar miles de historias similares. Pero con la adhesión de la ley de Moore, la necesidad de un código económico y económico desapareció gradualmente, y la motivación cambió. La programación se ha convertido en una disciplina de la industria para los ingenieros de software. La creación de ecosistemas de software populares, como sistemas operativos y programas comerciales, requirió la participación de grandes equipos de desarrollo; Sobre esta base, la burocracia ha crecido de gerentes de proyecto y directores ejecutivos. Los grandes proyectos de software se convirtieron en marchas de la muerte, que Fred Brooks describió más claramente en su famoso libro Mythical Man-Month , publicado en 1975, y desde entonces ha sido reimpreso por una muy buena razón: sigue siendo relevante. Y en el proceso de todo esto, el software se hinchó y se volvió ineficaz.

Pero no importaba, porque el hierro siempre daba nueva potencia informática, ocultando el problema del software hinchado o bloatware. A menudo enfurecía a los programadores concienzudos. "La única consecuencia de la aparición de hierro poderoso que observo", escribió uno de ellos, "es que los programadores escriben programas que se hinchan más y más. Se vuelven más vagos y, dado que el hardware es lo suficientemente rápido, no intentan aprender algoritmos ni optimizar el código. ¡Esto es una locura !

Así es En una conferencia de 1997, Nathan Mirwold, una vez un ingeniero senior de Bill Gates, derivó sus cuatro leyes de software:

  1. PO es como el gas, se expande para llenar todo el tanque.
  2. El software crece hasta alcanzar los límites establecidos por la ley de Moore.
  3. El crecimiento del software hace posible la ley de Moore: las personas compran hardware nuevo porque el software lo requiere.
  4. El software está limitado solo por las ambiciones y expectativas humanas.

En el momento en que termina la regla de la ley de Moore, de las leyes de Mirwold se deduce que solo tenemos dos opciones. O endureceremos nuestras ambiciones, o volveremos a escribir código más económico y eficiente. En otras palabras, de vuelta al futuro.

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


All Articles