¿Cómo le iría a Donald Knuth como competidor en TopCoder hoy?

Cita de Alan Kay sobre Knuth:

Cuando estaba en Stanford con el proyecto de IA [a fines de la década de 1960], una de las cosas que solíamos hacer cada Día de Acción de Gracias es tener un concurso de programación de computadoras con personas en proyectos de investigación en el área de la Bahía. El premio creo que fue un pavo.

[John] McCarthy solía inventar los problemas. El año en que Knuth entró en esto, ganó el tiempo más rápido para ejecutar el programa y también ganó la ejecución más rápida del algoritmo. Lo hizo en el peor sistema con lote remoto llamado sistema Wilbur. Y él básicamente golpeó la mierda de todos.

Y le preguntaron: “¿Cómo podrías hacer esto?” Y él respondió: “Cuando aprendí a programar, tuviste suerte si tenías cinco minutos con la máquina al día. Si querías poner en marcha el programa, solo tenía que estar escrito correctamente. Entonces la gente aprendió a programar como si fuera así. estaba tallando piedra. Tienes que acercarte a ella. Así aprendí a programar “.

haría llorar a los otros entrantes; algunos cambiarían su profesión.
todo hipotético, sin embargo, por lo que sé sobre él (aunque nunca conocí al hombre) “la codificación competitiva” no le interesaría (no creo que los eventos informales del día de acción de gracias del departamento en una respuesta previa sean una excepción).

He leído docenas de bibliotecas, scripts, fragmentos de Knuth. Aquí hay un pequeño script de Python escrito por Knuth usando la excelente biblioteca de gráficos (networkx):
Knuth Miles: documentación de NetworkX 1.8.1
un guión pequeño, pero esto debería darte una idea.

hermosa no? un poco más de 100 líneas, incluido el IO y el análisis de datos. Su código es claro como el cristal: se lee como una prosa bellamente concisa.

y casi sin comentarios; de hecho, los pocos que agregó solo hicieron bromas, por ejemplo, los objetos de nodo con los que Knuth está trabajando tienen un nombre de atributo de cadena que uno podría desear usar para proporcionar etiquetas para los nodos en el gráfico representado. Knuth no tiene etiquetas, pero agrega un comentario que no necesitamos etiquetas malolientes. Y, de hecho, su gráfico renderizado es lo suficientemente claro sin ellos.

Si Knuth se dedicó a la informática en 2010, habría comenzado con el conocimiento acumulado de científicos informáticos anteriores disponibles para él, al igual que cualquier otra persona a partir de 2010.

(Él, por supuesto, no tendría acceso a los excelentes libros de Knuth, ¡así que todos los demás habrían estado en desventaja también!)

Su inteligencia, impulso y razonamiento fundamentales deberían haber sido más o menos los mismos, por lo que es probable que se haya destacado en la disciplina. También habría sido impulsado por cualquier supuesto aumento en las tasas de coeficiente intelectual.

Espero que se destaque en cualquier codificación en la que haya saltado, pero no sé qué tan competitivo hubiera sido. Es imposible proyectar su interés en la codificación en línea de rodeos. Podría haberles encontrado un aburrido aburrimiento o un excelente uso del ancho de banda mental, no voy a presumir que especule.

He estado programando por más de 30 años. Leer a Knuth fue una parte importante de la mayoría de edad para muchos de nosotros que crecimos fuera de la academia. MUCHOS de los primeros libros (sedgwick, kernighan y ritchie, ciruela, alan holub, date y codd, fred brooks, geoffry james, john bentley, (agregado) dijkstra) ofrecen sabiduría y permanecieron “ir” a los libros (juego de palabras) durante años .

Muchos de los primeros libros discutieron enfoques sobre problemas de programación y problemas de proyectos que todavía son relevantes hoy en día, aunque la estructura general de los lenguajes y la mecánica de la sintaxis han cambiado.

Una cosa constante en este negocio es que las cosas cambiarán cada 3-4 años. Las novedades de hoy serán burladas mañana.

Exactamente lo mismo que hizo de Knuth la leyenda que es ahora lo convertiría en una leyenda de nuevo. El hardware ha cambiado, el software ha cambiado y los problemas son diferentes, pero el mismo análisis fundamental que aplicó funciona igual de bien hoy. Su perspectiva sobre la creación de aplicaciones basadas en la web y los problemas de big data serían muy apreciados.

Mal, porque no ha pasado años practicando en estos concursos.

Algunos genios no pueden ser juzgados por principios comunes, en China hay alguien que no ha terminado su escuela primaria, pero puede calcular rápidamente los números fuera del nivel de la gente común, pero el puntaje del coeficiente intelectual es tan bajo, ¿podemos decir que no? ¿un genio? La respuesta es si .

Somos codificadores demasiado novatos para juzgar a personas como Knuth o, para el caso, a otras personas que caen en ESA liga.

Creo que tiene un cerebro genial y altas tasas de coeficiente intelectual. Por otro lado, pasó mucho tiempo de la vida investigando la ejecución de algoritmos y ciencias de la computación. ¡Estoy seguro de que la gente como él no es mucho en el mundo y tienen mucha suerte! Pero aún podemos tener éxito en cierta medida en los trabajos de TI si trabajamos duro y somos persistentes. Cuando era niño, mi maestro dijo que hay muchas maneras de terminar un ejercicio de matemáticas, pero cuando aprendo en la universidad me doy cuenta de que tenemos que encontrar la forma más rápida de maximizar la eficiencia de la computadora. En conclusión, Knuth no solo tiene talento e inteligencia, sino que también tiene muchas pasiones para descubrir la ejecución de programas de computadora.

En el área del esfuerzo humano donde en realidad es posible comparar diferentes generaciones, el deporte, es obvio que los atletas modernos son mucho mejores.

Mira los hechos. Knuth operaba en un momento en que el número total de personas expuestas a la programación era limitado. También estuvo expuesto a él más tarde en la vida que los programadores modernos. Incluso si ignoras el hecho de que el coeficiente intelectual promedio aumenta 3 puntos por década, es muy poco probable que sea mejor que los mejores programadores modernos.

Hablando de manera pendiente, no competiría, ya que todavía está vivo hoy y, de hecho, no compite. Si compitiera, estoy seguro de que estaría en la cima como dice la otra respuesta.