HTML - уникальная концепция в программировании. До Интернета программирование было локальным. С появлением локальных сетей оно стало многопользовательским и распределенным, но это не было столь кардинальным явлением, как идея гипертекста и ее стремительное развитие.
Особенности спецсимволов и гипертекста
До интернет-программирования все было строго. Есть данные и есть код, который их обрабатывает. Есть комментарии, в которых не может быть никакого кода.
Классическое программирование допускало только одно исключение: возврат каретки, перевод строки, табуляцию и другие «невидимые» символы, но правильнее - действия. Это еще не HTML-символы, а только коды, имеющие специальные символьные обозначения. Под специальными символами понималось то, что не имеет места в наборах «видимых» знаков, цифр и букв национальных алфавитов.
Комментарии довольно быстро приняли стандартную форму:
- // - и все до конца одной строки - это НЕ КОД;
- /* ... любой текст ... */ - здесь между «/*» и «*/» может быть сколько угодно строк любого текста.
В комментариях никогда не было никакого кода, никаких установок, никаких дополнений к коду программы. Комментарии любой язык программирования просто пропускал. Гипертекст пошел дальше (или это сделал IE по инициативе Microsoft?). Во первых, здесь комментарий обозначается:
- «» - конец, лучше писать «//-->».
Во вторых, комментарий теперь может быть условным. Само по себе назначение комментарию иного смысла, чем «пояснения по данным и коду алгоритма ...» - нонсенс.
В данном примере «комментарии», выделенные малиновым фоном, гарантируют фатальную ошибку HTML-страницы.
Обычные и специальные символы в HTML
Коды символов имеют значение. Это совершенно иное значение, чем знак, цифра или буква.
Например, символ «
Обычные символы в языке гипертекста получают двойное значение:
- они остаются привычными и востребованными;
- некоторые символы приобретают статус специальных.
Специальные HTML-символы требуют к себе особого отношения. Например, предварительный обратный слэш "\", экранирование, преобразование в цифровой код или мнемоническое обозначение. Для строки браузера все буквы кириллицы - это «спецсимволы».
Можно отписать проблему кодировки символов на начало компьютерной эры, когда восьмибитовая таблица вмещала в себя только знаки, цифры, латиницу и национальный алфавит (например, кириллицу). Остальные символы были специальными, имели мнемонические изображения и использовались для действий (управление принтером, портом, внутренними или внешними устройствами). Но начало компьютерной эры не при чем, проблема образовалась совсем в другом месте и в ином смысле.
Гипертекст и кодирование
Нет никаких сомнений, что HTML и символы - это задача о том, как символами описать другие символы. Естественно, придется признать часть символов специальными и использовать их для описания самих себя и других символов. Несмотря на откровенные ляпы с комментариями, гипертекст - объективный результат развития информационных технологий и блестящее решение проблемы специальных символов.
В Интернете спецсимволам уделено так много внимания, что проблема кодирования веб-страницы - это знания и умения разработчика. Если специальные символы HTML разработчик использует правильно, сайт будет работать безукоризненно и стабильно.
Каждый специальный символ имеет мнемоническое изображение, десятичный и шестнадцатеричный код. В различных условиях применения допустимо использование:
- любого из этих вариантов;
- только одного.
Далеко не всегда и не каждый браузер сообщает об ошибочном использовании специального символа и демонстративно уходит в себя, предъявляя разработчику белое окно. При фактическом наличии знаний и умений у разработчика проблем в программировании не будет никогда.
CSS, XML, HTML и символы - это одна стройная система, необходимо просто трансформировать ее логику в нужный комплекс знаний и умений. Например, в коде страницы '«' - это '«', но в правиле content CSS - это '