2010-09-24 3 views
75

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

+11

Он имеет корни в греческом термине πραγμα, который является корнем «прагматического». Это лучшее, что я могу вам рассказать. – asveikau

+6

+1 Я всегда удивлялся этому, но почему-то никогда не думал спрашивать здесь. –

+2

@Jay. Одна из причин, по которой вам, возможно, не приходило в голову спросить об этом, заключается в том, что это явно не соответствует теме. – aaronasterling

ответ

58

Согласно правительством США принадлежит документ, описывающий дизайн Ада (!): Rationale for the Design of the Ada® Programming Language:

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

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

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

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

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

+0

Отличный ответ, очень хорошая рекомендация и резюме его содержания. Благодаря! – MGSoto

+0

Итак, прагма не подходит для [прагматики] (https://en.wikipedia.org/wiki/Pragmatics) ... – Pacerier

15

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

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

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

+8

Разум, в этой статье не приводятся * любые * оригинальные источники ... и поиск в A Famous Web Search Engine для «+ прагма + прагматика + ada» появляется очень, очень короткий список явно неканонических сайтов. Не означает, что это неправда. –

+1

Вы абсолютно правы, источник будет оценен по достоинству. Тем не менее, я думаю, лучше оставить ответ, если я не ошибаюсь. – Phlibbo

7

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

Прагма: вещь сделано, факт

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

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

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

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

3

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

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

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

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

17

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

+0

ITYM их история. –

Смежные вопросы