--}}
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем

Существуют ли в природе неалгоритмические языки программирования?

Серьёзная тема
875
28
С друзьями на NN.RU
В социальных сетях
Поделиться
T-U
16.08.2019
?
Не даёт мне покоя этот вопрос.
Erlang
T-U
16.08.2019
С непроцедурным не путаешь?
Наверное надо смотреть в сторону декларативных парадигм и возможно с некоторой натяжкой функциональных парадигм. То есть в идеале где описывается что сделать, а не как сделать, говоря простым языком.
LukA
16.08.2019
BrainFucker писал(а)
То есть в идеале где описывается что сделать,

Это на геркин похоже.
Зу
16.08.2019
Lisp
LukA
16.08.2019
Не функциональные знаю. А не алгоритмические как то не понятно, программирование и алгоритм вообще как синонимы для меня. Программирование - разработка алгоритма.
T-U
16.08.2019
Как уже писали выше, алгоритмический язык описывает процесс "как". Т.е.,:
While <cond> do
step1
step2
...

Неалгоритмичесий язык описывает результат "что". Т.е., "хочу красную зеленую хреновину что бы при клике выезжала кофеварка".
alxumuk2
16.08.2019
Декларативные и разметочные. Примеры: классический SQL и HTML.
Правда тут начинается срач является ли это языком программирования. По моему личному мнению нет (ибо по моему мнению не полные по Тьюрингу - не языки программирования), но существуют другие мнения.
Вообще, если считать, что язык программирования это то, что полно по Тьюрингу, то неалгоритмических быть не может, ибо машина Тьюринга была создана как раз для исследования алгоритмов.
T-U
16.08.2019
Браво, Алхимик! Ведь можете без срача писать разумные вещи!
ЗЫ. Когда трезвый, бггг )))
alxumuk2
16.08.2019
Я так понимаю, вы уже бухнули :)
DimN
17.08.2019
С одной стороны, это всё так, ну, про декларативность и т.п. Но может ли язык быть по-настоящему декларативным? Вот простейшая вещь в SQL -- соединение двух таблиц, JOIN. Это разве указание "что"? Это уже вполне себе "как" в том смысле, что я не могу сказать "дай мне номера документов с именами контрагентов", я должен сказать, в каких таблицах эти сущности лежат, как они между собой связаны и т.п., причем, сказать не на уровне структуры базы, а именно в запросе, то есть "сходи в таблицу Документы за номерами, в таблицу Контрагенты за ФИО и объедини результаты по полю КонтрагентИД". Да, я не обязан (хотя во многих реализациях и могу) говорить ядру, какую стратегию, LOOP или скажем HASH, выбрать для объединения, именно о таких вещах обычно говорят, когда рассказывают о декларативности SQL, но так ли это важно, не говорит ли это всего лишь о еще большей высокоуровневости языка?

В общем, ИМХО, эта терминология особой ценности не имеет, слово "алгоритмические" из обсуждаемого словосочетания можно исключить без каких-либо потерь смысла.
alxumuk2
17.08.2019
Поэтому в этом сраче я придерживаюсь критерия Тьюринг-полноты.
Классический SQL может реализовать машину Тьюринга? Нет. Значит не алгоритмический.
И да, я говорил про классический SQL, очевидно, что полно диалектов полных по Тьюрингу.

А отдельные примеры применения сомнительны. Я за всю свою карьеру ни разу не написал алгоритм сортировки, а всегда говорил коллекции "отсортируйся". Но это же не делает С или Джаву декларативными языками.
alxumuk2
17.08.2019
Хм... решил таки погуглить на всякий случай по поводу декларативности SQL.
Оказывается его немножно сделали Тьюринг-полным: stackoverflow.com/questions/900055/is-sql-or-even-tsql-turing-complete
Как обычно, не со зла, а так получилось.
Такими темпами, похоже, дизайном чисто декларативных языков придется заниматься спецам по безопасности. Уже не первый случай, когда Тьюринг полноту открывают там, где ее не ждали.
T-U
19.08.2019
Ты, главное, на собеседованиях так не говори.
alxumuk2
19.08.2019
А почему?
T-U
19.08.2019
Интервьюеры не любят, когда интервьюируемый умнее их самих.
alxumuk2
20.08.2019
Просто не надо ходить на интервью к глупым людям. Делов-то...
anton-1c
16.08.2019
пролог
язык это средство передачи информации

программа и алгоритм это одно и тоже по смыслу
T-U
15.09.2019
ошибаетесь
программа это алгоритм действий написанный на понятном для машине языке.
T-U
15.09.2019
"Язык программирования" != "программа"
это понятно что язык это не тоже самое что текст.
я имел ввиду что "алгоритмический" и "программирования" это одно и тоже.
программа и алгоритм это чотко описанная последовательность действий для решения какой то задачи. то есть "язык программирования" = "язык для описания алгоритмов" = "алгоритмический язык"
alxumuk2
15.09.2019
Это ваше определение терминов.
Однако (условно) *программа* партии КПСС ХЗ какого съезда может содержать информацию чего достигнуть в следующей пятилетке.
Но совершенно не обязательно, что план на пятилетку окажется реализуемым.

Это я так... весьма утрировано говорю опять-таки о Тьюринг-полноте...
конечно моё ))
T-U
16.09.2019
alxumuk2 писал(а)
*программа* партии КПСС ХЗ какого съезда

херасе ты старпёр! я даже и не понял сразу, о чём речь.
Зачем они нужны? В на них же полезную программу не запишешь.
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Преобразователь вторичный универсальный УВП-01 НОВЫЙ .

Преобразователь вторичный универсальный УВП-01 НОВЫЙ Цена 8000 руб Торга ННЕттт Вышлю в регионы после оплаты Не...
Цена: 8 000 руб.

Цифровой мультиметр BENNING MM 1-2

Цифровой мультиметр BENNING MM 1-2 MADE IN GERMANY Отправка в регионы после оплаты В работе не был. Цена 15000 руб. Торга...
Цена: 15 000 руб.

Разработка документов по охране труда (СУОТ)

Хотите обеспечить безопасность своих сотрудников и избежать штрафов за нарушения в области охраны труда? Мы поможем вам разработать все...

Станки бу металлобрабатывающие

Прессы Кд2128, кд2126, к2330б Лазерный центр bodor a3 Сверлильный 2м55 Токарный 1м63 2800 Ножницы Н3121 1к62 рмц 1500 Вальцы И2222...

Frontend-разработчик Profit Search
40000 -
50000 руб.
Стаж работы 3-5 лет, частичная занятость
Программист 1С НПП ПРО-М
от 110 000 руб.
Высшее образование, стаж работы 3-5 лет, полная занятость
Программист-разработчик Full-Stack ГК "Kolobox"
70000 -
100000 руб.
Высшее образование, стаж работы более 5 лет, полная занятость
Разработчик .net Profit Search
70000 -
100000 руб.
Неполное среднее образование, стаж работы 3-5 лет, полная занятость