Если я два раза упомянул детали реализации, то я не умею мыслить абстрактно? Странная логика...
Ничего странного. Ты их привел как контр-аргумент. А сие действие ошибочно, поскольку детали реализации значения не имеют. Их можно изменить без изменения семантики более высокоуровневых интерфейсов.
Объясни, какие мои доводы доказывают, что HTML -- ЯП?
Как минимум они не доказывают что HTML - не ЯП! Ты говорил про логику - я тебе уже возразил что логика имеется. Хотя бы гиперлинки и стили (для strict HTML).
Мне все равно, что какая-то коммерческая контора сделала и как она рассматривала HTML. Я уважаю первоисточник (W3C), который по сей день существует. В первоисточнике не сказано, что это ЯП, значит, он таковым не является. Давайте, хотя бы уважать авторов самого языка...
Буду спорить. И не менее ожесточенно.
W3C не является первоисточником. И та самая коммерческая контора Netscape владела этим языком задолго до перехода его под эгиду консорциума. Кроме того там не сказано о том, что это ЯП, по той же причине, по которой не сказано, что XSLT это ЯП. Потому что дано более специфичное определение основной области использования. И по той же причине, по какой SQL определяется как язык запросов.
CSS безусловно тесно связан с HTML. Я с этим языком не менее хорошо знаком. Но никогда его не рассматривал как язык программирования... Это "язык", но не программирования.
Аргументы пожалуйста! Почему CSS не язык программирования? В чем разница с XSLT кроме несколько другого взгляда на обрабатываемый документ?
Как я и другие уже говорили, эдак можно любой язык к языкам программирования отнести.
Не любой. Только формальный. При определенных условиях - его использовании для выполнения задачи "программирование". Если язык C не применялся программистом, но был сгенерирован транслятором как промежуточный результат - то это всего лишь промежуточный результат транслятора, хоть и внешне выглядит как язык программирования С. Это и есть та самая деталь реализации, на которую ты мог бы попытаться сослаться. Программированием занимается программист, а не машина. Попытка определить этот термин со стороны машины заведомо неверна.
Так может, вообще откажемся от термина "программирование", ведь оно тогда получается слишком уж общим (теперь, с введением DSL-ов, это, оказывается, вообще "использование любого языка")? Будем тут вообще писать об использовании языков? Нонсенс!
Мир движется к использованию DSL-ов в программировании все больше и больше. На этот путь становится и пропагандирует такая компания как Microsoft. Пройдет не много времени, и большинство программ будут писаться исключительно на DSL. DSL не заменяет программирование, они его упрощают. Почему ты считаешь, что использование DSL языков - не программирование? Почему ты считаешь людей, пользующихся DSL для более простого решения задач программирования хуже тех людей кто использует универсальные языки программирования? По моему все наоборот, те кто решает задучу более просто и эффективно - те лучшие программисты потому что они выбирают правильный инструмент в решении конкретной задачи!
Если вам нужно определение термина "программирование", то предлагаю такое:
Программирование, процесс составления упорядоченной последовательности действий (программы) для ЭВМ; научная дисциплина, изучающая программы для ЭВМ и способы их составления, проверки и улучшения.
В этом смысле, все эти "декларативные языки" не являются языками программирования, покуда они (по своему назначению) не определяют последовательность действий для ЭВМ.
Это никак не помогает людям изучать нормальные, если хотите, традиционные языки программирования (к коим относятся и функциональные, кстати, такие как Lisp, Ocaml, Erlang, Hankell, ...), которые еще никуда не ушли, и ни куда не уйдут.
Ну вот. Видать с утра у тебя голова еще варить не начала. Вчера так красиво подводил под себя аксиоматику, а сегодня что-то начал ужасно сам себе противоречить.
1. Забудь эти слова - "упорядоченной последовательности действий" - ни одно из них не годится для определения функционального языка, кои ты сам же причисляешь к ЯП.
2. Любой функциональный ЯП так же является декларативным! То же для логических ЯП.
Неверная аксиоматика помноженная на неверное доказательство
XML не определяет семантику, только структуру (базу синтаксиса). Отсюда, он не может быть языком выражения чего-либо, кроме структуры. Любой язык, составленный на его базе (как XSLT) -- это другая степь. Если хочешь, ты программируешь на XSLT, но не на XML. Это широко распространенное заблуждение -- считать XML неким конкретным языком (это только базовая форма для других языков).
В том то и прелесть XML. Это фреймверк, на базе которого легко можно строить свои языки (благо сейчас уже имеется множество технологий помогающих это делать).
Можно и катрюлю использовать в качестве шапки. И хрен ты докажешь тогда, что кастрюля -- это не шапка. И ведро тоже можно использовать как шапку. Но любой ребенок рассмеется на этот счет.
Можно. Да, ведро будет шапкой этому человеку. А вызовет смех это потому, что это пример нецелевого использования предмета. В отличие от использования HTML в программировании веб-приложений.
Вы хотите также видеть во всех языках (вещах, которые можно одеть на голову) языки программирования (шапки). Назовите мне хотя б один формальный язык, не являющийся языком программирования, и я покажу вашими методами, что он все-таки таковым типа является.
Сравнение некорректно, причины см. выше. Хотя б один формальный язык был назван - С, и были названы условия в которых он не является ЯП, а является деталью реализации (например ранних трансляторов С++).
Раздел "программирование" создавался для того, чтобы отделить определенный узкий домен проблем для их более эфективного совместного разрешения. Зачем кто-то начал мешать сюда HTML, не понимаю. И тем меньше мне хочется теперь видеть тут темы по HTML...
Тема как раз о DSL и методах эффективного решения проблем программирования. HTML здесь просто частный случай.
Потому что я понимаю, насколько бессмысленным является рассматривание HTML как языка программирования. Это никак не помогает людям изучать нормальные, если хотите, традиционные языки программирования.
Как это мешает людям изучать "нормальные" языки? Чем они лучше DSL? Если знаешь ответ на этот вопрос, то должен знать еще и чем они хуже!
Если Вы не в состоянии придумать хоть одну область, где другая ОС будет более применима, нежели Ваша любимая, вы, вероятно, плохо в ней разбираетесь.
Читай то же для языков программирования (или просто компьютерных языков, если тебе так нравится, хотя формально это синонимы).
PS. Никакогда не поверю в нормальность человека (программиста), который будет писать трансформацию для XML документа на скажем Java тратя при этом неделю вместо того, чтобы за два часа изучить базис XSLT и "долететь" за пол часа.
Сообщение изменено: Zeppelin (17 августа 2004 - 11:25 )