Что означает слово "семантический" в контексте компьютерной науки?
Я продолжаю использовать это слово, и я никогда не понимаю его использования или передаваемого значения.
Фразы вроде...
"добавить семантику для тех, кто читает"
"семантика HTML5"
"семантическая сеть"
"семантически правильный способ..."
... запутайте меня, и я говорю не только о сети. Является ли это еще одним способом сказать "грамматика" или "синтаксис"?
Спасибо!
Ответы
Ответ 1
Семантика - это смысл различных элементов в программе (или что-то еще).
Например, рассмотрим этот код:
int width, numberOfChildren;
Обе эти переменные являются целыми числами. С точки зрения компилятора они точно такие же. Однако, судя по именам, это ширина чего-то, а другая - количество других вещей.
numberOfChildren = width;
Синтаксически это на 100% нормально, поскольку вы можете назначать целые числа друг другу. Однако семантически это совершенно неправильно, так как ширина и количество детей (возможно) не имеют никаких отношений. В этом случае мы бы сказали, что это семантически некорректно, даже если компилятор разрешает это.
Ответ 2
Синтаксис - это структура. Семантика имеет значение. Каждый другой контекст придаст термину другой оттенок значения.
В HTML 5, например, есть новые теги, предназначенные для предоставления значений для данных, которые обернуты в теги. Тег <aside>
передает, что данные, содержащиеся внутри, касательно связаны с информацией вокруг себя. Смотрите, это значение, а не разметка.
Посмотрите этот список новых семантических тегов HTML 5. Сравните их с более старыми и знакомыми HTML-тегами, такими как <b>
, <em>
, <pre>
, <h1>
. Каждый из них повлияет на внешний вид содержимого HTML, отображаемого в браузере, но они не могут сказать нам, почему. Они не содержат информации о значении.
Ответ 3
Это означает "значение", то, что у вас осталось, когда вы уже учли синтаксис и грамматику. Например, в С++ i++;
определяется грамматикой как действительная инструкция, но ничего не говорит о том, что она делает. "Приращение я на единицу" - это семантика.
HTML5-семантика - это то, на что должно быть помещено корректное HTML5-описание. "Семантическая сеть" - это, как правило, сеть, где ссылки и поиски имеют смысл, а не слова. Семантически правильный способ сделать что-то - это сделать, чтобы это правильно.
Ответ 4
Слово "семантический" как прилагательное просто означает "значащее, которое очень связано со словом" высокий уровень "в информатике.
За исключением случаев:
Семантическая модель данных:
модель данных, которая является семантической, которая имеет смысл и понимается кем угодно, независимо от его происхождения или опыта.
С++ менее семантический, чем Java, потому что Java использует значимые слова для своих классов, методов и полей.
HTML5-семантика: ссылайтесь на теги, которые описывают себя такими,
и т.д.
Ответ 5
Ознакомьтесь с этой страницей wiki:
http://en.wikipedia.org/wiki/Semantics#Computer_science
Очень хорошее описание.
Ответ 6
Это не только терминология в области компьютерных технологий, и если вы спросите,
Что означает значение за этим языком программирования Computer Science?
то я боюсь, что мы получим рекурсивный цикл, как this.
Ответ 7
В мире HTML термин "семантика" используется для разговора о значении тегов, а не просто о том, как выглядит вывод. Например, он распространен для выделения курсивом иностранных слов, а также для выделения выделенных курсивом выделенных слов. Вы можете просто обернуть все иностранные или подчеркнутые слова в теги <i>..</i>
, но это только описывает, как они выглядят, и не описывает, почему они выглядят таким образом.
Лучшим тегом для использования выделенного слова является <em>..</em>
, потому что он передает семантику акцента. Браузер (или ваша таблица стилей) может затем сделать их курсивом, а другие пользователи страницы будут знать, что слово подчеркивается. Например, программа-читатель может правильно читать ее как подчеркнутое слово.
Ответ 8
С моей точки зрения, это почти похоже на синтаксис в грамматическом ключе. Я не могу говорить с семантикой в широком смысле, но когда люди говорят о семантике в Интернете, они обычно ссылаются на идею, что если вы удалите все css и javascript и т.д.; то, что осталось (голые кости html), имеет смысл читать.
Он также учитывает использование правильных тегов для правильной разметки. Это связано с старыми табличными макетами (таблицы должны использоваться только для табличных данных) и с использованием списков для представления содержимого, подобного списку.
Вы бы не использовали h1 для чего-то менее важного, чем h2. Это не имеет смысла.