Чтобы лучше понять различия между этими терминами, я думаю, что важно сначала узнать некоторую историю, лежащую в основе них. В первые дни оцифровки документов и ограниченной вычислительной мощности программистам было поручено найти способы сделать этот процесс более быстрым и эффективным. Если мы разберем эту проблему, то увидим, что при рендеринге любого документа необходимо решить 3 основных проблемы редактирования. Эти:

  1. Содержание. Фактическая информация, которая должна отображаться. Это относится ко всем фактическим словам, которые составляют документ и которые также передают какое-то значение.
  2. Структура. Так организована вся информация в документе. По сути, это разбиение контента на более мелкие части информации, которые можно легко прочитать или проанализировать.
  3. Форматирование. Это просто то, как вы хотите, чтобы этот документ визуально отображался для того, кто его читает. Например, заголовок должен иметь больший размер шрифта, чем остальной текст, и быть полужирным.

Каждую из этих проблем нужно было бы решать отдельно, и для этого потребовалось бы много вычислительной мощности, так как контент нужно было бы загружать заново каждый раз, когда нужно было настраивать один из этих процессов. Первой попыткой объединить эти проблемы редактирования в один процесс явилась разработка GML (Generalized Markup Language) в 1960-х годах тремя сотрудниками IBM, которым приходилось иметь дело с этой проблемой: Чарльзом Голдфарбом, Эдвардом Мошером и Раймондом Лори. . Также не случайно GML является первым инициалом фамилии каждого учредителя.

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

Поскольку вычислительная мощность быстро увеличивалась, и все больше людей привлекалось к разработке документов и веб-сайтов, использование SGML (стандартизованная версия GML) оказалось затруднительным. Хотя это дало отличный результат (удобные для читателя документы), в нем было слишком много правил, которые нужно было соблюдать, иначе весь процесс не сработал бы. Это привело к развитию HTML (язык гипертекстовой разметки). Как и SGML, HTML будет заключать контент в теги, но, в отличие от него, правила относительно того, какие теги могут использоваться, когда и где, были гораздо менее строгими. Хотя это не сильно повлияло на форматирование документа (например, если что-то должно быть более крупным и жирным, вы помещаете это в тег заголовка, независимо от того, где он находится), на самом деле это повлияло на структуру информации в документ (чем менее строгие правила, когда и где могут использоваться теги, тем меньше структуры вы можете поддерживать).

На тот момент простота использования HTML была отличной для разработчиков, но отсутствие структуры, обеспечиваемой SGML, по-прежнему отсутствовало. Это привело к созданию XML (расширяемого языка разметки). XML попытается решить эту проблему напрямую, поддерживая все строгие правила SGML, таким образом поддерживая структуру информации (как это делает база данных), не беспокоясь о форматировании вообще (это оставалось на усмотрение HTML). . Это также решило бы другую проблему, которая связана со стремительно растущим объемом доступного контента. Например, если у вас есть миллионы записей, которые все структурированы одинаково, они могут быть сохранены где-то отдельно, и при необходимости документ (или веб-страница) будет вызываться. XML будет форматом отправки и получения этих записей, а HTML будет отвечать за форматирование и отображение тех, которые запрашиваются. Теперь мы успешно решили все три проблемы, связанные с отображением удобного и читаемого документа или веб-страницы!

Фактически, это та же базовая модель, которую используют сегодня веб-страницы. Хотя XML все еще используется сегодня и имеет некоторые преимущества по сравнению с другими методами структурирования информации, наиболее широко используемым форматом является аналогичный формат JSON (объектная нотация JavaScript). Его популярность выросла в основном благодаря развитию веб-приложений, которые в основном заключаются в наличии веб-сайтов, которые делают что-то, а не просто отображают информацию (подумайте о динамических и статических веб-сайтах). Поскольку эти веб-приложения разрабатываются с использованием таких языков, как javascript (а не языков разметки, которые просто связаны с отображением материала), имело смысл иметь способ структурирования информации таким образом, чтобы можно было более легко и плавно взаимодействовать с этими языками.