Откуда взялось слово "прагма"?

Итак, я знаю, что такое прагма и для чего она используется, но в чем смысл самого слова? Я использовал его много раз в коде, но я никогда не знал, что на самом деле означает или означает это слово.

Ответ 1

В соответствии с государственным (!) документом США, описывающим дизайн Ada: Обоснование для разработки Язык программирования Ada®:

Прагма (от греческого слова, означающего действие) используется для направления действий компилятора, в частности, но не влияет на семантику программа (в общем).

Мне нравится (последняя оговорка) там...

Этот крест хорошо ссылается на онлайновые греческие словари (например, цитируется Martin York), которые говорят прагма (πράγμα, как прокомментировал исходный вопрос асвекау) означает:

  • то, что было сделано, дело, совершенный факт
  • что сделано или выполнено
    • спецификации. бизнес, коммерческая сделка.
  • вопрос, вопрос, дело
    • спецификации. в судебном смысле, дело по закону, дело, костюм
  • то, что есть или существует, вещь

Кажется, что ключом к пониманию является действие слова, а не информация.

Ответ 2

В математике и логике прагма является данным, фактом, предпосылкой для аргумента, проблемы или доказательства, которое следует.

Ответ 3

Выталкивается прямо из Wikipedia (программирование):

В Ada директивы компилятора называются прагмами (сокращение от "прагматической информации" ).

Пока это не явно для C, это должно ответить на ваш вопрос. Однако, как T.J. указал, что для этой части информации нет достоверного источника.

Ответ 4

От древнегреческого:

прагма: дело сделано, факт

Как и все, что вышло, кто-то пытался быть слишком умным для своего же блага. К сожалению, его первоначальное значение теряется для всех нас (если у вас нет Google и латинского/греческого на английский словарь).

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

Оригинал (это то, что говорит вышеприведенная страница, но у меня нет копии этой книги):

Тайер и Смит. "Вступление греческого словаря для Прагмы". "Новый Завет греческого словаря".

Ответ 5

Язык программирования Ada, возможно, был первым компилятором, который использовал прагму для указания директив препроцессора. Слово использовалось как сокращенная форма "прагматической информации"

Когда язык программирования C был спроектирован, он изначально не имел директив pragma, но был быстро добавлен в спецификацию для поддержки пользовательских функций компилятора. (т.е. #pragma optimization_level для компилятора Intel С++)

С тех пор многие языки реализовали прагму в той или иной форме, включая С#, но часто ограничиваются предупреждениями о времени и подсказками по оптимизации.

Один из самых распространенных и полезных прагм в нестандартных C и С++ - # pragma once, используемый для указания того, что файл должен только включается один раз.