Автор Тема: Что должно быть вместо HTML  (Прочитано 21589 раз)

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Что должно быть вместо HTML
« : Декабрь 19, 2012, 05:52:05 pm »
Закончена разработка HTML5. Наметился HTML5.1. Вместо того, чтобы полностью отказаться от этого г-на: html+css+js, будут и дальше тянуть всю эту костыльную бездонную коробку-с-фичями с вечными проблемами отображения в разных браузерах на разных осях.
Что по-вашему мнению должно быть взамен? Я думаю, что точно должно быть, первым пунктом, это полное отделение контента от его представления.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #1 : Декабрь 19, 2012, 06:46:47 pm »
Что по-вашему мнению должно быть взамен? Я думаю, что точно должно быть, первым пунктом, это полное отделение контента от его представления.
ОК. Отдели пожалуйста контента фотографии от его представления.
Y = λf.(λx.f (x x)) (λx.f (x x))

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #2 : Декабрь 19, 2012, 07:07:33 pm »
Контент: ссылка на фотографию
Представление: данные о размещении фотографии на странице

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #3 : Декабрь 19, 2012, 07:18:53 pm »
"Полное отделение" - как раз тупик.

А более правильный путь - уход от декларатива к частичной процедурности.
Фиксированный базовый API и набор объектов плюс обычный алгоритм позволяют сделать то же самое, что декларатив с сотнями фич... не говоря уже про декомпозицию, параметризацию и проч., и проч.

Попробуйте изобрести, например, декларатив, который заменил бы программирование 3D-графики.

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #4 : Декабрь 19, 2012, 07:22:56 pm »
Посмотрим, например, на LaTeX, который имеет почти тьюринг-полный макроязык.

Я опишу процедуру "Задача" с параметрами и буду вызывать её всякий раз, когда в тексте встречается задача. И моя процедура будет выполнять все нужные команды, чтобы оформить её так, как надо. Вплоть до самых примитивных инструкций базового TeX-а.
И никаких таблиц стилей, правил, их привязывающих, и т.п.

Единственное, шо сам язык дремучий, макроязык.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #5 : Декабрь 19, 2012, 07:57:03 pm »
"Полное отделение" - как раз тупик.

А более правильный путь - уход от декларатива к частичной процедурности.
Фиксированный базовый API и набор объектов плюс обычный алгоритм позволяют сделать то же самое, что декларатив с сотнями фич... не говоря уже про декомпозицию, параметризацию и проч., и проч.

Попробуйте изобрести, например, декларатив, который заменил бы программирование 3D-графики.

Ты, как и многие, путаешь понятия, или не до конца их понимаешь :-) Декларатив не противоречит императивности (список необходимых действий) равно как и не протифорчеит функциональщине. Декларативное программирование - более высокоуровневое понятие.
Y = λf.(λx.f (x x)) (λx.f (x x))

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #6 : Декабрь 20, 2012, 05:30:44 am »
Что их путать, понятия, если они и сами без меня запутаны :)

Под "декларативом" и "процедурностью" я имею в виду не больше и не меньше, чем то, как это проявляется в обсуждаемой теме.

Ср. обобщение в оформлении через декларативные правила CSS или через макропроцедуры в LaTeX :)

Madzi

  • Jr. Member
  • **
  • Сообщений: 86
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #7 : Декабрь 20, 2012, 10:42:38 am »
А чем, собственно не устраивает связка HTML + CSS + JS ?
HTML - содержит метаинформацию и данные
CSS - указания на то, как эти данные разместить (отобразить)
JS - позволяет придать интерактивность данным (задать поведение).

Другое дело, что отдельные товарищи (которые нам совсем не товарищи), пытаются слепить всё в одну кучу, и очень часто js код оказывается не в отдельном файле, где ему положено быть, а в html файле, и даже в css файле. Ну так это проблемы отдельных товарищей.
Можно просто на уровне стандарта запретить поддержку выполнения js в html и в css файлах. Ну и запретить прописывать стили явно в html. В остальном всё очень даже неплохо.

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #8 : Декабрь 20, 2012, 10:50:21 am »
Я тоже соглашусь, что неплохо.
При определённых соглашениях, ограничениях (типа использовать только XML-валидный HTML - XHTML ну или HTML-5, соответствующий ему по оформлению).

Жить можно, но "прочистки" всё это хозяйство, несомненно, требует.

