![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
4ell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
Забавная ситуация вышла у меня сегодня в моем учебном заведении. Не будем тыкать пальцами.
С сегодняшнего дня к моему плану добавился предмет под названием "Компьютерные сети и их администрирование". Но как ни странно большая часть курса будет посвящена веб технологиям и нас будут "учить" пяти "языкам программирования":
Даже не знаю что и думать, либо я дурак, либо программистами стоит считать всех кто "написал" hello world на php. Ладно javscript, ладно php. Но ведь html, css, sql ну ни в какие ворота! |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
html - с классической точки зрения не является языком программирования, а всего лишь сполобом разметки страницы. так написано во всех учебниках. это скорее интерпретируемые программой, в данном случае браузером, данные.
с другой стороны можно впасть в заблуждение и подкопаться, что он представляет собой набор инструкций, задающих поведение программы-хоста, отрисовывающей страницу... такой подкоп неверен, ибо тогда любой конфигурационный файл можно считать программой, а если конфиг записан в XML ![]() Ошибка тех, кто так говорит заключается в попытке причислить "язык разметки" к скриптам, то есть "языкам сценария". сами по себе "сценарные языки" являются языками программирования, но в чём отличие их от классических ЯПов - это уже полемика на уровне религиозных воин... можно сюда ещё дотнет вспомнить с его байткодом и растянуть палемику на 100 страниц... вывод - препод неправ. пусть покажет хоть в одном издании где HTML - ЯП. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
Вообще говоря, если погуглить словосочетание "язык программирования HTML", то найдется много ссылок, в том числе и на желаемые издания. ![]() На самом деле вопрос лишен смысла. Четкого и общепринятого определения ЯП нет, а используемые в литературе определения, как правило, не противоречат утверждению, что HTML к ЯП относится (хотя это и кажется нелепым). Так что не стоит ломать копья по этому поводу. Если преподаватель действительно может научить кого-то корректному использованию HTML, то пусть называет его хоть горшком, это непринципиально. |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
жаль что развалили образование... нас вот учили цитатами с википедии в инсте
![]() проблема в том что в преподы часто берут зелёных выпускников и аспирантов, проплативших аспирантуру. мне вот сразу по окончанию инста предложили на бирже труда в преподы пойти. я не хотел, но обходной листок подписать таки надо было))) так я из этого учебного заведения еле выбрался - всеми правдами и неправдами не хотели отпускать и соглашались на всё! вместе с тем преподавательского образования у меня нет хрен знает чему их учить. был круче случай - в инсте один из наших постоянных прогульщиков прополз в аспирантуру и его там, как и всех на второй год запрягли преподавать)))) мы уссывались со смеху))))))))) я это к чему, 4ell - не наезжай на препода, время щас такое. сам учись ![]() |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი |
А по javascript какие вообще сомнения могут быть?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
стало любопытно, погуглил - два каких-то самопальных без авторов и прочей атрибутики есть. возможно это они в свете HTML 5 так решили превознести его ![]() |
|||
|
||||
4ell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
JavaScript, php - языки программирования, не спорю.
Думаю правильно будет сказать что на языке программирования можно написать программу. На оставшихся разве можно? CompWorm - статьи из википедии слово в слово под диктовку и у нас практикуется. Зато есть интернет, подобные форумы куча хорошей литературы, а если еще желание тогда вряд ли кто-то тебя остановит. Просто обидно что платишь деньги, причем не малые. А в итоге ни знаний, ни денег... |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
Данкинг, там сомнения про css, html и SQL у автора, если я всё правильно понял...
Это сообщение отредактировал(а) CompWorm - 11.12.2012, 00:07 |
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი |
А, там ещё и SQL. А чё: раз language - значит, язык.
![]() -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
Тогда полезно задуматься над вопросом, что такое программа. ![]() ![]() |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
я выше писал о классическом, можно сказать школьном, понимании программирования. в широком смысле ты даёшь очень скользкое определение. что по-твоему есть программа? особеено, когда речь идёт о javascript, lua, pawno итп )) если ты козырнёшь классическим "это набор исполняемых инструкций бла бла бла" то тогда любые данные можно считать "программой". пример: сравни например html файл и exe. и там и там некоторый исполнятор считывает заголовок, в случае html - тег <html> и какие-то заголовки, в случае exe - заголовок PE, понимает, что за формат ему попался и начинает выполнять инструкции, пока не достигнет точки выхода. Это сообщение отредактировал(а) CompWorm - 11.12.2012, 00:33 |
|||
|
||||
4ell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
SQL - Structured Query Language язык запросов, но не язык программирования. Можно считать что по определению авторов он уже не ЯП.
Фантом - да чтобы это определить нужно придумать другой язык, русский не совсем для этих целей подойдет. Хотя можно сделать ооочень длинное определение в котором определить кучу критериев. Так вот чтоб такого не делать, можно дать хотя бы приближенноe определение, можно например сказать что ЯП это формальный язык позволяющий записать алгоритм, который в последствии может быть выполнен на ЭВМ. Теперь смотрим на html. Встроенных средств для записи алгоритмов нет, css, sql - аналогично. Отсюда вывод. Можно конечно пойти дальше и начать спрашивать а что такое алгоритм. И продолжать эту игру с терминами можно до бесконечности. Еще, хочу добавить одну вещь, на языке программирования можно написать любой алгоритм, который только существует. Вот например алгоритм нахождения n-го числа фибоначчи. Напишите мне его на чистом html. Причем следует учесть что это не достаточный признак ЯП. Это сообщение отредактировал(а) 4ell - 11.12.2012, 00:46 |
|||
|
||||
CompWorm |
|
||||||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
тебе придётся это сделать. препод не отступит наверняка так просто))) он тоже щас на другом форуме этот вопрос задал ![]()
чо?! блокнот! блокнот же есть чтобы записать код ![]()
код можно и на парте нацарапать гвоздём, а выполнить позже ![]() Добавлено через 5 минут и 16 секунд 4ell, я не просто так троллю. ты должен суметь понять и формализировать что конкретно я там неправильно написал. иначе борьба с преподом закончится эпик фейлом |
||||||
|
|||||||
4ell |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
Ахах, блокнот, круто! Но если серьезно, то есть определенный минимум конструкций из которых можно построить язык полный, по Тьюрингу.
Спасибо, повеселили ![]() Добавлено через 6 минут и 38 секунд
ок, CompWorm ты не правильно интерпретировал сочетание "средства записи алгоритмов", я подразумевал специальные конструкции которые позволяют задавать определенный ход выполнения и изменение состояния исполнителя. |
||||||
|
|||||||
DviRUS |
|
|||
![]() Капыч ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.10.2006 Где: Волгоград |
Слава богу у нас таких "Учитилей" небыло...
Тыкни пальцем чтоб знали своих героев... ![]() -------------------- Это не только мерзко, но и невозможно! (с) |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь |
![]() Добавлено через 2 минуты и 28 секунд Кстати, по теме. По-моему html и SQL ну никак нельзя считать языками программирования. Таким макаром можно и rtf назвать языком программирования. Чем этот формат принципиально от html отличается? -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Неограниченные грамматики являются полными по тьюрингу. Я не могу сходу сказать является ли HTML неограниченной грамматикой, но и утверждать обратное тоже не возьмусь. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Фантом |
|
||||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
В таком случае какой-нибудь Фортран (FORmula TRANslator) вообще не язык. Впрочем, языками программирования в рамках такого определения являются только PL/1 и PL/M (поскольку PL - это "programming language"). ![]() В таком случае HTML является языком программирования. Это запись алгоритма отображения страницы в броузере. Не такая уж это игра, из нее (при аккуратном подходе) следует довольно много интересных результатов. И, кстати, формальное определение алгоритма как раз существует, так что дальше двигаться необязательно
Вот последнее - это уже теплее. Т.е. язык программирования должен обладать полнотой по Тьюрингу. Однако в природе есть нечто, что принято называть "языками программирования", хотя тьюринг-полнотой они не обладают (редко, но такое встречается), и намного чаще встречается то, что является тьюринг-полным, но что не принято называть языком программирования. В частности, CSS3 и SQL со стандартными расширениями тьюринг-полны. ![]() Бывают и более изысканные случаи. Есть PostScript, который вроде бы тоже язык разметки. Однако он же - по сути дела, немного модифицированный Forth (который язык программирования). Полны по Тьюрингу оба. ![]() А что будет достаточным? Добавлено через 6 минут
"Обычный¨ HTML не является. А вот насчет HTML5 я тоже ничего сказать не берусь... |
||||||
|
|||||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
В чем принципиальная разница между "обычным" HTML и HTML5? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант |
||||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
||||
|
||||
Freyzer |
|
|||
![]() обаятельный нахал ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 12.12.2009 Где: на Марсе |
Реално, впервые слышу, что хотел бы услушылать -------------------- Advocatus Dei ![]() ![]() |
|||
|
||||
bilbobagginz |
|
||||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel |
это как грицца
Если определять ЯП как обязательно полный по Тюрингу, то большинство DSL не пройдет. А если рассуждать не узко, то можно разделять яп на разные подгруппы (одно такое разделение описано в педивикии), Судя по такому определению и классификации, яп - набор инструкций для выполнения (не указано кем конкретно). Один из стандартных классов яп является семейство "декларативных ЯП" Можно рассматривать HTML как т.н. "domain specific" подгруппу XML, т.е. как "declarative markup" язык: язык описания документов компьютерными программами, понимающими этот язык (браузерами, например) А т.к. "декларативные маркап языки" являются подмножеством множества "языки программирования", можно сказать ergo:
т.е. "что и требовалось доказать" Ессно, знание HTML не является делом сложным, т.к. алгоритмики в нем практически нет (хотя размечать можно умнее и тупее, правильнее и кривее), и я не стал бы записывать знание ХТМЛ у себя в "рабословной по найму" (a.k.a. CV), и все же, понимание как этот HTML преобразуется в DOM, а из него в то что видно в браузере - тоже дело не всегда тривиальное ;) Мир всем. Это сообщение отредактировал(а) bilbobagginz - 11.12.2012, 17:51 -------------------- Я ещё не демон. Я только учусь. |
||||
|
|||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Переформулируем вопрос: почему ты уверен что "обычный" HTML не является? Ты можешь это доказать или это умозрительные заключения? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 |
Нету там разницы. HTML5 содержит теги, которые интерпретируются браузером во всякое видео/аудио, рисование и т.д. Сам по себе HTML5 не предоставляет возможностей для создания хоть каких бы то ни было "подвижных" систем (алгоритмов, что либо выполняющих), как и другие версии HTML. По-этому он и не язык программирования. И вообще, никогда таким HTML не станет. Концепция разделения труда древняя как мир и до сих пор не утратила актуальности. Разделение вывода (вида) и бизнес-логики. Вот на чем построен HTML. Дизайнеры могут работать с простым HTML, статическим выводом. А программисты могут работать со сложными серверными (и клиентскими, как JS) частями и не извращать дизайн своим математическим мышлением =) Это дает возможность делать каждую из этих частей максимально эффективно и качественно. По сути получается, что HTML не может быть языком программирования по собственной природе и цели своего существования. Его создали именно для того, чтобы языком он не был не программирования, а разметки. Как-то так... -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
Доводилось видеть это в статьях и слышать от коллег по факультету (которые являются специалистами по этой части), насколько я помню, кто-то когда-то озаботился доказательством его тьюринг-неполноты. Точную ссылку сходу дать не берусь, это все-таки слишком далеко от области моих профессиональных интересов, но, если очень интересно, могу потрясти коллег. |
|||
|
||||
4ell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
Вопрос сложен, формально дать определение языку программирования врядли получится.
Поскольку как уже говорили выше как бы мы не старались появляются исключения из правил. Например тот же пролог не является Тьюринг-полным. При этом неограниченные грамматики хоть полны по Тьюрингу, языками программирования не являются. Так же CSS3 + HTML не принято считать ЯП. Может быть стоит определить ЯП более интуитивно, наример считать языком программирования язык, который Предназначен для реализации на нем различных алгоритмов, и позволяет достаточно просто их записывать. |
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
||||
|
||||
4ell |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
Упс... Правда, недоглядел. Но скажем языки пиксельных шейдеров уже не Тьюринг полные. Я это к тому что в природе такие языки есть.
Рецепты написанны на русском языке, который неформален. Но предположим у нас есть робот-повар, что нам мешает придумать язык для того чтобы было с одной стороны просто записывать рецепты а с другой стороны они интерпретировались роботом однозначно? Это сообщение отредактировал(а) 4ell - 11.12.2012, 21:55 |
||||
|
|||||
Фантом |
|
||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
Конечно. Как уже упоминали выше, этим свойством обладают почти все DSL, что не мешает людям считать их языками программирования. Можно переписать поваренную книгу на эсперанто (в котором, как известно, нет ни одного исключения из правил, да и правил немного).
Ничего, причем этот входной язык вполне может оказаться некоторым (в т.ч. и достаточно широким) подмножеством какого-либо естественного языка. Впрочем, "пиджин инглиш" и так подойдет, без урезания. ![]() В конечном счете получается, что "язык программирования" - это то, что так называют (многие) люди. Никакого более удачного определения не придумать, поэтому в некотором смысле преподаватель был прав (во всяком случае, он далеко не единственный человек, считающий HTML языком программирования). |
||||
|
|||||
4ell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
И все же, html не описывает как рендерить страницу, он описывает что рендерить.
Все таки этот язык не принято причислять к языкам программирования, об этом пишут практически везде. Чтоб не быть голословным http://en.wikipedia.org/wiki/Programming_l...age#Definitions Добавлено через 4 минуты и 7 секунд Кстати, если человек только что изучил веб технологии и считает html ЯП. А человек который всю жизнь занимается программированием написал несколько книг и утверждает что он не является ЯП. Чье мнение более весомое? |
|||
|
||||
Фантом |
|
||||||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 |
Декларативные языки программирования существуют.
Не спорю, но и примеры обратного, как я уже писал выше, найти несложно.
Ничье. Это только вопрос договоренности и привычек, ничего больше. |
||||||
|
|||||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 |
А меня учили, что программирование - это чтение данных, обработка данных и вывод данных.
С этой точки зрения HTML - не язык программирования. С помощью HTML нельзя прочитать, обработать или выполнить данные. Этим занимается браузер, который написан как раз на языке программирования. А HTML выступает уже в роли самих данных. Можно сказать, что HTML - это просто такой формат сохранения данных. Точно так же, как PDF, DOC (MS World) и подобные. Добавлено через 7 минут и 43 секунды Откройте калькулятор в windows и попробуйте полностью реализовать его функционал на том, что вы считаете языком программирования ![]() Если получится - это действительно язык программирования. Если не получится - это лишь некоторый частный случай способов обработки данных. -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
Freyzer |
|
|||
![]() обаятельный нахал ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 12.12.2009 Где: на Марсе |
Стоит ли считать HTML к языком программирования вот как написанна тема, вот также HTML, язык программирования.
Все время считал что это язык разметки. -------------------- Advocatus Dei ![]() ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Я все таки не понимаю на чем основано утверждение что неограниченные грамматики полны по Тьюрингу. Т.е. XSLT считается тьюринг полным, а XML нет, хотя любой XSLT документ является и XML документом.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Freyzer |
|
|||
![]() обаятельный нахал ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 12.12.2009 Где: на Марсе |
Алгоритм, это хорошо но, перфокарта не позволит вывести интерфейс на экран. Может я ошибаюсь?
![]() -------------------- Advocatus Dei ![]() ![]() |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
Да при Тьюринге такого бардака не было
![]() |
|||
|
||||
4ell |
|
||||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
Тут то прикол в том что правила построения XML дополняются правилами XLST. Т.е. в принципе можно описать программу на xml например так:
по уродски конечно не продуманно, но факт что поверх самого XML можно придумать язык программирования, но исполнять то его будет не парсер xml! А специальный интерпретатор.
Диск с программой тоже не позволит вывести интерфейс на экран и что? Можно например вручную под микроскопом рассматривать этот диск и выписывать биты на листочек. Затем вручную разбирать машинные команды. Это сообщение отредактировал(а) 4ell - 14.12.2012, 21:14 |
||||
|
|||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City |
||||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб |
Давай тогда английский язык назовем языком программирования! А что? Все слова, которыми записываются программы традиционных языков - английские. ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
4ell |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 17.9.2011 |
Суть не в том чтобы объявить XML или английский языком программирования. Суть в том что добавив в них некоторые новые правила можно сделать их языками программирования. Добавлено через 1 минуту и 17 секунд Но дополнив язык, мы уже его изменили, т.е. это уже не тот прежний XML и не тот английский что был раньше. Это новый дополненный язык |
|||
|
||||
Arantir |
|
|||
Рыбак без удочки ![]() ![]() Профиль Группа: Участник Сообщений: 960 Регистрация: 18.11.2012 |
![]() ![]() Разница между русским, английским, HTML и каким-нибудь C++ в том, что русский и английский можно использовать только для общения между людьми, HTML только разметки web-страницек, а C++ только для общения с ЕОМ. Это сообщение отредактировал(а) Arantir - 14.12.2012, 22:48 -------------------- interface Жопа { // ATTENTION: has to be implemented by every class of the project for proper project work } |
|||
|
||||
CompWorm |
|
|||
![]() Допеределыватель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1689 Регистрация: 6.12.2004 Где: / |
||||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin |
Можно и поверх HTML то же самое придумать, это не фокус. Вопрос в другом, почему неограниченные грамматики считаются Тьюринг полными? Как там происходит вычисления? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте |
Я думаю, здесь в вопросе сабжа кроется два вопроса, которые целесообразнее было рассматривать поотдельности: 1. Считается ли хтмл ЯПом 2. Является ли он таковым На первый вопрос ответ более или менее очевиден. Большинство источников говорит, что это не ЯП, хотя есть и те, кто либо настаивает на том, что он таковым является, либо не, как минимум, не спорят с такой формулировкой. Причиной того, что язык не считается ЯПом, по всей видимости является то, что здесь тон задают программисты менстримовых языков. Для них в хтмл отсутствуют типичные для ЯПов конструкции( циклы, переменные и пр.), он слишком специализирован и вообще код больше похож на описание структуры данных, нежели инструкций, которые следует выполнять. В то же время, следует заметить, что среди приверженцев идеи о том, что это ЯП, далеко не все - лохи, что, в общем-то, продемонстрировала даже эта тема. Ответ на второй вопрос затруднителен в силу того, что формального определения языка программирования не существует, а когда возникала традиция называть тот или иной язык языком программирования, критерии были разными. В силу этого обстоятельства, как уже писал Фантом, сформулировать критерии ЯПа таким образом, чтобы им удовлетворяли все языки, считающиеся таковыми, а все не считающиеся были отсяны - вряд ли возможно. Прокомментирую несколько утверждений, прозвучавших в этой теме и кажущихся мне как минимум спорными. Попытку разделения языков, исходя из того, всё ли они могут, вряд ли можно считать состоятельной, поскольку этот критерий делит языки не на япы и неяпы, а на языки общего назначения (General Purpose) и предметно-ориентированные (Domain Specific) и совсем непонятно, почему последним отказывается в праве называться япами, тем более, что традиционно некоторые из них так называются. Полнота по Тьюрингу - так же довольно зыбкий критерий, поскольку если его применять, то автоматное программирование придётся перестать считать программированием, поскольку автомат не является полным по Тьюрингу. Наличие в языке алгоритмического инструментария - так же вряд ли надёжный критерий, поскольку в этом случае выпадают функциональное и логичекое программирование. Не менее спорным я считаю аргумент, указывающий на то, что языки, описывающие некую структуру данных, не являются языками программирования. Если взять любой объектно-ориентированный язык, то бОльшая часть конструкций этого языка описывает структуру данных. Алгоритм там только внутри метода, да и там есть место для структур данных( взять тот же json, e4x в яваскрипте, да и не только). И если забить в поисковик что-то типа "эквивалентность алгоритмов и данных", то можно найти немало интересного по этому вопросу. Ну и наконец, если взглянуть на то, как происходит обработка кода машиной, то мы увидим, что на первоначальном этапе происходит парсинг. Результатом парсинга является абстрактное синтаксическое дерево, а что есть это дерево, как не структура данных? Выходит, что любой язык описывает структуру данных, и языки, более ориентированные на описание структур( такие как хмл) вполне подходят для написания программ и даже существуют реализации такого подхода. Конфигурации. В конфигурацию обычно выводится та часть поведения программы, которую надо будет изменять во время исполнения, когда доступа к изменению кода не будет. При этом эффект должен быть таким же, как и от изменения программного кода. Достаточно ли этого, чтобы считать конфигурацию программой? Не знаю, но судить об этом так же категорично, как тут некоторые делали, не стал бы. Ну и наконец хтмл. Самое странное, что его по сей день некоторые называют языком разметки гипертекста. Когда язык получил название, это действительно был язык, описывающий форматированный текст с гиперссылками. С тех пор кагбе многое изменилось: в нём появились элементы управления для отправки форм на сервер; сценарии; стили; изображения ( в том числе анимированные); встроенные объекты с зачастую чрезвычайно сложным поведением, к тому же способные взаимодействовать с документом; встроенные языки( такие как svg например) и всякая прочая мультимедия. В настоящее время с помощью этого языка пишутся клиентские части сложнейших веб-приложений, которые порой уже теснять свои десктопные аналоги. И что, не смотря на всё это он таки остался тем, что заложено в его названии? Конечно, вы скажете, что скрипты и прочее пишутся на других языках, поэтому не считаются, ну, а как же тогда быть с тем же яваскриптом и прочими скриптовыми языками? Яваскрипту для работы нужны объекты DOM, ActiveX, XPCOM или ещё что-то, а сам по себе он не в состоянии даже взаимдействовать с пользователем. Или взять язык XSLT. Считается языком программирования и даже полным по Тьюрингу, но все его вычислительные возможности кроются в языке XPath и без него он - ноль без палочки. А хтмл, в отличие от двух предыдущих примеров, по крайней мере самдостаточен, а возможность расширения скриптами и объектами заложена в самом языке. ЗЫ ЛСД, хслт как язык программирования полон по Тьюрингу, но его синтаксис основан на контекстно-свободной грамматике, полнотой по Тьюрингу не обладающей. Это общая тенденция и характерно дя большинства япов. Применительно к грамматике полнота по Тьюрингу обозначает необходимый набор инструментов для её разбора: если для разбора к-с-грамматики достаточно автомата со стеком, то для тьюринг-полной грамматики этого мало. ЗЫЗЫ А вообще, надо в тему зазвать нашего главного специалиста по хтмл Иринузануду и как она скажет - так и будет ![]() -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит ![]() |
|||
|
||||
irinazanuda |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 911 Регистрация: 23.6.2010 |
Однозначно--язык программирования и не надо бла-бла и камни в мой огород... с помощью этого ЯЗЫКА делается размётка и вёрстка... а так же чем я и занимаюсь гифками)))). раз можно писать код и вставлять разные картинки в него-- это уже свой стиль!!! , кроме того только для хтмл есть специальные правила и формулы, спец слова--тоесть отличный от других языков!!!! Все причиндалы, которыехарактеризующие принадлежность к языку есть!!!
PS: Ну, и как всегда ДядяВова прав, Унибомб хороший, тему можно закрывать Это сообщение отредактировал(а) irinazanuda - 18.12.2012, 12:21 |
|||
|
||||
Freyzer |
|
|||
![]() обаятельный нахал ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 12.12.2009 Где: на Марсе |
?
![]() Это сообщение отредактировал(а) Freyzer - 31.12.2012, 08:09 -------------------- Advocatus Dei ![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |