1 puntos por GN⁺ 2024-07-19 | 1 comentarios | Compartir por WhatsApp
  • Breve entrevista con el Dr. Brian Kernighan, creador de AWK

    • Presentación del Dr. Brian Kernighan

      • El Dr. Brian Kernighan es un científico de la computación canadiense que contribuyó al desarrollo de UNIX en Bell Labs
      • Coescribió junto con Dennis Ritchie el libro fundamental sobre el lenguaje de programación C, "The C Programming Language"
      • Desde el año 2000, forma a la siguiente generación de programadores en Princeton University
      • Es famoso por haber escrito el primer programa "Hello World!"
    • La nueva idea de AWK

      • La idea principal de AWK son los arreglos asociativos (associative arrays)
      • En ese momento era un concepto nuevo, pero hoy se usa en la mayoría de los lenguajes como función de biblioteca (hashmaps en Java o C++) o como parte del propio lenguaje (dictionaries en Perl y Python)
      • Los arreglos asociativos son una estructura muy poderosa y pueden usarse para simular diversas estructuras de datos
      • El paradigma patrón-acción tampoco era ampliamente usado en ese entonces, pero es una forma efectiva de organizar ciertos cálculos
    • Referencias utilizadas al crear un lenguaje de programación

      • Dr. Kernighan: "Ninguna"
      • En los años 70 había muchos lenguajes nuevos de propósito específico y casi no existían antecedentes de referencia
      • Yacc fue una herramienta importante que permitía crear y experimentar fácilmente con gramáticas
      • Lex cumplía el mismo papel a nivel léxico, reemplazando mucho código tedioso por un conjunto de reglas
      • Lex y Yacc son ejemplos de lenguajes patrón-acción y formaban un círculo virtuoso entre sí
    • Consejos para jóvenes interesados en el diseño de lenguajes de programación

      • Aconseja diseñar e implementar un lenguaje pequeño de propósito específico
      • Es muy divertido y útil, y mucho más fácil que crear un lenguaje alternativo a Rust o C++
      • Recomienda encontrar una tarea que pueda automatizarse y crear un compilador y un runtime simples
      • Un artículo relacionado que Jon Bentley escribió hace mucho tiempo sigue siendo vigente
    • Fuente de la imagen

      • Wikimedia Commons

Resumen de GN⁺

  • El Dr. Brian Kernighan es una figura clave que contribuyó al desarrollo de UNIX y del lenguaje C, y es el creador del lenguaje AWK, que introdujo los arreglos asociativos y el paradigma patrón-acción
  • Los arreglos asociativos son una poderosa estructura de datos que hoy se usa en la mayoría de los lenguajes de programación
  • Para los programadores jóvenes, resulta útil diseñar e implementar lenguajes pequeños de propósito específico
  • Yacc y Lex son herramientas que facilitan el análisis gramatical y léxico, y son buenos ejemplos de lenguajes patrón-acción

1 comentarios

 
GN⁺ 2024-07-19
Comentarios en Hacker News
  • Brian Kernighan se unió al departamento de CS de Princeton en 2000, pero ya había impartido una clase en 1993 cuando estaba en Bell Labs Research
  • Un estudiante llevó a clase una laptop 386sx con Linux temprano ejecutándose y dio una respuesta a una pregunta sobre awk. Brian tuvo contacto con Linux relativamente pronto
  • Hay un texto de Brian sobre haber puesto en Internet el directorio telefónico gratuito de AT&T en el otoño de 1994
  • Lex Fridman hizo una entrevista de hora y media con Brian Kernighan
  • Una entrevista más completa junto con Aho y Weinberger está incluida en el libro "Masterminds of Programming". Muy recomendada
  • Hace tiempo alguien escribió en una firma de Usenet: "perl es margarina, awk es mantequilla". Después de descubrir Perl, usé menos awk
  • Estoy leyendo el libro "The Unix Programming Environment". awk tiene muchas similitudes con lenguajes populares actuales (js, lua, python, perl, tcl)
  • La versión de awk de Unix Seventh Edition de 1979 tenía 2680 líneas de código fuente, y el ejecutable ocupaba 46k y corría dentro del espacio de direcciones de 64k del pdp-11. No tenía funciones definidas por el usuario
  • bc sí tenía funciones definidas por el usuario
  • Tengo un libro K&R firmado por el Dr. Kernighan de una conferencia australiana de Unix en los 80. Es una posesión muy preciada
  • Ese libro, junto con "The Practice of Programming" y la revista Byte, cumplían el papel de "Stack Overflow" en los años 80
  • Es interesante que mencionara los arreglos asociativos como algo "más o menos nuevo". En Lisp ya existían casi 20 años antes
  • En regex, la secuencia de desarrollo que va de lex a yacc y luego a awk se siente muy convincente
  • Muy conciso
  • El creador de awk: divertido