Илья Ермаков

  • Sr. Member
  • ****
  • Сообщений: 493
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #9 : Декабрь 20, 2012, 10:52:32 am »
Дело усугубляется тем, что всякие учебники по веб-программированию обычно написаны в "быдло-кодинг-стиле". Мне известно только одно русскоязычное пособие (на ИНТУИТе), посвящённое XHTML. В остальных пишут любое порно, на свой вкус.
И это если говорить только об оформлении кода, а не о более высокоуровневых вопросах...

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #10 : Декабрь 20, 2012, 11:22:48 am »
А чем, собственно не устраивает связка HTML + CSS + JS ?
HTML - содержит метаинформацию и данные
CSS - указания на то, как эти данные разместить (отобразить)
JS - позволяет придать интерактивность данным (задать поведение).
Три совершенно разных языка. Бардак смешения каждого с каждым. HTML содержит не только метаинформацию и данные но и их размещение, и чтобы его изменить, необходимы кучи костылей. CSS постоянно наращивает интерактивность, по сути это и есть скриптовый язык, тогда нахрен нужен JS? И наконец, сам HTML: построение на принципах xml явно избыточно и громоздко, посмотрите к примеру отличие гуглевского Protocol Buffers от xml.

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #11 : Декабрь 20, 2012, 03:27:01 pm »
Закончена разработка HTML5. Наметился HTML5.1. Вместо того, чтобы полностью отказаться от этого г-на: html+css+js, будут и дальше тянуть всю эту костыльную бездонную коробку-с-фичями с вечными проблемами отображения в разных браузерах на разных осях.
Что по-вашему мнению должно быть взамен? Я думаю, что точно должно быть, первым пунктом, это полное отделение контента от его представления.
По моему мнению, текущий стек из html+js+css много лучше того, что можно было бы ожидать. И лучше этого в принципе я ничего не видел.

Но проблема конечно же есть. Проблема не в технологиях как таковых, а в том, что до сих пор не понятно что же мы хотим в итоге получить, что именно должно быть в окошке браузера.

Изначально это был простой и тупой как валенок гипертекстовый документ. Потом туда стали добавлять интерактивные элементы. Появился js.

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

То есть не понятно что же в результате мы хотим получить, какое будущее у браузеров/гипертекста/веба. Это никто не знает и знать не может. Поэтому стек из html/css/js делается таким, чтобы он мог все. И это получается у них много лучше чем можно было бы ожидать (с учетом мультивендорности браузеров, с учетом разных интересов, и с учетом того, что обратную совместимость ломать резко нельзя). По сути это все развивается в отсутствии ТЗ и даже примерного представления того, что и зачем должно получиться.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #12 : Декабрь 20, 2012, 03:32:19 pm »
Другое дело, что отдельные товарищи (которые нам совсем не товарищи), пытаются слепить всё в одну кучу, и очень часто js код оказывается не в отдельном файле, где ему положено быть, а в html файле, и даже в css файле. Ну так это проблемы отдельных товарищей.
Можно просто на уровне стандарта запретить поддержку выполнения js в html и в css файлах. Ну и запретить прописывать стили явно в html. В остальном всё очень даже неплохо.

Ну вот. Файловое мышление в действии. Ну нету файлов в http/html. И на сервере файлов возможно нет. А то что там что-то где-то отдельным урлом - так это часто минус, ибо полная загрузка страницы получается сильно медленней, если их много.

У разработчика js и html могут быть в разных файлах (или что там у него в IDE вместо), а вот на выходе из веб-сервера это все может приехать в едином http-ответе, без урлов унутре, в единой слепленой html'ине.

PS. И да, если нужен простейший скриптинг в простейшей странички, то довольно глупо это все раскидывать по десятку сущностей.
Y = λf.(λx.f (x x)) (λx.f (x x))

valexey_u

  • Hero Member
  • *****
  • Сообщений: 3013
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #13 : Декабрь 20, 2012, 03:38:34 pm »
И наконец, сам HTML: построение на принципах xml явно избыточно и громоздко, посмотрите к примеру отличие гуглевского Protocol Buffers от xml.
HTML построен не на принципах xml, а на принципах sqml. XML сильно проще.

Сравнивать google protobuf с xml я не понимаю как вообще возможно. Они сильно для разных вещей сделаны. Нет, конечно в xml можно запихать все что угодно, и была в свое время мода все что есть пихать в xml, так гугл не стал это делать. Равно как не делали это и другие вменяемые люди. Google Protobuf можно сравнивать с ASN.1, и тут протобуф выиграет наверно только в одном пункте - он проще. По всем остальным пунктам протубаф проиграет.

Так вот, google protobuf не годится в качестве базы html. Вообще не годится. Оно не для этого.
Y = λf.(λx.f (x x)) (λx.f (x x))

Vartovyj

  • Full Member
  • ***
  • Сообщений: 197
    • Просмотр профиля
Re: Что должно быть вместо HTML
« Ответ #14 : Декабрь 20, 2012, 06:57:45 pm »
Protocol Buffers я привел в качестве примера структуры отличной от html/xml.
Если продолжать сегодняшнюю линейку, то я бы убрал js и flash. CSS должен иметь все возможности скриптового языка по обработке на стороне клиента.