Ликбез - что такое DSL
#31
Отправлено 14 августа 2004 - 14:16
Ладно. Все. Тему закрываю, ибо добавлять больше нечего -- все уже сказано. Дальнейший спор сейчас легко перейдет в разборки про то, кто круче...
Если что-то надо по HTML/CSS, пишите. Я и сам буду рад помочь, чем смогу. Но это дело я буду отсеивать и модерить с пристрастием. В том смысле, что малейшее отхождение от обсуждения самого языка HTML (и его применения, конечно) -- тема летит в "Интернет и Сети", "Программы", в крайнем случае -- прямо в "Мусор", в зависимости от серьезности отхождения.
#32
Отправлено 15 августа 2004 - 22:40
http://homepages.cwi.../papers/dslbib/
А так же ссылка в словаре (безосновательно использованном некоторыми людьми в "доказательстве" обратного - в кавычках посколько доказательства я там не увидел) о том, что же это за языки <программирования> такие - 4GL
http://dictionary.re.....tion language
Или теперь SQL тоже перестанем считать языком программирования?
Товарищи программисты, не зазнавайтесь. Не закрывайте темы ответьть на которые квалифицированно сами не в состоянии, или уж закрывайте сразу не отвечая... во избежание... И расширяйте свой кругозор!
В вашу защиту. Человек знающий только HTML безусловно называться программистом не может. Так же как и человек знающий только C, или Java или любой другой язык программирования. Для этого все же необходимо знать несколько языков. Времена, когда программы писались целиком на одном языке прошли... А людей владеющих только одним DSL принято называть другими словами, в каждом конкретном случае своми, для HTML это, к примеру, веб-мастер.
PS. Сам долго не считал HTML языком программирования и думал, что никто меня не переубедит. Прошло время, познакомился с более "другими" языками программирования, и мое мнение изменилось само собой... Просто к сожалению люди вступающиеся за этот язык сами зачастую достаточно не высокой квалификации и не могут аргументировать свою точку зрения, и отстоять свою правоту.
#33
Отправлено 15 августа 2004 - 23:50
Вот HTML рассматривается как DSL. Да, согласен. Некоторый специфичный язык. Только где там указывается что это язык программирования? Только
HTML все-таки executable specification language, как ни крути.A domain-specific language (DSL) is a programming language or executable specification language.
Сообщение изменено: crazy russian (15 августа 2004 - 23:50 )
#34
Отправлено 16 августа 2004 - 10:11
По мне так все просто. Есть множество языков программирования. Это - некое множество языков оперирования данными. Есть множество языков представления данных. HTML относится к второму, я думаю все согласны? Значит ошибка либо в утверждении что язык программирования это язык оперирования данными или в том, что HTML - язык программирования.
Язык программирования это язык оперирования данными - ошибка! Определения уже звучало: Язык программирования это формальный язык на котором программируют компьютеры. ЯП состоит из определенного синтаксиса и семантики. Для HTML, в отличии от _голого_ XML эта семантика определена!
Вот HTML рассматривается как DSL. Да, согласен. Некоторый специфичный язык. Только где там указывается что это язык программирования? Только HTML все-таки executable specification language, как ни крути.
Чем отличается
<HTML>
<BODY>
<FORM action="action.html">
<INPUT type="text">
</FORM>
</BODY>
</HTML>
От
Page p = new Page();
Form f = new Form(p);
f.setAction(_actionHandler);
Input i = new Input(f, Input.TEXT);
p.show();
?
Ответ - выразительностью.
Исходник HTML - это _программа_, транслируемая и выполняемая довольно-таки специфическим устройством - веб-броузером. Точно так же, как программа на бейсике выполняется интерпретатором бейсика. Соответственно процесс написания программы - программирование, а язык, на котором пишут - язык программирования.
SQL тоже является executable specification language, выполняемым SQL сервером. Надеюсь никто не будет спорить с тем, что он является языком программирования...
В заключение определение еще одного термина:
A declarative programming language is a high-level language that describes a problem rather than defining a solution.
http://www.wordiq.co...amming_language
#37
Отправлено 16 августа 2004 - 10:57
Совокупность упорядоченных и взаимосвязанных записей, имеющая описание для идентификации отдельных записей; размещается в основном во внешней памяти ЭВМ и рассматривается в процессе пересылки и обработки как единое целое.Не дам! Дай определение, что такое файл
Пойдет?
А вообще, если понимать под языком программирования понимать изменение состояния компьютера (его программирование) языком, имеющего семантику и синтаксис, то с этой точки зрения HTML можно назвать языком программирования. Но с этой же точки зрения можно назвать и любой формат данных. Например GIF.
Изменяет состояние компьютера же? Да.
Имеет cинтаксис? Безусловно. Сначала заголовок, потом данные.
Семантика? Да, каждый блок данных расценивается по разному. Один как цвет паллеты, а другой описывает точку.
В конце концов, чем отличается
(первые три байта - определенный цвет, далее последовательность вывода этих цветов)
RGB
0201
от
Color[] color = new Color[3];
color[0] = new Color('C');
color[1] = new Color('G');
color[2] = new Color('B');
Pixel[] pixel = new Pixel[4];
pixel[0] = new Pixel();
pixel[0].setColor(color[0]);
pixel[1] = new Pixel();
pixel[1].setColor(color[2]);
pixel[2] = new Pixel();
pixel[2].setColor(color[0]);
pixel[3] = new Pixel();
pixel[3].setColor(color[1]);
Printer printer = new Printer();
printer.print(pixel, pixel.length);
оба выведут 4 цветных пикселя в последовательности Красный, Зеленый, Красный, Голубой.
Ответ прост - компактностью!
Софистика конечно, но..
Чего делать будем, примем в ряды программистов Photoshop и признаем, что искусственный интеллект сумел написать крутую программу, или оставим все как есть?
Сообщение изменено: crazy russian (16 августа 2004 - 11:23 )
#38
Отправлено 16 августа 2004 - 11:30
Чем отличается
<HTML>
<BODY>
<FORM action="action.html">
<INPUT type="text">
</FORM>
</BODY>
</HTML>
От
Page p = new Page();
Form f = new Form(p);
f.setAction(_actionHandler);
Input i = new Input(f, Input.TEXT);
p.show();
?
Я не перестаю поражаться.
ХТМЛ статичен. Максимум что на нем можно автоматизировать это размеры относительно экрана. всё.
Когда ты пишешь <FORM action="action.html"> это текст, обработчик (бродилка) поймет его и выведет форму с параметром action.html всё.
Чтобы изменить этот параметр тебе придется использовать яваскрипт или вручную редактировать фаил.
А если ты рисуешь такую же форму на языке программирования, то ты можешь менять этот параметр на лету в зависимости от нажадой пользователем кнопки, времени суток и тп. Без изменения файла и использования дополнительных средств.
Это так, примитивно и на пальцах, но у меня обычно даже дети такое понимают.
Если брать строго, то SQL тоже не является языком программирования, тк. он использует для своей работы SQL сервер и полностью зависим от него.Или теперь SQL тоже перестанем считать языком программирования?
Если просто доказывая что html не язык программирования, то просто сравни
SQL это работа с данными, даже простой запрос больше похож на программу чем HTML любого объема. Если SQL функции, то это мощная обработка данных. SQL функции могут общаться с базой и друг с другом постояннао изменяя данные с которыми они работают.
HTML это может? Чистый HTML.
#40
Отправлено 16 августа 2004 - 11:34
Совокупность упорядоченных и взаимосвязанных записей, имеющая описание для идентификации отдельных записей; размещается в основном во внешней памяти ЭВМ и рассматривается в процессе пересылки и обработки как единое целое.
/dev/random это файл? Покажи мне там записи, а так же как они упорядочены и взаимосвязаны! Да и вообще тут к любому слову придраться можно... как и в любом определении файла.
Пойдет?
На самом деле это такая папка на полке с документами
Сходи в RU.OS.CMP и дай ребятам определение, а то они уж как несколько лет не могут прийти к согласию... Единственно возможное определение файла в мире компьютеров без дальнейшеко уточнения контекста: файл - это то, что _ваша_ ОС считает файлом!
А вообще, если понимать под языком программирования понимать изменение состояния компьютера (его программирование) языком, имеющего семантику и синтаксис, то с этой точки зрения HTML можно назвать языком программирования. Но с этой же точки зрения можно назвать и любой формат данных. Например GIF.
Изменяет состояние компьютера же? Да.
Имеет интаксис? Безусловно. Сначала заголовок, потом данные.
Семантика? Да, каждый блок данных расценивается по разному. Один как цвет паллеты, а другой описывает точку.
GIF отличается тем, что его руками побайтно не правят! А вот есть такой текстовый формат в UNIX для описания картинок - так если его править руками, а не при помощи графического редактора, то он тоже будет являться языком программирования. При этом никто не отбирает у него других собственных свойств. На раннем этапе люди программировали в машинных кодах, так вот сами коды являлись языком программирования, поскольку такова была область их применения (не единственная, они еще и непосредственно процессором выполнялись). Для того чтобы назвать язык языком программирования, надо чтоб на нем хоть кто-то программировал... если человек этого действия не совершает, то и язык в в данном случае является всего-лишь промежуточными данными транслятора или execution environment. Это может быть тот же С если б фотошоп сохранял картинку как исходник С с массивом байт. В данном случае С - не язык программирования, поскольку программированием на этом языке в _данном_ случае никто не занимался.
#41
Отправлено 16 августа 2004 - 11:42
А вобще спор бесполезен. Просто кто-то очень хочет быть программистом, а выучить какой-нибудь язык слабо.
Очень кстати правильное замечание. Полностью с ним согласен. Это и есть причина нападок на HTML. Просто люди владеющие другими языками программирования чувствуют себя обиженными из за того, что "вот тот чувак лабает HTML на коленке, так что ж теперь, он, как и я, может зваться программистом?". Обидно людям. Это ведь только тем, кто в этом варится, понятна разница между спецом, владеющим C++, Lisp, XSLT, и пионером, вскользь знакомым с HTML. А для людей далеких от программирования нет никакой разницы...
#42
Отправлено 16 августа 2004 - 11:47
Да ладно? Я всегда например делаю менюшки в ide. Или могу сделать красивую, пусть простую, диаграмму и сгенерировать код по ней. Чем отличается текстовое программирование от визуального?GIF отличается тем, что его руками побайтно не правят! А вот есть такой текстовый формат в UNIX для описания картинок - так если его править руками, а не при помощи графического редактора, то он тоже будет являться языком программирования.
Согласен. Все в нашем мире относительно Только вот с визуальным программированием не ясно, а так - ты меня практически убедилДля того чтобы назвать язык языком программирования, надо чтоб на нем хоть кто-то программировал... если человек этого действия не совершает, то и язык в в данном случае является всего-лишь промежуточными данными транслятора или execution environment. Это может быть тот же С если б фотошоп сохранял картинку как исходник С с массивом байт. В данном случае С - не язык программирования, поскольку программированием на этом языке в _данном_ случае никто не занимался.
#43
Отправлено 16 августа 2004 - 11:54
Кстати лично моя причина таких нападок заключается в том, что человек знающий тот же самый html и только его, обычно черезчур самоуверен и дерзок. Поэтому и негативная отдача. А так - мне до фонаря кто на чем программирует, хоть рычаги дергаетПросто люди владеющие другими языками программирования чувствуют себя обиженными из за того, что "вот тот чувак лабает HTML на коленке, так что ж теперь, он, как и я, может зваться программистом?"
[/offtopic]
Сообщение изменено: crazy russian (16 августа 2004 - 11:55 )
#44
Отправлено 16 августа 2004 - 12:08
Это так, примитивно и на пальцах, но у меня обычно даже дети такое понимают.
Если брать строго, то SQL тоже не является языком программирования, тк. он использует для своей работы SQL сервер и полностью зависим от него.
Java тоже не является языком программирования, поскольку использует для своей работы JVM и полностью зависит от нее! И я не программист, поскольку использую в своей работе исключительно языки Java, XML, XSLT, WML, XHTML.
Ну чес. слово, самим не смешно?
PS. Не надо путать языки программирования общеко назначения с DSLями. Никто не обещал, что на любом языке программирования можно сделать все, что только душе угодно, и никто не говорил что язык программирования обязательно должен быть общего назначения. Да, HTML конечно ограничен в своих возможностях, но это абсолютно ничего не доказывает кроме того, что это DSL. Если он позволяет сделать то, что трубуется в тех-задании с минимальными усилиями, то именно он будет выбран для реализации нужной функциональности! Даже если он не умеет делать то, что мне нафиг не нужно в отличие скажем от SWING в Java.
PPS. У меня в проекте некая функциональность реализованная полностью на XML/XSLT/WML требует пару дней неспешного кодинга, код компактен, все крайне легко сопровождаемо (код - практически точное отражение тех-задания). В соседнем проекте делают практически то же самое, только на Java/JSP/HTML - только за неделю упорного кодинга. Кода в 10 раз больше, все какую-то магическую объектную модель выдумывают на задаче простой обработки/отображения данных, сопровождать - еще столько же усилий надо. Разве ж из этого следует, что я плохой программист, а ребята набивающие тонны Жава кода - самые правильные программисты? Только потому, что я пользуюсь исключительно DSLами, а они - "правильным" языком программирования общего назначения Java?
#45
Отправлено 16 августа 2004 - 12:16
Да ладно? Я всегда например делаю менюшки в ide. Или могу сделать красивую, пусть простую, диаграмму и сгенерировать код по ней. Чем отличается текстовое программирование от визуального?
Согласен. Все в нашем мире относительно Только вот с визуальным программированием не ясно, а так - ты меня практически убедил
Текстовое от визуального. Фактически ничем. Сейчас есть несколько исследовательских проектов кде все программирование выполняется исключительно в графическом виде, без текстового представления вообще. Кстати уже давно существуют такие железки, которые программируются исключительно диаграммами. Эти самые диаграммы и являются язаком программирования для этих железок. Мир действительно очень относителен.
Кстати языки общения людей тоже не всегда имеют текстовое или звуковое представление. Язык глухонемых к примеру, или различные древние письменности - "визуальные" языки.
#46
Отправлено 16 августа 2004 - 13:54
Сам долго не считал HTML языком программирования и думал, что никто меня не переубедит.
Ну тут все #ойтца программисты ... и доказывать им всё равно что создавать заного номенклатуру аминокислот.
ЗЫ! Конечно, как я понял ты у нас всех здесь считаешь низшим сословием программистов? Смелое высказываение, надо отметить.
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#47
Отправлено 16 августа 2004 - 13:59
А вобще спор бесполезен. Просто кто-то очень хочет быть программистом, а выучить какой-нибудь язык слабо.
Я уже в ряде тем вижу твои такого рода наезды на других пользователей на сием форуме. Зачем так пытаться всех унизить ... если не сложно может ответить поподробнее на этот вопрос. И чтобы не отходить от темы ... дай определение DHTML . (косвенно но относится к теме топика). Это чтобы в оффтоп не снесли пост
ЗЫ! Если что-то грубо - то сорри. Обидно как-то просто!
Сообщение изменено: CyBurglar (16 августа 2004 - 14:10 )
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#48
Отправлено 16 августа 2004 - 14:37
А если серьезно ... спешу опять нарваться на ваши негитвные выподки и попытаться ответить и раскрыть смысл понятия "Язык программирования" ... ногами только не бейте . Итак , мое представление , и как мне кажется правильное о том , что же такое язык программирования ... Система обозначений для описания вычислений. То есть для тех кто на бронепоезде ... это совокупность из трех состовляющих ... так сказать трех китов :
1. Алфавит - символы для записи конструкций языка.
2. Синтаксис - правила записи конструкций языка.
3. Семантика - смысл конструкций языка.
т.е. (воз избежания очередных прицеплений к словам и лишней полемики)
Язак программирования = Алфавит + Синтаксис + Семантика
ЗЫ! Причем смею отметить ... что это касаемо не только компутеров ... на почве которых как я вижу уже ряд пользователей свихнулся , а может просто хотел показать всем что знает что такое Linux (BSD) ... написав смачно /dev/random ... ах если бы он только знал что файл состоит только из двух чисел что в своей совокупности не может потянуть даже на одну asm команду ... и наверно подавно не знал как генерируются эти числа и что генератор случайных чисел выводит шумы из драйверов устройств и других источников в "хаотичный" пул (entropy pool). Генератор также сохраняет необходимое количество битов шума в этом пуле и формирует из него случайные числа. Ладно ... я что-то от темы отошел ... вернемся к нашим парасятам ... итак , как я уже имел возможность заявить ранее, понятие язык программирования распрострняется далеко за пределы понятия компутер.
Кто писал свои компиляторы ... тот меня поймет
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#50
Отправлено 16 августа 2004 - 15:45
Самый первый пост. Агрессия чувствуется ... и чувство того что ты (сорри что на ты) свавишь себя в разряд высоквалифицированных программистов, который уже многие годы думает не так как здешние молодые "программсты" (из твоего определения) .Какое мое утверждение заставило тебя сделать такие выводы?
ЗЫ! Ладно ... вернемся к теме ... как же ты понял вруд что HTML это язык программирования? А не язык разметки данных, ни фкоем случае несвязаным с программированием, как с дисциплинной?
ЗЗЫ! Без иронии написано.
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#51
Отправлено 16 августа 2004 - 15:47
Это ты не правишь, но это не значит что это вообще невозможно. Некоторые и html руками не правят.GIF отличается тем, что его руками побайтно не правят!
В любом языке программирования (независимо от уровня) присутствуют:
1) Арифметические и логические операции. Попробуй перемножить два числа на html.
2) Организация разветвлений и циклов (if и for в высокоуровневых, cmp, je, jnz, jz и т.д. в ассемблере). Можешь попытаться на html это дело реализовать.
Что такое программирование? У любого процессора есть определенный набор команд, которые он может выполнять. Программирование это задание последовательности таких команд, либо непосредственно в машинных кодах (чем сейчас мало кто занимается), либо на каком-либо языке программирования. Еще раз подчеркну, язык программирования дает доступ к командам процессора. Язык представления данных -- нет.
А вообще html возвели в ранг языков программирования те, кто решил стать программистом во что бы то ни стало, но обломал зубы о C++.
#52
Отправлено 16 августа 2004 - 15:54
Вот почему ты считаешь всех такими тупыми и корыстными в своих начинанях, и в мыслях своих - пагубными? Зачем ломать зубы о C++ ... HTML и C++ из разных оперет (это не повод для дискусии) ... вот дай обосновательный ответ (подобно тому как я довал в соседней теме или здесь относительно языков программирования), почему нормальный в твоем понятии программист не должен воспринимать HTML как средво разработки програмных модулей?А вообще html возвели в ранг языков программирования те, кто решил стать программистом во что бы то ни стало, но обломал зубы о C++.
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#53
Отправлено 16 августа 2004 - 16:47
Самый первый пост. Агрессия чувствуется ... и чувство того что ты (сорри что на ты) свавишь себя в разряд высоквалифицированных программистов, который уже многие годы думает не так как здешние молодые "программсты" (из твоего определения) .
По пунктам...
1. Агрессия - было дело. Как же тут не будет агрессии, если хочешь ОБОСНОВАННО несогласиться с человеком, а он вот взял на себя роль всезнающего и закрыл топик.
2. Я ставлю себя в разряд высококвалифицированных программистов.
3. Молодым свойственно думать что они умнее других. С возрастом и приобретением опыта это проходит. Если конечно не зацикливаться на чем-то одном. Это не умаляет их заслуг как программистов в той области в которой они работают. Я сам был молодым и делал те же ошибки. Теперь я понимаю в чем корень моих ошибок, что не последнюю роль играл мой эгоизм...
ЗЫ! Ладно ... вернемся к теме ... как же ты понял вруд что HTML это язык программирования? А не язык разметки данных, ни фкоем случае несвязаным с программированием, как с дисциплинной?
Начинал программировать с Турбо-Паскаля, потом был C++. Вот тут и думал как это HTML да может называться языком программирования. Слишком уж большая была разница. Потом перешел на Java. Ознакомился с другими языками (не претендуя на их детальное изучение) - Smalltalk, Lisp и с функциональным программированием вообще. Осознал что программы могут состоять не только из набора команд. И зачастую такие подходы дают серьезный выигрыш в эффективности программирования. Потом активно использовал XSLT. Писал свои DSL-и на базе XML. Убедился на своей шкуре, что даже на XML можно программировать чем сейчас и занимаюсь по большей части.
#54
Отправлено 16 августа 2004 - 16:53
В любом языке программирования (независимо от уровня) присутствуют:
1) Арифметические и логические операции. Попробуй перемножить два числа на html.
2) Организация разветвлений и циклов (if и for в высокоуровневых, cmp, je, jnz, jz и т.д. в ассемблере). Можешь попытаться на html это дело реализовать.
Сам придумал?
Что такое программирование? У любого процессора есть определенный набор команд, которые он может выполнять. Программирование это задание последовательности таких команд, либо непосредственно в машинных кодах (чем сейчас мало кто занимается), либо на каком-либо языке программирования. Еще раз подчеркну, язык программирования дает доступ к командам процессора. Язык представления данных -- нет.
По твоему любой функциональный язык программирования на самом деле языком программирования не является? (для справки - в функциональных языках последовательность команд не задается, а уж о процессоре и его регистрах в таких языках вообще не принято задумываться)
#55
Отправлено 16 августа 2004 - 16:54
Сейчас тубя разорвут на кусти . Ну транформация по-типу XML -> XSLT -> out(HTML, DHTML , PDF , WAP . короче всё что угодно). Весьма ограничены возможности ... хотя тебя сейчас тут начнут учить что FOP вообще реализован на Java (например Coocon 2) ...Писал свои DSL-и на базе XML. Убедился на своей шкуре, что даже на XML можно программировать
ЗЫ! Ладно , завтра напишу ... что хотел.
Верю в смерть после жизни, любовь после секса и в крем после бритья ...
#56
Отправлено 16 августа 2004 - 17:39
Покажи мне, где я говорил что считаю всех тупыми и корыстными?Вот почему ты считаешь всех такими тупыми и корыстными в своих начинанях, и в мыслях своих - пагубными? Зачем ломать зубы о C++ ... HTML и C++ из разных оперет (это не повод для дискусии) ... вот дай обосновательный ответ (подобно тому как я довал в соседней теме или здесь относительно языков программирования), почему нормальный в твоем понятии программист не должен воспринимать HTML как средво разработки програмных модулей?
Я разве говорил что HTML нельзя использовать как средство разработки? Я всего лишь говорил, что HTML (в чистиом виде) -- не программирование. И объяснил почему. Так же как не является программированием создание простого текстового файла (с письмом другу, например) в нотпаде тоже им не является. Или создание рисунков bmp, неважно каким способом, в фотошопе или хекседитом. Но использовать и то и другое и третье в програмных разработках никто не мешает.
#57
Отправлено 16 августа 2004 - 17:45
Нет, придумал не сам. Ну назови пример функционального языка, где последовательность команд не задается, явно или косвенно.Сам придумал?
По твоему любой функциональный язык программирования на самом деле языком программирования не является? (для справки - в функциональных языках последовательность команд не задается, а уж о процессоре и его регистрах в таких языках вообще не принято задумываться)
О процессоре и его регистрах вообще не принято задумываться ни в одном высокоуровневом языке, собственно потому они и высокоуровневые. Но тем не менее любые возможности этих языков именно так и реализуются.
А вообще эту тему скоро наверно тоже закроют.
#58
Отправлено 16 августа 2004 - 18:41
Нет, придумал не сам. Ну назови пример функционального языка, где последовательность команд не задается, явно или косвенно.
О процессоре и его регистрах вообще не принято задумываться ни в одном высокоуровневом языке, собственно потому они и высокоуровневые. Но тем не менее любые возможности этих языков именно так и реализуются.
А вообще эту тему скоро наверно тоже закроют.
Еще раз - ЛЮБОЙ функциональный язык! Особенностью является то, что все переменные - инварианты, а значит последовательность их вычисления значения не имеет!
#59
Отправлено 16 августа 2004 - 19:18
А если серьезно ... спешу опять нарваться на ваши негитвные выподки и попытаться ответить и раскрыть смысл понятия "Язык программирования" ... ногами только не бейте
Никто и не собирался. Я готов выслушать все твои доводы и делал это довольно-таки старательно, однако так и не увидел ни одного достаточно убедительного. Подчеркну, что убедить меня достаточной легко.
Итак , мое представление , и как мне кажется правильное о том , что же такое язык программирования ... Система обозначений для описания вычислений.
В таком случае математический язык (которым пользуются для выражения математической теории) -- тоже язык программирования. Что не так.
Однако, программирование -- это в любом случае программирование какого-либо устройства. Все, думаю, прекрасно понимают, что программирование не только связано с компьютерами. Программировать можно и людей, например (с помощью опять же, особого языка, являющегося подмножеством любого естественного языка).
Твое же определение зацикленно именно на вычислительных устройствах. И ты забываешь, что программировать можно и стиральные машины, и токарные станки (без применения вычислительных устройств, как и делали в веке эдак 19-м с прядильными станками).
То есть для тех кто на бронепоезде
Так кто на кого нападает?
.. это совокупность из трех состовляющих ... так сказать трех китов :
1. Алфавит - символы для записи конструкций языка.
2. Синтаксис - правила записи конструкций языка.
3. Семантика - смысл конструкций языка.
т.е. (воз избежания очередных прицеплений к словам и лишней полемики)
Язак программирования = Алфавит + Синтаксис + Семантика
Любой язык = Алфавит + Синтаксис + Семантика! Так что не катит... + Наглый и прозрачный софизм
ЗЫ! Причем смею отметить ... что это касаемо не только компутеров ... на почве которых как я вижу уже ряд пользователей свихнулся, а может просто хотел показать всем что знает что такое Linux (BSD) ... написав смачно /dev/random ...
Еще раз: так кто на кого нападает?
Про /dev/random написал Zeppelin, который, видимо, знает UNIX недостаточно глубоко (или я ошибаюсь?). /dev/* -- это файлы. Только специальные. Они просто особо интерпретируется файловой (да и всей операционной) системой. Если в Linux не используется devfs, то этот файл сохраняется в файловой системе и содержит два целых числа -- major и minor номера виртуального устройства Linux. Интерпретируется он особо тогда и только тогда, когда один из битов его стандартных юниксовских атрибутов выставлен в значение 1.
Теперь, Zeppelin, обрати внимание, что в статье про Domain-Specific Languages нет ни слова про "programming languages". Авторы благоразумно отошли от названия означенных языков языками программирования.
Далее, SQL как аналогия сюда совершенно не катит. В отличие от HTML, SQL имеет командную семантику: SELECT, UPDATE, CREATE TABLE -- это все глаголы в английском языке. HTML же -- чисто описательный язык. Язык, описывающий исключительно структуру документа. Обратите внимание, что в HTML нет ни одного глагола. Именно поэтому, по-моему, рассматривать HTML как язык программирования по-моему просто бессмысленно! В языках программирования вроде C/С++/Java глаголами служат также операторы.
А разница между приведенным тобой кодом HTML и кодом JavaScript (если я не ошибся) заключается не в выразительности, а в семантике. В случае с HTML -- ты описываешь структуру документа. В случае с JavaScript ты передаешь последовательные команды по формированию абстрактных объектов. Сечешь разницу, или нет?
По-моему, это не я или кто-то иной возомнил из себя что-то, а кое-кто другой просто перегрелся на солнышке (или сидя за монитором).
Наконец, самое главное: поберегите свои слюни (без обид). При всем моем уважении к вам, дорогие коллеги и товарищи, вы зазнаетесь зачастую не меньше. Тем более, я не зазнавался. Я попытался избежать очередной войны флейма. Но случилось именно то, чего я боялся -- тема на две (или уже больше?) страницы, где люди пытаются доказать, что они правы (неважно в чем).
Сомнения, возражения еще есть? Давайте, пишите. Ради интереса я оставлю эту тему открытой. Прошу также других модераторов ее пока не закрывать (я закрою ее сам, если что).
Сообщение изменено: tomatensaft (16 августа 2004 - 20:00 )
#60
Отправлено 16 августа 2004 - 19:51
По пунктам...
1. Агрессия - было дело. Как же тут не будет агрессии, если хочешь ОБОСНОВАННО несогласиться с человеком, а он вот взял на себя роль всезнающего и закрыл топик.
Ну вот, сам признался... Я не обижась, правда!
2. Я ставлю себя в разряд высококвалифицированных программистов.
Скромно. Хорошее самомнение и самолюбие -- ключ к успеху. Однако...
3. Молодым свойственно думать что они умнее других. С возрастом и приобретением опыта это проходит. Если конечно не зацикливаться на чем-то одном. Это не умаляет их заслуг как программистов в той области в которой они работают. Я сам был молодым и делал те же ошибки. Теперь я понимаю в чем корень моих ошибок, что не последнюю роль играл мой эгоизм...
Ух, старики... Они считают, что у них вся правда мира... Сведем все на классическое непонимание между отцами и сыновьями (поколениями), а-ля Достоевский?
Начинал программировать с Турбо-Паскаля, потом был C++. Вот тут и думал как это HTML да может называться языком программирования. Слишком уж большая была разница. Потом перешел на Java. Ознакомился с другими языками (не претендуя на их детальное изучение) - Smalltalk, Lisp и с функциональным программированием вообще. Осознал что программы могут состоять не только из набора команд.
Хороший послужной список. Уважаю.
И зачастую такие подходы дают серьезный выигрыш в эффективности программирования.
99% согласен.
Потом активно использовал XSLT. Писал свои DSL-и на базе XML. Убедился на своей шкуре, что даже на XML можно программировать чем сейчас и занимаюсь по большей части.
Так на чем ты программировал? На DSL-ах, или на XML? XML -- это унифицированный синтаксис некоего множества специализированных языков. Однако семантика у всех них может быть совершенно различная. На нем невозможно программировать. Однако, соглашусь, что возможно писать программы на языке с синтаксисом XML и командно-функциональной семантикой (что ты и делал). Вы с CyBurglar так много говорите о семантике, но совершенно упускаете из виду то, что эта самая семантика у языков программирования и декларативных языков разметки совершенно различная!
Также вы упускаете из виду то, что семантика может быть совершенно различная даже для одного и того же кода. С одной точки зрения, код на C++ -- это программа. С другой точки зрения -- это всего лишь текстовый файл с данными, написанными на некоем языке (например, на подмножестве английского). Вполне возможно, что для мог быть применен некий особый язык разметки (например: "<token type="type">int</token><token type="name">func</token><token>(</token><token>)</token>"). Сам язык разметки не является языком программирования, однако тот язык, который он размечал -- является.
Мы рассматриваем здесь языки программирования как языки, с помощью которых можно определить последовательность и логику выполнения каких-либо реальных или абстрактных действий. HTML такую последовательность и логику не определяет.
Сообщение изменено: tomatensaft (16 августа 2004 - 19:56 )