Можно ли считать SQL языком программирования?
А Пролог?
Upd: чтоб было понятнее, откуда возник вопрос. Они оба не являются алгоритмическими языками, в том смысле, что не содержат алгоритма получения результата. Они содержат только критерии, которым этот результат должен удовлетворять. Можно ли считать их при этом языками программирования?
А Пролог?
Upd: чтоб было понятнее, откуда возник вопрос. Они оба не являются алгоритмическими языками, в том смысле, что не содержат алгоритма получения результата. Они содержат только критерии, которым этот результат должен удовлетворять. Можно ли считать их при этом языками программирования?
Tags:
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