-
Breve entrevista com o Dr. Brian Kernighan, criador do AWK
-
Apresentação do Dr. Brian Kernighan
- Dr. Brian Kernighan é um cientista da computação canadense que contribuiu para o desenvolvimento do UNIX no Bell Labs
- Coescreveu com Dennis Richie o livro fundamental sobre a linguagem de programação C, "The C Programming Language"
- Desde 2000, vem formando a próxima geração de programadores na Princeton University
- É famoso por ter escrito o primeiro programa "Hello World!"
-
A nova ideia do AWK
- A principal ideia do AWK são os arrays associativos (
associative arrays) - Na época, era um conceito novo, mas hoje é usado na maioria das linguagens como função de biblioteca (
hashmapsem Java ou C++) ou como parte da própria linguagem (dictionariesem Perl e Python) - Arrays associativos são estruturas muito poderosas e podem ser usados para simular vários tipos de estruturas de dados
- O paradigma pattern-action também não era amplamente usado na época, mas é uma forma eficaz de organizar certos tipos de computação
- A principal ideia do AWK são os arrays associativos (
-
Referências usadas ao criar a linguagem de programação
- Dr. Kernighan: "Nenhuma"
- Na década de 1970, havia muitas novas linguagens de propósito específico, e quase não existiam referências anteriores que servissem de base
- Yacc foi uma ferramenta importante por permitir criar e experimentar gramáticas com facilidade
- Lex desempenhava o mesmo papel no nível lexical, substituindo muito código tedioso por um conjunto de regras
- Lex e Yacc são exemplos de linguagens pattern-action e formavam um ciclo positivo entre si
-
Conselho para jovens interessados em design de linguagens de programação
- Ele aconselha projetar e implementar uma pequena linguagem de propósito específico
- Isso é muito divertido e útil, além de ser bem mais fácil do que criar uma linguagem alternativa ao Rust ou ao C++
- Recomenda encontrar uma tarefa que possa ser automatizada e criar um compilador simples com runtime
- Um artigo relacionado escrito por Jon Bentley há muito tempo ainda continua atual
-
Fonte da imagem
- Wikimedia Commons
-
Resumo do GN⁺
- Dr. Brian Kernighan é uma figura importante que contribuiu para o desenvolvimento do UNIX e da linguagem C, além de ser o criador da linguagem AWK, que introduziu os arrays associativos e o paradigma pattern-action
- Arrays associativos são estruturas de dados poderosas usadas hoje na maioria das linguagens de programação
- Para jovens programadores, projetar e implementar uma pequena linguagem de propósito específico pode ser muito proveitoso
- Yacc e Lex são ferramentas que facilitam a análise gramatical e lexical e são bons exemplos de linguagens pattern-action
1 comentários
Comentários do Hacker News