De onde vem a palavra “pragma”?

83

Portanto, sei o que é pragma e para que serve, mas qual é o significado da palavra em si? Já usei isso muitas vezes em código, mas nunca soube realmente o que a palavra realmente significa ou significa.

MGSoto
fonte
13
Ele tem raízes no termo grego πραγμα, que é a raiz de "pragmático". Isso é o melhor que posso te dizer.
asveikau
6
1 Sempre me perguntei isso, mas por algum motivo nunca pensei em perguntar aqui.
Jay Riggs
23
@AaronMcSmooth Como isso está fora do assunto? Está relacionado à programação.
Firoso
7
Ei, pessoal, pragmas são relacionados à programação. É justo se perguntar de onde vem o termo e perguntar a seus colegas no desenvolvimento profissional de software, não é?
TJ Crowder
6
@AaronMcSmooth, leia o FAQ, isso não se qualifica como fora do tópico. Também saber quem foi Ada Lovelace faz de você um programador melhor? não? então por que ela é mencionada em todos os currículos de ciência da computação que eu conheço.
Firoso

Respostas:

64

De acordo com um documento do governo dos EUA (!) Que descreve o design de Ada: Justificativa para o design da linguagem de programação Ada® :

Um pragma (da palavra grega que significa ação) é usado para direcionar as ações do compilador de maneiras específicas, mas não tem efeito sobre a semântica de um programa (em geral).

Eu gosto da (última advertência) lá ...

Esta referência cruzada com dicionários gregos on-line (por exemplo, como citado por Martin York ) que dizem pragma ( πράγμα , como comentado na pergunta original por asveikau) significa :

  1. o que foi feito, uma ação, um fato consumado
  2. o que está feito ou sendo realizado
    1. spec. negócio, uma transação comercial
  3. um assunto, questão, caso
    1. spec. no sentido forense, uma questão de lei, caso, processo
  4. aquilo que é ou existe, uma coisa

Parece que a chave para a compreensão é a palavra ação, e não informação .

martin clayton
fonte
Ótima resposta, uma ótima referência e resumo de seu conteúdo. Obrigado!
MGSoto
18

Em matemática e lógica, um pragma é um dado, um fato, um pré-requisito para o argumento, problema ou prova que se segue.

Coelho curioso
fonte
16

Extraído diretamente da Wikipedia (programação):

Em Ada, as diretivas do compilador são chamadas de pragmas (abreviação de "informação pragmática").

Embora não seja explicitamente para C, isso deve responder à sua pergunta de qualquer maneira. No entanto, como TJ apontou, não existe uma fonte válida fornecida para esta informação.

Phlibbo
fonte
8
Lembre-se, esse artigo não cita nenhuma fonte original ... e pesquisar em A Famous Web Search Engine por "+ pragma + pragmático + ada" resulta em uma lista muito, muito curta de sites claramente não canônicos. Não significa que não seja verdade.
TJ Crowder
1
Você está absolutamente certo, uma fonte seria muito apreciada. Mesmo assim, acho melhor deixar a resposta, a menos que eu esteja errado.
Phlibbo
7

Do grego antigo:

pragma: uma coisa feita, um fato

Como acontece com todas as coisas geeks, alguém estava tentando ser inteligente demais para seu próprio bem. Infelizmente, seu significado original se perde para o resto de nós (a menos que você tenha o Google e um dicionário de latim / grego para inglês à mão).

http://www.studylight.org/lex/grk/view.cgi?number=4229
http://www.bibletools.org/index.cfm/fuseaction/Lexicon.show/ID/G4229/pragma.htm

Original (é o que diz a página acima, mas não tenho uma cópia desse livro):

Thayer e Smith. "Entrada do léxico grego para Pragma". "The New Testament Greek Lexicon".

Martin York
fonte
3

A linguagem de programação Ada foi provavelmente o primeiro compilador a usar pragma para especificar as diretivas do pré-processador. A palavra foi usada como uma forma abreviada de "informação pragmática"

Quando a linguagem de programação C foi projetada, ela inicialmente não tinha diretivas pragma, mas foi rapidamente adicionada à especificação para oferecer suporte aos recursos do compilador personalizado. (ou seja, #pragma optimization_level para o compilador Intel C ++)

Desde então, muitas linguagens implementaram o pragma de uma forma ou de outra, incluindo C #, mas muitas vezes são limitadas a construir avisos de tempo e dicas de otimização.

Um dos pragmas mais comuns e úteis, em C e C ++ não padrão, é #pragma uma vez usado para especificar que um arquivo deve ser incluído apenas uma vez.

Firoso
fonte