Семантика (программирование): что это, примеры, важность

Семантика (программирование): что это, примеры, важность

Когда речь заходит о программировании, то нередко вопросу семантики уделяется достаточно много внимания. И не спроста, так как вы можете уметь писать код с использованием языков программирования, но это не заменит семантику. Собственно, в этом и рассмотрим что такое семантика, какой смысл, примеры, важность и ряд нюансов.

 

Семантика в программировании

Семантика (программирование): что это, примеры, важность

Семантика (программирование) - это соответствие между синтаксически правильными программами и действиями абстрактного вычислителя (оборудования), то есть это смысл синтаксических конструкций (кода).

Семантика (программирование) - это дисциплина, изучающая формализации значений конструкций языков программирования посредством построения их формальных математических моделей.

Какая основная цель, когда пишут программы? Правильно, чтобы они выполняли нужные задачи в конкретном оборудовании (компьютер или другая техника). Однако добиваться этого результата можно разными методами. Скажем, код программы может быть функционирующим, но неоптимизированным и крайне сложным для изучения. И тот же код может быть оптимизированным и удобным для чтения. Вроде бы обе программы выполняют одно и тоже, но семантически отличаются.

Также вам может быть интересен обзор Что такое Синтаксис в программировании?

 

Смысл семантики в примерах

Рассмотрим смысл семантики в простых примерах.

Пример первый

<b></b>
<strong></strong>

Эти два тега выводят жирным текст. Однако смысл этих тегов отличается (как воспринимают поисковые системы это вне обзора). Тег b означает выделение текста без придания важности. Тег strong подразумевает не только выделение, но и повышенную важность текста. Для пользователя выглядит одинаково, но разница существует.

Второй пример:

$arr = array( '1', '2', '3', '4', '5' );
// Проходим массив с помощью for
for($cnt = 0; $cnt < count($arr); $cnt++) {
// Какой-нибудь код
}
// Как другой вариант, проходим массив с помощью foreach
foreach($arr as $item) {
// Какой-нибудь код
}

В данном примере один и тот же массив пробегается с помощью for и foreach. Результат может быть одинаковым, но вот его достижение разное, так как используются разные подходы. Но это не единственный момент. Скажем, если вместо простого перечисления данных массив пополнится поименованными элементами, то это может потребовать дополнительных телодвижений (в каждом случае разных).

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

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

 

Семантика: важность

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

Тем не менее, стоит отметить, что порой специально в программах оставляют куски кода не в самом лучшем виде, подразумевая последующее переписывание. Зачем так делают? Как минимум это снижает время и силы для реализации. Скажем, если вы понимаете, что в следующей версии нужно будет делать какую-то полноценную функциональность программы, но в текущий момент требуется только несколько простых вещей, то эффективнее сделать последние не самым оптимальным образом, как минимум быстрее фидбэк от клиентов будет.

Также важно отметить, что качественный подход к семантике означает, что код в последующем будет легче расширять и проще поддерживать. Если приводить простой пример из жизни, то это как бардак на столе или его отсутствие. Если бардак большой, то необходимость, скажем, найти несколько нужных вам вещей может превращаться в длительный и утомительный поиск. Но чем бардак меньше, тем быстрее вы сможете найти вещи и сделать с их помощью что-нибудь полезное.

Также вам могут быть интересны обзоры:

1. Что такое Тестирование в ИТ?

2. Информационная система - что это такое?

3. Что такое семантическое ядро сайта?

4. Сочетание функциональности и интерфейса.

5. Правила написания кода: сложные или простые конструкции использовать?

Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

Социальные сети

☕ Понравился обзор? Поделитесь с друзьями!

Добавить комментарий / отзыв
Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Социальные сети
Программы (Freeware, OpenSource...)