Консультация № 60163
25.10.2006, 19:42
0.00 руб.
0 3 3
Добрый день.
Вот сегодня прочитал что SQL - это непроцедурный язык программирования. Насколько я знаю, си, паскаль и т.п. - это алгоритмические языки программирования. АЛГОЛ - ещё какой-то тип языка программирования. (А HTML вообще не язык программирования а язык разметки)
Расскажите пожалуйста что такое процедурный / непроцедурный язык, что такое алгоритмический / неалгоритмический язык, и ещё расскажите какие типы языков программирования бывают и определения этих типов.

Обсуждение

Неизвестный
25.10.2006, 21:00
общий
это ответ
Здравствуйте, Вiктор!
Не знаю как SQL определяют теоретики, из того с чем приходилось сравнивать SQL более всего походит на PROLOG - соответственно логическое программирование. И по этой же классификации:
струтурное программирование(я бы сюда и ООП включил не выделяя его отдельно) - C, C++, Pascal/логическое программирование(PROLOG)/функциональное программирование(ML, Haskell)
http://www.cad.dp.ua/kurs/LECTURE1/lecture1.html
http://www.intuit.ru/department/se/tppfunc/1/
и Вообще:
http://www.google.com/search?client=safari&rls=en-us&q=%D0%9A%D0%BB%D0%B0%D1%81%D1%81%D0%B8%D1%84%D0%B8%D0%BA%D0%B0%D1%86%D0%B8%D1%8F+%D1%8F%D0%B7%D1%8B%D0%BA%D0%BE%D0%B2+%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F&ie=UTF-8&oe=UTF-8
Неизвестный
26.10.2006, 03:20
общий
это ответ
Здравствуйте, Вiктор!
Во-первых, то что вы назвали алгоритмическими языками программирования, то-есть СИ, Паскаль - это и есть процедурные языки. Они изначально рассчитаны на то что программа разбивается на процедуры/функции. Таким образом в идеале основной текст программы выклядит, например, так: (на Си)
void main()
{
InputData();
Solution();
OutputData();
}
а остальной код расположен в отдельных функция, каждая из которых решает элементарную задачу.
В непроцедурных языках программирования (ну тот же ассемблер например) код идёт сплошным потоком. Прога хоть и может быть разбита на модули, но это немного не то. Такие языки очень неудобны для создания больших программ, хотя программы, написаные на них работают быстрее.
Современные языки программирования (Си++, Java) - это следующий уровень языков (не помню точно их названия). Суть написания кода в них заключается в том, что программа разбивается не на функции, а на классы, тоесть код ещё лучше разделен на части, в нём лучше ориентироваться, поддерживается защита данных, наследование, а значит, легко писать большие программы.
Неизвестный
26.10.2006, 03:47
общий
это ответ
Здравствуйте, Вiктор!

О видах языках программирования можно говорить долго и много. Существует несколько классификаций, в зависимости от этого язык относится к той или иной группе. Вот ссылка, которая может быть Вам поможет:
http://thor.kubsu.ru/index.php/corporate/informatika/klassifikator_predmetnyh_znanij/tehnologii_razrabotki_algoritmov_i_programm/yazyki_programmirovaniya/klassifikaciya_yazykov_programmirovaniya.
Относительно, SQL, правильнее сказать, язык манинипулирования данными.

С уважением, maska!!!
Форма ответа