Гипертекст, веб и html

15.09.2007 08:07
Гипертекст, веб и html @ spectator.ru

Много умных букв.

На эту заметку ссылаются:

  • Изобретение вебдваноля
  • Zoob.ru
    Spectator strikes back!

    Автор ответил:
    Spectator strikes back and forth, back and forth.
    Разве что
    > Следует отметить, что теги B и STRONG, также как I и EM, несмотря на сходство результат, являются не совсем эквивалентными и заменяемыми. Первый тег B — является тегом физической разметки и устанавливает жирный текст, а тег STRONG — тегом логической разметки и определяет важность помеченного текста. Такое разделение тегов на логическое и физическое форматирование изначально предназначалось, чтобы сделать HTML универсальным, в том числе не зависящим от устройства вывода информации. Теоретически, если воспользоваться, например, речевым браузером, то текст, оформленный с помощью тегов B и STRONG, будет отмечен по-разному. Однако получилось так, что в популярных браузерах результат использования этих тегов равнозначен.

    Автор ответил:
    Это не противоречит никак.

    В идеале должно быть, как легко догадаться, strong+css.

    CSS обеспечивает независимость от устройства ввода-вывода, логическая разметка делает его универсальным. То, что было B и STRONG и «получилось так, что в популярных браузерах результат использования этих тегов равнозначен» — косяк как разработчиков языка, так и разработчиков браузеров.

    arty
    недавно встречал мнение, что html смог получить такое широкое распространение именно из-за терпимости к ошибками. Да, он допускает односторонние ссылки и tag soup, но зато дает почти любому человеку возможность участвовать. А академики со своими элитарными стройными гипертекстовыми системами проектировали их еще за 20 лет до Бернерса-Ли, но так и не смогли сделать их доступными массам.

    Автор ответил:
    Он не «допускает» односторонние ссылки, других ссылок просто нет.

    Говенный формат, который удачно прижился — распространенное явление. Что не отменяет факта, что формат говенный, и люди с ним мучаются. А ведь стоило просто сесть при создании и подумать головой чуть лучше.

    Html прижился благодаря интернету, а не своей «терпимости». Он просто удачно лег на среду. Не было бы интернета — никому html нафиг был бы не нужен. И прижился, кстати, не html, а простая идея URI, то есть идея о том, что а) у документа есть адрес, б) на этот адрес можно сослаться. И всё. Идея правильная, реализация — гавно.

    Потом, кстати, благодаря той же «терпимости» возникла куча говнобраузеров в главе с IE, которые тоже всё допускали. Кончилось это понятно чем.

    arty
    оба документа могут ссылаться друг на друга. Это можно считать двусторонней ссылкой, а можно и не считать : )

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

    что касается «Html прижился благодаря интернету» — это тоже спорный вопрос : ) Можно ведь сказать и наоборот, что это html вытащил за собой интернет в большую жизнь.

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

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

    я не буду дальше спорить, просто хотел напомнить, что есть разные мнения по этим темам.

    Автор ответил:
    Вы еще кнопку back в браузере вспомните, как пример двусторонней ссылки. Она тоже позволяет ходить туда-сюда.

    Скажем так, интернет и идея гипертекста просто очень удачно подошли друг другу. То есть да, идея URI (aka URL) — это как раз то, что было нужно. Но реализация-то гавно.

    Интернет и html, кстати, поначалу двигала абсолютно та же научная среда. Если бы с самого начала html был бы, скажем так, «построже» и «посложней», то на конечной популярности это мало бы сказалось, а проблем СЕЙЧАС было бы меньше. Человек, который освоил синтаксис html-я так же легко может освоить мысль о том, что синтаксис надо бы соблюдать.

    Почти любой человек все равно видит html через призму wysiwyg, так что проблема генерации правильного кода даже для кухарок не стоит вообще. Все дело в ПО, а не в html.

    С браузерами стало лучше по простой причине: Майкрософт подмял под себя рынок браузеров, после чего все стали ориентироваться на IE, как на стандарт рендеринга. То есть тупо пришел Майкрософт и ввел свои стандарты.

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

    В место этого мы имеем терпимую к ошибкам систему, которая позволяет просто тупо поставить ссылку.

    Дмитрий Смирнов 2.0 RC
    Что, про «раньше гипертекст был лучше» не пошутил? Так я первый буду!

    На самом деле, HTML победил благодаря тому, что был проще. И с точки зрения синтаксиса и терпимости, и с технической точки зрения. Я не думаю, что на заре развития интернета реально было организовать двусторонние ссылки и все такое прочее чисто с точки зрения технических ресурсов.

    Автор ответил:
    HTML ни с кем и не воевал. Чтобы победить надо воевать.
    arty
    «на конечной популярности это мало бы сказалось»

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

    для того, чтобы работать в визивиге, его еще нужно где-то найти/купить, а так на любом компьютере уже стоит текстовый редактор, в котором можно накарябать FONT COLOR="red". В этом тоже простота.

    я сам веб-разработчик, причем любитель оперы, так что тоже мне очень хочется, чтобы «построже» ; )

    Автор ответил:
    Да не сразу все ломанулись клепать порносайты. Сначала интернет был только для узколобиков. Самый первый домен в зоне .su был у кого-то института, например. В качестве иллюстрации.

    А когда первое быдло добралось до, уже был FrontPage 1.0 «и всё такое».

    То, что формат текстовый, еще не говорит о простоте. Простота вовсе не в этом. Те же нерды вполне нормально пользовались TeX-ом, который тоже был таким же низкоуровневым языком разметки, только нормально спроектированным. И тоже по-своему простым.

    Вообще, html был этаким «быстрым хаком»: взяли кастрированный SGML, добавили к нему a href, на коленке написали сервер и браузер. Посмотрели — заработало.

    То есть идея дать каждому документу URL заработала. И ничего более.

    Так и прижилось. Типичный такой опенсорс в худшем его проявлении. Смешной факт: официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

    То есть это не «терпимость к ошибкам» вовсе, а «работа на честном слове».

    PS. Вообще, САМЫЙ ПЕРВЫЙ html-ный редактор, писанный самим Ли, был wysiwyg. Так что вопрос простосты снимается.

    «He wrote the first World Wide Web server, „httpd“, and the first client, „WorldWideWeb“ a what-you-see-is-what-you-get hypertext browser/editor which ran in the NeXTStep environment. This work was started in October 1990, and the program „WorldWideWeb“ first made available within CERN in December, and on the Internet at large in the summer of 1991.»

    Дмитрий Смирнов 2.0 RC
    Победил в умах создателей этого вашего интернета. И тут, на самом деле, проблема не только в HTML, а во всей системе. Обратную ссылку ведь не язык разметки ставить должен.

    Автор ответил:
    Так и html отображается браузером и отдается сервером, а не в воздухе висит.
    Дмитрий Смирнов 2.0 RC
    В том-то и дело, что он отдается и отображается. Он же не язык программирования, чтобы куда-то стучаться и говорить «У меня на вас ссылка».

    Автор ответил:
    Так Тим Бернерс-Ли не html «изобрел», если чё. А именно комплекс язык+сервер+браузер+протокол. Грубо говоря.

    http://www.w3.org/People/Berners-Lee/ShortHistory.html

    Дмитрий Смирнов 2.0 RC
    У тебя в тексте идут в основном сетования на HTML, да.

    Автор ответил:
    А ты читай внимательно.

    «Но конкретно так называемый „веб“ и html — предельно кривая ее реализация». HTML ругается там, где есть проблемы именно у него. Да и статья называется «Гипертекст, веб и html».

    > Вообще, html был этаким «быстрым хаком»: взяли кастрированный SGML, добавили к нему a href, на коленке написали сервер и браузер. Посмотрели — заработало.

    > Смешной факт: официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

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

    Автор ответил:
    Потому что обратная совместимость — это зло. И надо сразу постарться сделать хорошо.
    Три четверти текста — фигня :(
    Akeepaki
    хм, так уже придуман SGML, XML??

    docbook xml хорошая штука тоже =)

    > Средствами же «веба» владелец документа Б никак не знает, что на него стоит ссылка из документа А.

    Вообще-то, двунаправленные ссылки этой проблемы не решат.

    Пусть существуют двунаправленные ссылки, благодаря которым владелец документа Б узнаёт о ссылке из А. Чтобы обеспечить двунаправленность ссылок и исключить спам, владельцы Б должны каким-либо образом «одобрять» ссылки (премодерируемый трэкбэк?). Поскольку ссылок на популярные ресурсы может быть очень много, должны существовать и обычные ссылки, односторонние (легкость установки ссылок – одно из главных достоинств Сети). Таким образом, если владелец документа А захочет уведомить владельца документа Б, он будет использовать двунаправленную ссылку. А если не захочет – поставит однонаправленную. И владелец документа Б всё равно не узнает, что на него установлена однонаправленная ссылка.

    Автор ответил:
    Никто не говорит, что все ссылки должны быть двусторонние.

    Должна быть возможность их ставить. Хотя бы в пределах trusted domain, то есть хотя бы в пределах МОЕГО сайта на мои документы.

    Это, кстати, решается — можно написать движок, который весь твой сайт проверяет на ссылки и проставляет все ссылки «обратно», то есть вместо двусторонней две односторонние.

    Дмитрий Смирнов 2.0 RC
    Кстати, да. Некоторым сайтам нафиг не нужно знать, что них есть ссылки. Они, типа, не для того сделаны. А кого волнует давать обратные ссылки — пусть рефереры смотрит, это автоматизировать проще простого.

    Автор ответил:
    Да хуй с ними с ссылками.

    Почему я могу сослаться на любое место в Библии (Мф. 18, 3), но на любое место в сети сослаться не могу. Например, я могу поставить ссылку на этот комментарий только потому, что я тут сделал якорь.

    Виноват в этом не только Ли и кривая система якорей, но и все, кто хотя бы эту систему не использует.

    > можно написать движок, который весь твой сайт проверяет на ссылки и проставляет все ссылки «обратно», то есть вместо двусторонней две односторонние.

    Для «ссылок по теме» или для навигации можно. Но не совсем понятно, что делать с ссылками в тексте. Помимо href’а, внутри тега A есть какой-то текст. Что должен сделать движок с документом, соответствующим href’у? Какой текст использовать в ссылке? Или тупо дописать внизу список ссылающихся на него документов? Неинтересно это как-то.

    Автор ответил:
    Meta description, title, и так далее.

    Вариантов-то полно, просто их все опошлили.

    Опять-таки вариант «дописать внизу». Зачем? По-хорошему браузер должен уметь не только рендерить. Браузер вообще — средство навигации, по идее. Он и должен все это и многое другое позволять делать.

    Ладно. Пусть это обсуждение остается чем-то из разряда «Идеальный Браузер™ должен…» :)

    Автор ответил:
    Да почему идеальный. Браузер по определению (browser) — средство навигации. Сейчас из навигации только кнопки «вперед-назад», а крутизна браузера зависит от того, как хорошо он рендерит страницы.
    Нет, еще раз. Сначала ты пишешь, что

    > … можно написать движок, который […] проставляет все ссылки «обратно»…

    Это воспринимается как совет на тему «что можно сделать в сложившейся ситуации». Я заметил, что плохо представляю, как именно он будет расставлять ссылки:

    > Но не совсем понятно, что делать с ссылками в тексте.

    Ты ответил:

    > Браузер вообще — средство навигации, по идее. Он и должен все это и многое другое позволять делать.

    То есть фраза «должен все это и многое другое» переводит разговор из плоскости «что делать в сложившейся ситуации» в плоскость «как хорошо было бы, если бы…».

    Никакого другого смысла в словах Идеальный Браузер™ не было.

    Автор ответил:
    А. Ну так понятно, что в текущей ситуации остается или мечтать, или всё делать самому.
    .
    А чо, Библия знает, что ты на нее ссылаешься?

    Идея со ссылкой на абзацы мне понравилась.

    Автор ответил:
    Библии похуй.

    А вообще откуда, думаешь, правило «не упоминай Господа всуе?». Он-то знает, когда на него ссылаются.

    .
    Типа Он тоже борется с накруткой????

    Автор ответил:
    Он за божеский индекс цитирования, да.
    sphere
    Как Вы себе представляете механизм «правильных двухсторонних ссылок»?
    Что будет являться инициатором уведомления или типа того?

    Автор ответил:
    Правильные двусторонние ссылки, пример: http://nudnik.ru/entry/3399

    (Никто ж не говорил, что они не могут быть в пределах одного сайта, да?)

    some1
    > Почему я могу сослаться на любое место в Библии (Мф. 18, 3), но на любое место в сети сослаться не могу
    потому что Библия не меняется, а сеть — еще как. более продвинутый механизм ссылок потребовал бы более сложный механизм обновления: или нужно обновлять все ссылки, или как-то стараться сохранить работоспособность ссылок на то, что осталось неизменным. (а в идеальном мире еще и оповещать сославшихся, что их ссылка больше не работает) а еще понадобилось бы версионирование ссылок — хочу ссылку на последную версию страницы или хочу ссылку на ту версию, которую я прочитал (иначе все равно придется копировать текст к себе вместо ссылки). то есть веб сервер еще и cvs-ом должен работать. это все затруднило бы процесс развития сети.

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

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

    Проблема битых ссылок — это проблема текущего роста и объема сети.

    Вообще «иметь возможность» вовсе не обозначает то, что ей должны все и всегда пользоваться. Но иметь возможность хотелось бы, тем более, что документы в сети на самом-то деле меняются довольно редко. Добавляются новые документы и теряются старые гораздо чаще, чем переписываются абзацы в пределах одного документа.

    Опять-таки, потеря абзаца — это не страшно: ссылка-то все равно ведет на документ, который существует.

    some1
    > Вообще «иметь возможность» вовсе не обозначает то, что ей должны все и всегда пользоваться.
    да, но если оно не будет нормально работать, то пользоваться ей никто и не захочет.

    > Опять-таки, потеря абзаца — это не страшно
    если ты, вместо копирования в свою страницу, воспользовался ссылкой на абзац (клинки и прочти), то страшно. понять, что ты хотел сказать, может стать очень тяжело. а если ты все равно будешь копировать — в чем тебе кайф от ссылки на абзац?

    Автор ответил:
    Половина html-я и половина браузеров ненормально работала. И ничё, плевали и пользовались.

    Хех, так никто не запрещает копировать абзац и ссылаться на него же. Опять приведу в пример Библию: если я ее процитирую и скажу «так написано в Библии», то тебе это мало поможет. А если укажу точное место — то ты сможешь как минимум посмотреть контекст.

    > Хех, так никто не запрещает копировать абзац и ссылаться на него же.

    Ой, не понимаю я вас всех… :)

    А кто мешает скопировать абзац и поставить ссылку на документ; если юзеру нужен именно этот абзац, он берет и жмет CTRL + F.

    Автор ответил:
    Этак мы договоримся до того, что и на документы ссылаться не надо — есть же Яндекс, пусть ищут.
    Нет, потому что количество абзацев в документе, и количество документов в Интернете — несоизмеримые величины.
    sphere
    > Правильные двусторонние ссылки, пример: http://nudnik.ru/entry/3399

    Что это такое понятно. Вопрос про механизм создавания.
    Если
    > Trackback — кривая заплатка на эту тему, которая не работает по понятным причинам
    то интересно про правильную реализацию.

    Среднестатистическому пользователю вышеозвученные проблемы не близки. Поэтому мне кажется, что проблемы надуманные. Хотя, в этой области я совершенно не претендую на компетентность.
    .
    mrbiggfoot2 уловил суть проблемы
    но я должен признать, в дополнение ко вчерашнему признанию, что и Латекс, и двусторонние ссылки очень интересны и привлекательны для некоторых областей и задач.
    useless
    А вот в Xanadu http://en.wikipedia.org/wiki/Project_Xanadu
    это все есть.
    Правда, Xanadu самого нет.
    Что-то я не понял насчёт этого:
    "Односторонние ссылки. Абсолютный и полный бред. Если я связываю документ А с документом Б, то велика вероятность, что документ Б тоже как-то связан с документом А. "

    то есть согласно концепции Спектратора, если я человеку в комментариях на вопрос «что такое filemon» даю ссылку на гугл с запросом q=filemon, то гугл на эти комментарии обязан поставить ссылку на странице результатов??

    Автор ответил:
    Кто говорил вообще про «обязан»? Должна быть ВОЗМОЖНОСТЬ делать двусторонние ссылки, а не обязательство.

    То, что появляются инструменты, типа trackback-а, говорит о том, что такая возможность нужна.

    хм. разве возможность ставить одностороннюю ссылку автоматически не даёт возможности ставить двухсторонние ссылки, путём создания двух односторонних? ))))

    трэкбэк это ведь скорее механизм уведомления автора, мол, я на тебя сослался, а не механизм проставления двусторонней ссылки, не?

    vilky
    Забавно, что сейчас, кажется, идёт дифференциация на

    XHTML 2.0, который ориентируется на текстово-семантические приложения (библиотеки, вики, блоги, фолксономии; достаточно простые, но в которых семантика критична) и придерживается принципов документоориентированности (1 документ — 1 URL; документ содержит информацию, которую читают пользовательские агенты; если документу необходима интерактивность или другое расширение, то делается это с помощью пользовательских скриптов);

    и HTML 5, ориентирующийся на «веб-приложения» — аналоги десктопных приложений, которые никто не будет «читать» (для этого у них есть специальное API), а которые должны «исполняться»; в которых HTML используется для описания не информации, а интерфейса; который поддерживают все производители браузеров.

    Те, кто сейчас продолжает заниматься разработкой XHTML 2.0 делают вид, что их детище выйдет году в 2009–2010, то есть его выход лишь отодвигается. Разработчики HTML 5, они же браузеростроители, им не противоречат, но такой мысли, похоже, не допускают. Собственно, они и говорят, что XHTML 2.0 нужен в редких случаях и только «высоколобым».

    Хоть это и крамольная мысль, мне хочется, чтобы эти языки наконец разделились.

    vilky
    Для адресации к абзацам, пунктам списков и отдельным выделенным словам есть XPath/XPointer. Есть пользовательские скрипты, позволяющие срабатывать таким ссылкам:

    http://userscripts.org/scripts/search?q=xpath (XPath Bookmark, xStripper)

    Непонятно только, почему это не стандартизированно и не реализовано во всех браузерах. Все основные браузеры поддерживают Xpath, а полезность таких ссылок, по-моему, очевидна.

    Автор ответил:
    Это не стандартизированно и не реализовано во всех браузерах, потому что современный браузер — это инструмент для рендеринга картинки. И всё.
    Hate
    > > Почему я могу сослаться на любое место в Библии (Мф. 18, 3), но на любое место в сети сослаться не могу

    Мне кажется, это некорректный пример. Библия штука особая. Как и всякие нормативные документы типа ПДД или УК. Там да, можно сослаться на каждый отдельный абзац. Ну а попробуйте сослаться на абзац из нового романа Д. Донцовой. Ладно — на отрывок из какого-нибудь стихотворения Пушкина.


    > > А ведь стоило просто сесть при создании и подумать головой чуть лучше.

    Да думали наверное…

    Ведь когда вы говорите про двухсторонние ссылки, вы же подразумеваете, что они должны проставляться не вручную? Поставили ссылку в документе А на документ Б, и в документе Б ссылка на А должна быть вставлена автоматически. Ведь так?
    Но автоматически — это значит нужна какая-то программа. А html это язык разметки, а не программирования.
    Причем этот язык разметки вполне позволяет устанавливать двухсторонние ссылки между А и Б. Не автоматически, а вручную, да. Но позволяет же.


    > > …В какой-нибудь p2p системе…

    Файлообменная система, а для веба была бы сайтообменная?

    Автор ответил:
    1. Не могу сослаться на Донцову. Потому что Донцова — это не гипертекст. А текст.

    3. Html — язык разметки. Но вообще-то речь идет не о html-е, а о «вебе» в целом. А веб — это html+софт (браузер и сервер).

    Чтобы комментировать, надо войти или сначала зарегистрироваться.
    А если у вас есть OpenID, это еще проще: