Перейти к содержимому

Фото
- - - - -

Ликбез - что такое DSL


  • Вы не можете создать новую тему
  • Please log in to reply
98 ответов в этой теме

#61 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 16 августа 2004 - 19:53

Еще раз - ЛЮБОЙ функциональный язык! Особенностью является то, что все переменные - инварианты, а значит последовательность их вычисления значения не имеет!

Просмотреть сообщение


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

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

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

Основное внимание в функциональном программировании уделяется тому, *что* нужно сделать, а не *как* это нужно делать.

Zeppelin, а каким функциональным языком ты владешеь? Я прочитал несколько описаний, узнал много интересного про фукнциональные языки, но нигде не нашел даже намека на подтверждение твоим словам. Так что не надо абстрактных выражений типа "ЛЮБОЙ", примеры, пожалуйста, примеры.

Что то я не верю, что если поменять местами любые две строчки в программе, то ничего не изменится. Последовательность действий определена достаточно строго:

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

Ну мне сказать больше нечего. Поскольку никто не привел ни одного довода (если не считать заумных софистских высказываний) в пользу того, что html -- это язык программирования, буду и дальше считать его языком разметки.
  • 0

#62 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 16 августа 2004 - 19:58

Поскольку никто не привел ни одного довода (если не считать заумных софистских высказываний) в пользу того, что html -- это язык программирования, буду и дальше считать его языком разметки.

Просмотреть сообщение


Добавь еще: "исключительно" и я с Sergio 100% солидарен. :)
  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#63 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 16 августа 2004 - 20:23

О-о, боже!! О боже! Сколько флуда... :( Сколько ляпусов! :D LOL

Кто бы говорил... :)

В таком случае математический язык (которым пользуются для выражения математической теории) -- тоже язык программирования. Что не так.

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

Про /dev/random написал Zeppelin, который, видимо, знает UNIX недостаточно глубоко (или я ошибаюсь?).

Не ошибаешься. Знаю в общий чертах, как юзер, и немного как application developer.

/dev/* -- это файлы. Только специальные. Они просто особо интерпретируется файловой (да и всей операционной) системой.

Так все же файлы. Вот видишь, не смотря на скудность моих знаний, я не ошибся :)

Если в Linux не используется devfs, то этот файл сохраняется в файловой системе и содержит два целых числа -- major и minor номера виртуального устройства Linux. Интерпретируется он особо тогда и только тогда, когда один из битов его стандартных юниксовских атрибутов выставлен в значение 1.

Меня, как application developerа не интересуют детали реализации...

Теперь, Zeppelin, обрати внимание, что в статье про Domain-Specific Languages нет ни слова про "programming languages". Авторы благоразумно отошли от названия означенных языков языками программирования.

Так что ж они для каждого приведенного языка это слово повторять то будут? Статья то про DSL. В определении упомянули, и хватит!

Далее, SQL как аналогия сюда совершенно не катит. В отличие от HTML, SQL имеет командную семантику: SELECT, UPDATE, CREATE TABLE -- это все глаголы в английском языке. HTML  же -- чисто описательный язык. Язык, описывающий исключительно структуру документа. Обратите внимание, что в HTML нет ни одного глагола. Именно поэтому, по-моему, рассматривать HTML как язык программирования по-моему просто бессмысленно!

Ну назвали б они тэги <create_form>, <create_input>, <apply_font> - что нибудь бы поменялось?

В языках программирования вроде C/С++/Java глаголами служат также операторы.

А в функциональных ЯП нет операторов! И глаголов нет! Но в некоторых общеизвестных очень мнооого скобок... :)

А разница между приведенным тобой кодом HTML и кодом JavaScript (если я не ошибся) заключается не в выразительности, а в семантике. В случае с HTML -- ты описываешь структуру документа. В случае с JavaScript ты передаешь последовательные команды по формированию абстрактных объектов. Сечешь разницу, или нет?

Это был не какой-то конкретный язык а некий мета-код имеративного толка. Я не секу никакой разницы, если результат того и другого один и тот же - отображение формы с полем ввода. Мне деньги платят за резутьтат отвечающий требованиям, а не за количество строк кода или используемый ЯП.

По-моему, это не я или кто-то иной возомнил из себя что-то, а кое-кто другой просто перегрелся на солнышке (или сидя за монитором). :)

Это ты перегрелся.

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

Ну дай людям пофлеймить... лучше уж в одном топике, чем в нескольких! Самое интересное, что главный флеймер ты сам - знаешь (умеешь эффективно использовать) один ЯП, а говоришь за все ЯП то, о чем даже понятия не имеешь.

Сомнения, возражения еще есть? Давайте, пишите. Ради интереса я оставлю эту тему открытой. Прошу также других модераторов ее пока не закрывать (я закрою ее сам, если что).

Просмотреть сообщение


Открой для себя мир функционального и декларативного программирования. Хоть меньше глупостей говорить будешь.
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#64 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 16 августа 2004 - 20:43

Zeppelin, а каким  функциональным языком  ты владешеь? Я прочитал несколько описаний, узнал много интересного про фукнциональные языки, но нигде не нашел даже намека  на подтверждение твоим словам. Так что не надо абстрактных выражений типа "ЛЮБОЙ", примеры, пожалуйста, примеры.


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

Просто твой источкик некорректен. Смотри например сюда -

http://www.haskell.o...outHaskell.html

Очень хорошее объяснение. На английском. От авторов. Прямо говорится, что последовательность действий не определяется программистом.

Что то я не верю, что если поменять местами любые две строчки в программе, то ничего не изменится. Последовательность действий определена достаточно строго:


Еще раз - твой источник некорректен! Две строчки поменять и изменить результат конечно можно... 2/3 и 3/2 - разный результат. Но так ты определение функции меняешь. А вот если поменяешь местами два присваивания - ничего не изменится, так как везде инварианты, и вычислять их все равно когда - результат тот же!
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#65 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 16 августа 2004 - 20:50

Ну мне сказать больше нечего. Поскольку никто не привел ни одного довода (если не считать заумных софистских высказываний) в пользу того, что html -- это язык программирования, буду и дальше считать его языком разметки.

Просмотреть сообщение

Ну так считай, кто запрещает то? То что HTML это ЯП никак не противоречит и не исключает тот факт, что HTML это язык разметки. А также декларативный DSL. Можно еще много характеристик из классификации написать...
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#66 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 16 августа 2004 - 21:24

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


Нет, не так. Почувствуй разницу: язык программирования используется для программирования устройств. Математический язык -- для выражения математических формул и о программировании устройств в нем не идет и речи (хотя некое подобие этого языка применяется в языках программирования).

Так все же файлы. Вот видишь, не смотря на скудность моих знаний, я не ошибся :)


Твой пост:

/dev/random это файл? Покажи мне там записи, а так же как они упорядочены и взаимосвязаны! Да и вообще тут к любому слову придраться можно... как и в любом определении файла.


В файле /dev/random данные очень строго упорядочены. Не взаимосвязаны (между собой), но связаны с определенной логикой в реализации операционной системы. В любом случае, определение файла было дано. Определения термина "программирование компьютеров" не последовало. Тем более, программирование тут в топике все равно используетсчя в гораздо более широком смысле (DSL -- это не программирование компьютеров!).

Так что ж они для каждого приведенного языка это слово повторять то будут? Статья то про DSL. В определении упомянули, и хватит!


Хорошо. INI-файлы и INF-файлы в MS Windows в таком случае можно считать программами. Тогда любой язык файла конфигурации или любого файла данных можно считать языком программирования. С этой точки зрения любой язык или его специально подобранное подмножество можно назвать языком программирования. А это нонсенс, причем полнейший. На это указывалось не раз.

Ну назвали б они тэги <create_form>, <create_input>, <apply_font> - что нибудь бы поменялось?


Конечно. Тогда бы и структурность его потерялась бы. Ибо он безусловно превратился бы в обычный императивный язык программирования с необычным (и довольно избыточным) синтаксисом. :)

А в функциональных ЯП нет операторов! И глаголов нет! Но в некоторых общеизвестных очень мнооого скобок... :)


Функции используются там как эти самые глаголы. Функция и оператор эквиваленты в определенном смысле.

Это был не какой-то конкретный язык а некий мета-код имеративного толка. Я не секу никакой разницы, если результат того и другого один и тот же - отображение формы с полем ввода. Мне деньги платят за резутьтат отвечающий требованиям, а не за количество строк кода или используемый ЯП.


Жаль, что не сечешь разницы. Она очевидная. Тут-то ты и прокололся.

Зри в корень, приятель: суть не в видимом результате, а в смысле, вкладываемом в ту или иную сущность. Это и называется "семантикой".

Это ты перегрелся.


Игнор.

Ну дай людям пофлеймить... лучше уж в одном топике, чем в нескольких! Самое интересное, что главный флеймер ты сам - знаешь (умеешь эффективно использовать) один ЯП, а говоришь за все ЯП то, о чем даже понятия не имеешь.


Не дам! И игнорирую флейм в свою сторону.

Открой для себя мир функционального и декларативного программирования. Хоть меньше глупостей говорить будешь.

Просмотреть сообщение


Уже давно открыл. Знаком с Haskell и Lisp. Ну, с горем пополам сюда еще Python можно отнести. Если рассмотреть SQL как декларативный язык программирования (хоть я этого и избегаю, хоть и не противлюсь), его тоже можно сюда записать. Этого достаточно? Или нужно еще что-то узнать? Я открыт к новым познаниям, но что-то от вас в данном топике я ничего нового не узнал... Все уже где-то видано и слышано. И поистине "дедушки" программирования (кандидаты наук из России, хотя бы) такие вот доводы рвали в пух и прах... Понимаешь? :)

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

Сообщение изменено: tomatensaft (16 августа 2004 - 21:26 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#67 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 16 августа 2004 - 21:41

Ну так считай, кто запрещает то? То что HTML это ЯП никак не противоречит и не исключает тот факт, что HTML это язык разметки. А также декларативный DSL. Можно еще много характеристик из классификации написать...

Просмотреть сообщение


В том-то и дело, что HTML -- язык разметки, но не язык программирования.

Начнем с начала.

Все, что HTML делает -- это определяет структуру данных. Еще -- указывает на атрибуты этих данных, вроде цвета, типа шрифта (но это уже устаревшая фича -- ее заменяет CSS теперь). Основное содержание документа HTML -- это текст и мультимедийные вставки. Именно для этого он и был создан -- для инкапсуляции данных, не более того.

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

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

Наконец, обратимся к специафикации самого языка HTML:

SGML is a system for defining markup languages. Authors mark up their documents by representing structural, presentational, and semantic information alongside content. HTML is one example of a markup language.[..]


В спецификации HTML нет ни единого слова про языки программирования. Если бы HTML был таковым, об этом говорилось бы повсеместно, как это происходит в "The C++ Programming Language" Страуструпа и в "The Haskell School of Expression: Learning Functional Programming through Multimedia, которые я имел удовольствие читать. Как ты думаешь, почему в спецификации HTML не упоминается ни слова о программировании, а в книгах по бесспорным языкам программирования -- упоминается и достаточно часто? Потому что создатели HTML недостаточно умны, чтобы увидеть эту крутую фичу их языка?

Сообщение изменено: tomatensaft (16 августа 2004 - 22:05 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#68 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 16 августа 2004 - 22:15

Просто твой источкик некорректен. Смотри например сюда -

http://www.haskell.o...outHaskell.html

Очень хорошее объяснение. На английском. От авторов. Прямо говорится, что последовательность действий не определяется программистом.
Еще раз - твой источник некорректен! Две строчки поменять и изменить результат конечно можно... 2/3 и 3/2 - разный результат. Но так ты определение функции меняешь. А вот если поменяешь местами два присваивания - ничего не изменится, так как везде инварианты, и вычислять их все равно когда - результат тот же!

Просмотреть сообщение

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

we do not specify the order in which the cells should be calculated - instead we take it for granted that the spreadsheet will compute cells in an order which respects their dependencies

Ну вот видишь, опять таки противоречит твоим словам. И, кстати, вполне согласуется с моим источником.
  • 0

#69 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 16 августа 2004 - 22:58

И в Hаskell имеет значение порядок. И в HTML тоже. В естественных языках тоже. В формате GIF и JPEG тоже (впрочем, это уже к формальным языкам не относят). Порядок свойственнен всем языкам (в том или ином виде). Это элемент грамматики любого языка, не только программирования.

Просто где-то порядок подразумевается правилами приоритета, а где-то он задается явно. Например, в русском языке (и в других европейских языках) порядок прочтения фраз регулируется знаками препинания: запятой, например. Запятые указывают на расстановку приоритетов. Известная со школы фраза: "Казнить нельзя помиловать", или: "С коня упал наездник, он ударился". Если нет подразумеваемого порядка, используется дополнительное средство его указания (в данном случае, запятая, которую я умышленно пропустил). В последней фразе подразумеваемый порядок есть -- "он" всегда указывает на последний соответствующий роду местоимения субъект (в данном случае -- наездник).

Сообщение изменено: tomatensaft (16 августа 2004 - 23:20 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#70 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 16 августа 2004 - 23:36

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

Просмотреть сообщение

Нет, не согласуется. То что ты привел - достаточно корявый перевод с достаточно упрощенного описания. А архитектуру процессора ты опять зря приплел. Это императивные языки отражают архитекруру процессора, а функциональные - основыны на матане и функциональном исчислении. А то, что транслятор с ней делает - так это уже детали реализации. Не уподобляйся tomatensaftу - детали реализации должны интересовать в последнюю очередь. В конце т концов зачем тогда нужны высокоуровневые языки...

В прочем серьезная ошибочка в цитате только одна:

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

Нету понятия _следующего_ действия. Есть понятие зависимости. Это не одно и то же. Это противоположность. Не ты говоришь машине в каком порядке вычислять, а она сама за тебя решает. Не иногда, а всегда. Есть конечно и исключения, но это уже не pure-functional...

скажем имеем такой псевдо-код

y=x[10]
z=x[5]
x[0] = 1
x[i] = x[i-1]*2

тут нет заданной в коде последовательности действий, только формулы.
Эта программа не будет выполняться в том порядке в котором записана. И вообще разница не в том, что порядок может быть разный, а в том, что в функционале, в отличие от императива, он не имеет значения для независимых определений (где определение - некий "аналог" переменной).
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#71 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 16 августа 2004 - 23:46

Не уподобляйся tomatensaftу


Я, можно сказать, Дьявол во языце... :)

детали реализации должны интересовать в последнюю очередь. В конце т концов зачем тогда нужны высокоуровневые языки...


Я разве говорил о деталях реализации?

В прочем серьезная ошибочка в цитате только одна:

Нету понятия _следующего_ действия. Есть понятие зависимости. Это не одно и то же. Это противоположность. Не ты говоришь машине в каком порядке вычислять, а она сама за тебя решает. Не иногда, а всегда. Есть конечно и исключения, но это уже не pure-functional...

скажем имеем такой псевдо-код

y=x[10]
z=x[5]
x[0] = 1
x[i] = x[i-1]*2

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

Просмотреть сообщение


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

Сообщение изменено: tomatensaft (16 августа 2004 - 23:49 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#72 Sergio

Sergio
  • Постоялец
  • 3 051 сообщений

Отправлено 17 августа 2004 - 00:02

Нет, не согласуется. То что ты привел - достаточно корявый перевод с достаточно упрощенного описания. А архитектуру процессора ты опять зря приплел. Это императивные языки отражают архитекруру процессора, а функциональные - основыны на матане и функциональном исчислении. А то, что транслятор с ней делает - так это уже детали реализации. Не уподобляйся tomatensaftу - детали реализации должны интересовать в последнюю очередь. В конце т концов зачем тогда нужны высокоуровневые языки...

В прочем серьезная ошибочка в цитате только одна:

Нету понятия _следующего_ действия. Есть понятие зависимости. Это не одно и то же. Это противоположность. Не ты говоришь машине в каком порядке вычислять, а она сама за тебя решает. Не иногда, а всегда. Есть конечно и исключения, но это уже не pure-functional...

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

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

#73 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 00:27

Я разве говорил о деталях реализации?

Не в данном конкретном случае, но есть такая тенденция. Два раза уже мне возражал именно деталями реализации. Да и вообще склонен к этому. Конечно хорошо что ты их знаешь, но зачастую это мешает думать о проблеме а не о ее решении. Надо учиться мыслить абстрактно :)

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

Просмотреть сообщение

Твои последние доводы тоже достаточно убедительны. Правда тоже ничего не доказывают :) Вообще трудно что-то доказать не имея единого определения термина "программирование"... Но как раз твои доводы доказывают таки обратное (хотя именно нейтрального языка и хотели изначально разработчики HTML, и хочет сейчас W3C... однако злобная контора Нетскейп постаралась насолить и изуродовать чистый и нейтральный язык разметки) :)
Теперь, после выяснения отношений с функциональными языками надеюсь ты не будешь спорить, что CSS является DSL языком программирования (определяет, хоть и простую, но _логику_ отображения путем паттерн-матчинга в HTML документе - приемы функционального программирования)? А вот так случилось что HTML и CSS - одного поля ягоды... Даже когда (если такое вообще случится), из спецификации HTML удалят всю логику отображения, CSS никуда не денется оставаясь интегрированной частью HTML.

К вопросу как программировать на XML - задать ему необходимую семантику средствами другого ЯП (в простейшем случае тот же XSLT) и описывать задачи на полученном DSL подмножестве.

А вообще ты очень много еще тем затронул... Будет время - отвечу... Не будет - забуду ;)
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#74 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 17 августа 2004 - 07:38

Не в данном конкретном случае, но есть такая тенденция. Два раза уже мне возражал именно деталями реализации. Да и вообще склонен к этому. Конечно хорошо что ты их знаешь, но зачастую это мешает думать о проблеме а не о ее решении. Надо учиться мыслить абстрактно :)


Если я два раза упомянул детали реализации, то я не умею мыслить абстрактно? :( Странная логика...

Твои последние доводы тоже достаточно убедительны. Правда тоже ничего не доказывают :) Вообще трудно что-то доказать не имея единого определения термина "программирование"... Но как раз твои доводы доказывают таки обратное (хотя именно нейтрального языка и хотели изначально разработчики HTML, и хочет сейчас W3C... однако злобная контора Нетскейп постаралась насолить и изуродовать чистый и нейтральный язык разметки) :)


Объясни, какие мои доводы доказывают, что HTML -- ЯП?

Мне все равно, что какая-то коммерческая контора сделала и как она рассматривала HTML. Я уважаю первоисточник (W3C), который по сей день существует. В первоисточнике не сказано, что это ЯП, значит, он таковым не является. Давайте, хотя бы уважать авторов самого языка...

Теперь, после выяснения отношений с функциональными языками надеюсь ты не будешь спорить, что CSS является DSL языком программирования (определяет, хоть и простую, но _логику_ отображения путем паттерн-матчинга в HTML документе - приемы функционального программирования)? А вот так случилось что HTML и CSS - одного поля ягоды... Даже когда (если такое вообще случится), из спецификации HTML удалят всю логику отображения, CSS никуда не денется оставаясь интегрированной частью HTML.


Буду спорить. И не менее ожесточенно. :)

CSS безусловно тесно связан с HTML. Я с этим языком не менее хорошо знаком. Но никогда его не рассматривал как язык программирования... Это "язык", но не программирования.

Как я и другие уже говорили, эдак можно любой язык к языкам программирования отнести. Тогда в определении языка программирования не остается какого-либо смысла -- потому что тогда этот термин ничего не уточняет. :) Так может, вообще откажемся от термина "программирование", ведь оно тогда получается слишком уж общим (теперь, с введением DSL-ов, это, оказывается, вообще "использование любого языка")? Будем тут вообще писать об использовании языков? Нонсенс!

Если вам нужно определение термина "программирование", то предлагаю такое:

Программирование
, процесс составления упорядоченной последовательности действий (программы) для ЭВМ; научная дисциплина, изучающая программы для ЭВМ и способы их составления, проверки и улучшения.


Именно такой, узкий смысл этого слова. Нечто, также связанное с теорией автоматов. В этом смысле, все эти "декларативные языки" не являются языками программирования, покуда они (по своему назначению) не определяют последовательность действий для ЭВМ.

К вопросу как программировать на XML - задать ему необходимую семантику средствами другого ЯП (в простейшем случае тот же XSLT) и описывать задачи на полученном DSL подмножестве.


XML не определяет семантику, только структуру (базу синтаксиса). Отсюда, он не может быть языком выражения чего-либо, кроме структуры. Любой язык, составленный на его базе (как XSLT) -- это другая степь. Если хочешь, ты программируешь на XSLT, но не на XML. Это широко распространенное заблуждение -- считать XML неким конкретным языком (это только базовая форма для других языков).

А вообще ты очень много еще тем затронул...  Будет время - отвечу... Не будет - забуду ;)

Просмотреть сообщение


Да пожалуйста.

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

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

Раздел "программирование" создавался для того, чтобы отделить определенный узкий домен проблем для их более эфективного совместного разрешения. Зачем кто-то начал мешать сюда HTML, не понимаю. И тем меньше мне хочется теперь видеть тут темы по HTML... Потому что я понимаю, насколько бессмысленным является рассматривание HTML как языка программирования. Это никак не помогает людям изучать нормальные, если хотите, традиционные языки программирования (к коим относятся и функциональные, кстати, такие как Lisp, Ocaml, Erlang, Hankell, ...), которые еще никуда не ушли, и ни куда не уйдут.

Сообщение изменено: tomatensaft (17 августа 2004 - 07:50 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#75 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 10:10

Если я два раза упомянул детали реализации, то я не умею мыслить абстрактно? :( Странная логика...

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

Объясни, какие мои доводы доказывают, что 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 )

  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#76 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 17 августа 2004 - 12:40

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


Это я понимаю. Ты ответь на поставленный вопрос: если я упоминаю детали реализации, то я не умею мыслить абстрактно?"

Как минимум они не доказывают что HTML - не ЯП! Ты говорил про логику - я тебе уже возразил что логика имеется. Хотя бы гиперлинки и стили (для strict HTML).


Где ты возразил? Выше? Я так и не увидел там логики.

W3C не является первоисточником. И та самая коммерческая контора Netscape владела этим языком задолго до перехода его под эгиду консорциума.


Безусловно, Тим Бернерс-Ли -- первоисточник первых версий HTML (не Netscape). HTML 2.0 -- это RFC 1866. То бишь IETF. Этот язык всегда был языком разметки и никогда не был языком программирования.

Кроме того там не сказано о том, что это ЯП, по той же причине, по которой не сказано, что XSLT это ЯП. Потому что дано более специфичное определение основной области использования. И по той же причине, по какой SQL определяется как язык запросов.


Аргументы пожалуйста! Почему CSS не язык программирования? В чем разница с XSLT кроме несколько другого взгляда на обрабатываемый документ?


Документ HTML не обрабатывается согласно CSS. Он отображается согласно данным, определенным с помощью этого формата.

Не любой. Только формальный.


А какой язык -- не формальный? Литературный русский -- тоже формальный язык.

При определенных условиях - его использовании для выполнения задачи "программирование".


Договоримся о термине "программирование" тогда все же. Что же это такое, по-твоему? Я уже спросил с десяток программистов, у некоторых из которых опыт не менее 10-ти лет. Они все как один и совершенно независимо утверждают, что HTML -- не ЯП! :)


Программированием занимается программист, а не машина. Попытка определить этот термин со стороны машины заведомо неверна.


Ну ни фига себе. Кандидаты технических наук теперь для тебя не авторитеты? По-твоему, авторы БСЭ ошиблись?

DSL не заменяет программирование, они его упрощают.


Не заменяют. :) Потому что не являются языками программирования. :)

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


Это ты считаешь тут всех идиотами, видимо! Я такого НЕ ГОВОРИЛ. Это выдумало твое больное сознание.

И после этого ты хочешь, чтобы к тебе и твоим доводам относились серьезно? У тебя мания величия.

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


Сам согласился, что непосредственно на XML невозможно программировать.

Можно. Да, ведро будет шапкой этому человеку. А вызовет смех это потому, что это пример нецелевого использования предмета. В отличие от использования HTML в программировании веб-приложений.


Ты понимаешь, что такое -- программирование веб-приложений? И понимаешь разницу с версткой веб-страниц?

Сравнение некорректно, причины см. выше. Хотя б один формальный язык был назван - С, и были названы условия в которых он не является ЯП, а является деталью реализации (например ранних трансляторов С++).


В означенном случае С все равно является ЯП. Неважно, явился ли он результатом промежуточным, или нет. Это все равно язык, на котором написана определенная программа.

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


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

Как это мешает людям изучать "нормальные" языки? Чем они лучше DSL? Если знаешь ответ на этот вопрос, то должен знать еще и чем они хуже!


Дело не в "хуже" или "лучше". Дело в языках, всеобще принятых как ЯП и других языках, рассматриваемых некоторыми как таковые (что я считаю неверным).

Читай то же для языков программирования (или просто компьютерных языков, если тебе так нравится, хотя формально это синонимы).


Снова намеки на мою тупость? Меня это начинает злить. Если это была твоя цель, то я тебе не завидую.

Стоп. Так, значит, ты любой компьютерный язык называешь ЯП? LOL Ты не мог это сразу так и сказать?

PS. Никакогда не поверю в нормальность человека (программиста), который будет писать трансформацию для XML документа на скажем Java тратя при этом неделю вместо того, чтобы за два часа изучить базис XSLT и "долететь" за пол часа.

Просмотреть сообщение


Безусловно. Метод KISS -- основа программирования. Я тоже использовал XSLT, когда можно было. Но если это было проще сделать с помощью пары строк кода на Python и текстового файла, я не парился с XML/XSLT.

Сообщение изменено: tomatensaft (17 августа 2004 - 12:54 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#77 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 17 августа 2004 - 13:10

tomatensaft, извини конечно ... но по-моему скромному мнению ты туп ... и упрям не по годам. Я тут неполенился и поискал лекции университетов ... вот тебе пример одной из лекции ... как я и писал Алфавит + Синтаксис + Симантика. Но как я смею предположить ... у Вас молодой человек нет даже ИТ образования ... какой же смысл с вами вообще вести беседы на столь специфичные для ИТ темы?
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#78 ParadoxL

ParadoxL
  • Постоялец
  • 5 023 сообщений
  • Откуда:Edinburg

Отправлено 17 августа 2004 - 13:22

К сожалению вынужден прекратить дискусию с вами, в следвии того что вынужден покинуть данный форум :) . Сорри ... если что-то не по-вашему ! :)
  • 0
Victoria nulla est, Quam quae confessos animo quoque subjugat hostes ...
Верю в смерть после жизни, любовь после секса и в крем после бритья ...

#79 archi

archi
  • Пользователь
  • 84 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 13:31

хочу сделать форум. Помогите мне написать для форума программу на HTML, пожалуйста.


P.S. "Программист на HTML" - это звучит гордо... мать вашу...
  • 0

#80 archi

archi
  • Пользователь
  • 84 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 13:34

tomatensaft, извини конечно ... но по-моему скромному мнению ты туп ... и упрям не по годам. Я тут неполенился и поискал лекции университетов ... вот тебе пример одной из лекции ... как я и писал Алфавит + Синтаксис + Симантика. Но как я смею предположить ... у Вас молодой человек нет даже ИТ образования ... какой же смысл с вами вообще вести беседы на столь специфичные для ИТ темы?

Просмотреть сообщение

удар ниже пояса, переход на личности... дисквалифицирован...
  • 0

#81 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 13:41

Это я понимаю. Ты ответь на поставленный вопрос: если я упоминаю детали реализации, то я не умею мыслить абстрактно?"

Да! Твой ответ тому подтверждение. Ты опять упоминаешь детали реализации *как доказательство* своей точки зрения. Еще раз - они не имеют ровным счетом никакого значения. Думай, что их не существует!

Документ HTML не обрабатывается согласно CSS. Он отображается согласно данным, определенным с помощью этого формата.
Договоримся о термине "программирование" тогда все же. Что же это такое, по-твоему? Я уже спросил с десяток программистов, у некоторых из которых опыт не менее 10-ти лет. Они все как один и совершенно независимо утверждают, что HTML -- не ЯП! :)

Они просто не умеют его готовить :)
(с) Народная мудрость

CSS содержит множество определений - зависимостей переменных - аттрибутов отображения от входных данных - тэгов, их структуры и так далее.
Функциональный ЯП - содержит множество определений - зависимосте переменных (результата) от входных данных (аргумента)
Почему же одно - программа, а другое - нет? Чем отображение не логика? Какая разница если я нарисую все то же самое на другом ЯП? Почему в одном языке рисование линий и текста - программирование, а в другом - нет? Вспомни хинт из определения ФП - определяем условия, а не способ ее решения. С чем прекрасно справляется CSS - определяет условия отображения HTML документа, а не способ.

Не заменяют. :) Потому что не являются языками программирования. :)

См. определение DSL. DSL для программирования токарного станка с электронным управлением не язык программирования? Тогда у тебя страдает элементарная логика! Единственный язык на котором по определению програмируется устройство не является языком программирования? С русским языком и его семантикой лады?

У кого тут мания величия спрашивается... Вообщем твои "аргументы" совершенно неубедительны и безинтересны. Точнее аргументами тут и не пахнет, сплошное злопыхание с пеной у рта... С упоминанием авторитетов, докторов, профессоров.


Ты понимаешь, что такое -- программирование веб-приложений? И понимаешь разницу с версткой веб-страниц?

Я то понимаю. Вот только что мешает использовать HTML (в кипе с CSS) и для того и для другого не понимаю...

В означенном случае С все равно является ЯП. Неважно, явился ли он результатом промежуточным, или нет. Это все равно язык, на котором написана определенная программа.

Еще раз - забудь о деталях реализации! Не написана на нем программа. Пишет человек, компьютер считает. И что у него там в нутрях, пока все работает как это специфицировано, меня, в общем случае, не волнует.

Снова намеки на мою тупость? Меня это начинает злить. Если это была твоя цель, то я тебе не завидую.

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

В данном споре я пожалуй соглашусь с тобой, что HTML в своем _девственном_ виде (бех стилей и прочей требухи) не ЯП. В прочем кто сейчас использует исключительно один язык в программировании? ...

Но вот CSS, XSLT, SQL, и многие другие DSL-и являются ЯП.
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#82 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 17 августа 2004 - 14:41

Да! Твой ответ тому подтверждение. Ты опять упоминаешь детали реализации *как доказательство* своей точки зрения. Еще раз - они не имеют ровным счетом никакого значения. Думай, что их не существует!


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

Они просто не умеют его готовить :)
(с) Народная мудрость


Умеют. Не хуже тебя.

Точнее аргументами тут и не пахнет, сплошное злопыхание с пеной у рта... С упоминанием авторитетов, докторов,  профессоров.


Не я это начал...

На том и сойдемся. HTML -- не ЯП. Поэтому здесь ему не место.

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

Сообщение изменено: tomatensaft (17 августа 2004 - 14:44 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#83 archi

archi
  • Пользователь
  • 84 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 15:08

зато сразу видно, кто что из себя представляет... как программист и как человек...
  • 0

#84 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 15:21

Какая разница, что я упоминаю в качестве доказательств или контр-утверждений? Важно, что если аргумент противоречит твоему высказыванию и не противоречит сути вещей, он доказателен.

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

На том и сойдемся. HTML -- не ЯП. Поэтому здесь ему не место.

На счет CSS скромно промолчал ;)

Теперь все посмотрите назад и согласитесь, что я правильно сделал тогда, что закрыл тему. Flamewar-а на несколько страниц из-за какой-то мелочи так и не удалось избежать...

Нет.

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

Просмотреть сообщение

В особенности те, кто давал кучу несостоятельных определений программирования и ЯП в частности (при чем с обоих сторон баррикад).
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#85 crazy russian

crazy russian
  • Пользователь
  • 153 сообщений

Отправлено 17 августа 2004 - 15:43

Если кому нибудь не лень - подведите итоги? А то в основном оспаривались аргументы, тогда как с некоторыми же молча согласились и потом о них почему-то забыли. Вот их бы и хотелось вычленить из всего треда.

Сообщение изменено: crazy russian (17 августа 2004 - 15:44 )

  • 0

#86 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 16:17

Если кому нибудь не лень - подведите итоги? А то в основном оспаривались аргументы, тогда как с некоторыми же молча согласились и потом о них почему-то забыли. Вот их бы и хотелось вычленить из всего треда.

Просмотреть сообщение

На сколько мне известно tomatensaft так и не убедил W3C консорциум убрать тэги <style> ($14) и <script> ($18) из языка HTML (даже из strict-html). Так что все, о чем мы тут договорились касается всерьез урезанного подмножества языка HTML. Так что за будущее этого языка можешь не волноваться.
  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#87 archi

archi
  • Пользователь
  • 84 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 16:41

http://www.w3.org/XM...ML-in-10-points

Structured data includes things like spreadsheets, address books, configuration parameters, financial transactions, and technical drawings. XML is a set of rules (you may also think of them as guidelines or conventions) for designing text formats that let you structure your data. XML is not a programming language, and you don't have to be a programmer to use it or learn it . XML makes it easy for a computer to generate data, read data, and ensure that the data structure is unambiguous. XML avoids common pitfalls in language design: it is extensible, platform-independent, and it supports internationalization and localization

http://www.w3.org/DOM/Activity

Markup languages such as HTML or SVG provide different ways to include some programming or scripting in the document, directly or by links

http://www.w3.org/Pe...701webapps.html

I'm sure you've seen the ads: "Wanted: HTML programmers" HTML programmers? I can see HTML writers, practitioners, or even coders; but HTML is not a programming language. An HTML editor was supposed to be like a really primitive word processor with one killer feature: hypertext links. No propellor on the head necessary.

http://www.w3.org/De...Principles.html

I chose HTML not to be a programming language because I wanted different programs to do different things with it: present it differently, extract tables of contents, index it, and so on.

http://www.w3.org/20...g/slide8-0.html

XML is a document/data format, not a programming language
XSLT transforms XML into XML (or HTML or text) and is written in XML.


Список практически бесконечен... кто хочет продолжить - милости просим на http://www.w3.com

------------------------
А теперь подвожу итог... сторонники того, что HTML - язык программирования, ссылающиеся на W3C, оставлены в дураках самим же консорциумом, утверждающим, что ни XML ни HTML не являются языками программирования...
Я долго читал этот thread, забавлялся... Смотрел не на аргументы, а на то, как люди ведут спор... потому что тема не стоит выеденного яйца для того, кто хоть чуть-чуть имеет представление о программировании и читал документацию по обсуждающимся здесь языкам разметки...

P.S. Сторонники того, что HTML - язык программирования, могут продолжить споры с создателями языка разметки HTML... но их здесь нет, я бы посоветовал найти другое место...

P.S.S. Людям, опускающимся до оскорблений несогласных с той или иной точкой зрения, тем более если она неправильная - высказываю свое ФИ...

Сообщение изменено: archi (17 августа 2004 - 16:59 )

  • 0

#88 tomatensaft

tomatensaft

    Samurai Jack

  • Пользователь
  • 449 сообщений
  • Откуда:Tallinn

Отправлено 17 августа 2004 - 17:16

Думаю, больше ничего добавлять не нужно. archi все сказал. Выражаю мое особое уважение к нему -- он расставил все точки над i.

Маленькое замечание: на W3C ссылались и противники концепции "HTML -- ЯП". Например, ваш покорный слуга... ;)

И еще: свой первый пост в тему, начатую Zeppelin я сделал также в весьма приподнятом настроении... :D Настроение было приподнято именно содержанием темы до моего присоединения к дискуссии (и несколькими постами позже). Единственно, что постоянные намеки, что-де Zeppelin имеет большой опыт и много знает (сделанные им же самим) сильно раздражают, вы уж простите нас, людей... Я таких намеков изначально сам не делал (хоть меня в этом и сильно упрекали).

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

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

Сообщение изменено: tomatensaft (17 августа 2004 - 17:35 )

  • 0
"This is all I want'd t' say 'bout dat..." © Forest Gump

#89 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 18:28

XML avoids common pitfalls in language design: it is extensible, platform-independent, and it supports internationalization and localization

Ключевое слово extensible. Он расширяем до языка программирования. Широко известный пример такого языка упоминался и неоднократно - XSLT. А вообще эти ресурсы "для чайников за 24 дня" они на чайников и направлены. Там часто горы не вполне корректной информации (к отквоченному не относится)...

Markup languages such as HTML or SVG provide different ways to include some programming or scripting in the document, directly or by links

Так все таки предоставляют... Извини, но не понял я, в чем тут контр-аргумент...

http://www.w3.org/Pe...701webapps.html
I'm sure you've seen the ads: "Wanted: HTML programmers" HTML programmers? I can see HTML writers, practitioners, or even coders; but HTML is not a programming language. An HTML editor was supposed to be like a really primitive word processor with one killer feature: hypertext links. No propellor on the head necessary.

Сам статью читал? Там еще HTML 2.0 (без стилей и скриптов). На момент написания вполне актуальная статья. И даже в ней присутствует:

Rapid applications development takes on a whole new meaning. Software technologies previously considered too high-level and inefficient for production use are now considered essential to keep pace.

Все меняется, и то, от чего вчера открещивались, сегодня само-собой разумеется...

As we look at programming languages for the web, keep in mind that they're used not only to express programs for the machine, but also to communicate to other developers. The web brings about changes that allow us to look at non-traditional development technologies a lot more seriously. The motivation for high level languages is to express problems and solutions more naturally. This allows developers to worry less about the mechanics of computing and more about creative solutions.

CSS кстати очень даже сюда вписывается...

I chose HTML not to be a programming language because I wanted different programs to do different things with it: present it differently, extract tables of contents, index it, and so on.

Вырвано из контекста. Контекст был - Выбор ЯП. Соответственно перевод - "Я не выбрал HTML языком программирования, так как мне хотелось таких и сяких рюшечек".

XSLT transforms XML into XML (or HTML or text) and is written in XML.

Это к чему? Я и сам знаю его целевую область применения. Хотя определение немного устаревшее. Вместо XML правильнее написать деревьев. А вообще некоторые извращенцы вычисления синусов-косинусов на XSLT пишут, и ничего, работает. :D

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

Все читали. Только вот никто не дал толкового определение, что же такое программирование. Все ж программирование в какой-то мере сродни искусству, и поэтому у разных людей разное мнение на этот счет. Разные подходы к этому сложному и в то же время простому устройству - компьютер. Уже сегодня столько разных подходов. Кто нибудь пробовал представить каким будут языки программирования завтра?

Сторонники того, что HTML - язык программирования, могут продолжить споры с создателями языка разметки HTML... но их здесь нет, я бы посоветовал найти другое место...

Я думаю им это неинтересно. :rolleyes:
Им только дай какой-нибудь новый язык придумать...

Сообщение изменено: Zeppelin (17 августа 2004 - 18:37 )

  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!

#90 Zeppelin

Zeppelin

    Китайский Чай

  • Пользователь
  • 210 сообщений
  • Откуда:Таллин

Отправлено 17 августа 2004 - 18:30

Я таких намеков изначально сам не делал (хоть меня в этом и сильно упрекали).

Мы часто не замечаем, что творим... Да ничего страшного, не в обиде (другие участники думаю тоже).

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

Просмотреть сообщение

Принимаю и приношу свои извинения тоже...

Сообщение изменено: Zeppelin (17 августа 2004 - 18:30 )

  • 0
Лучший чай из Китая, провожу чайные церемонии, обращайтесь!