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

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

Серьёзная тема
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 писал(а)
*программа* партии КПСС ХЗ какого съезда

херасе ты старпёр! я даже и не понял сразу, о чём речь.
Зачем они нужны? В на них же полезную программу не запишешь.
Новая тема
Вы не можете создавать новые темы.
Т.к. вы неавторизованы на сайте. Пожалуйста назовите себя или зарегистрируйтесь.
Список тем
Последние темы форумов
Конденсaтoр АЕRОVОХ 4400 мкф х 350 вольт

Конденсaтoр АЕRОVОХ 4400 мкф x350 вольт 2штуки ТOpгa HHeтт Отправка в региoны пoсле оплаты сразу-Только- Оба Ценa 1800...
Цена: 1 800 руб.

Колесотокарный станок 1ак200 для обточки колес вагонов и тепловозов

Прайс-лист на изготовление колесотокарных станков 1ак200 для обточки колесных пар вагонов и тепловозов без выкатки в 2024г 1.Мобильный...
Цена: 3 360 200 руб.

лазерная резка металла

Команда специалистов ООО БАРТОН предоставляет качественные услуги лазерной резки металла в Нижнем Новгороде на профессиональном...

Запасные части гусеничного хода буровых установок

Запасные части гусеничного хода буровых установок (станков) Sandvik, Tamrock, Atlas Copco, EPIROC, Ingersoll Rand, Caterpillar, SANY,...
Цена: 24 500 руб.

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