Можно ли считать SQL языком программирования?
А Пролог?
Upd: чтоб было понятнее, откуда возник вопрос. Они оба не являются алгоритмическими языками, в том смысле, что не содержат алгоритма получения результата. Они содержат только критерии, которым этот результат должен удовлетворять. Можно ли считать их при этом языками программирования?
А Пролог?
Upd: чтоб было понятнее, откуда возник вопрос. Они оба не являются алгоритмическими языками, в том смысле, что не содержат алгоритма получения результата. Они содержат только критерии, которым этот результат должен удовлетворять. Можно ли считать их при этом языками программирования?
Tags:
no subject
А пролог я, по-моему, в глаза не видел.
no subject
no subject
no subject
no subject
Пролог - да. Ну а определяю я это так: смог бы кто-то написать машину Тьюринга на этом языке?
Если да - язык программирования. Иначе - просто грамматика какая-то.
no subject
no subject
Ты чего? Structured Query Language - это язык кого????
Пролог - один из языков програмирования.
P.S. Похмеляйся.
no subject
no subject
no subject
тем более, что на sql тоже можно писать не только обращения к БД. select 2+2 from systables;
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
no subject
xml можно использовать для описания программ, но это не делает его сам по сбе языком програмирования, он всё равно остаётся языком описания
no subject
но вообще да, ниже правильно написали, что это вопрос определения.
no subject
Я например отношусь скорее к "Some authors restrict the term "programming language" to those languages that can express all possible algorithms"
http://en.wikipedia.org/wiki/Programming_language#cite_note-1
Поэтому SQL это не язык программирования т.к. не turing complete, а brainfuck и пролог языки программирования.
P.S. Пролог таки является алгоритмическим языком программирования, ты наверное хотел использовать термины "императивный"/"декларативный"
no subject
А что, есть другие признаки? Мне казалось, что тьюринг-полнота — это единственное определение языка программирования :)
no subject
Меня вот прикалывает такое (http://slovari.yandex.ru/dict/gl_natural/article/136/136_207.HTM?text=%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0) определение:
Программа - согласно ГОСТ 19781-90 - данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма.
Относительно того, что SQL - язык, надеюсь сомнений нет ни у кого. И поскольку написанное на этом языке является программой (управляет конкретными системами обработки информации), то значит он язык программирования :)
no subject
Ну, меня везде учили и я везде читал, что “программа — это запись алгоритма в виде, понятном исполнителю, для которого эта программа предназначена.”
no subject
no subject
С другой стороны — с прологом почти та же фигня…
no subject
В любом случае, алгоритм есть, потому как процессор у нас выполняет таки команды последовательно.
Для декларативных языков программирования, алгоритм фиксирован. Этот набор деклараций управляет машиной, которая работает по тому самому фиксированному алгоритму.
Например, для SQL алгоритм машины можно записать так:
1. получить запрос
2. выполнить запрос
Если дальше разворачивать пункты вглубь, то получим программу, которая будет составлена строго по этим самым декларациям.
no subject
no subject
Если переходить на бытовые примеры — то просьба жене “свари борщ” как-то не похожа на алгоритм варки борща. Это скорее запуск макроса, который уже в себе содержит алгоритм (рецепт) :)
no subject
А так алгоритм на ассемблере это тоже макрос, т.к. ты не управляешь пересылкой электронов в процессоре.
no subject
no subject
no subject
В общем, правда - ответ на вопрос зависит от определения. Если сделать определение частью постинга, будет смысл обсуждать.
ЗЫ Не говоря уж о том, что надо конкретнее - какой из диалектов (или стандартов) SQL имеется в виду.
no subject
no subject
no subject
no subject
RE: UPDATE
Причем будут правы.
Навесят тебе и за лисп, и за хаскель и за все
Re: UPDATE
Re: UPDATE
Re: UPDATE
Re: UPDATE