[Ответить в тред] Ответить в тред

09/07/16 - Новое API для капчи - внимание разработчикам приложений
03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 8 | 1 | 7
Назад Вниз Каталог Обновить

В чём разница декларативных и императивных языков Аноним 25/06/16 Суб 15:16:00  779475  
14668569604150.jpg (85Кб, 756x552)
В чём разница декларативных и императивных языков на практике? Декларативные языки определяют "что" должно должно быть конечным результатом вычисления, и императивные "как" добиться конечного результата вычисления. Это в теории.
Но на практике в любом языке мы отвечаем вначале на "что", а потом "как".
Возьмём любой декларативный язык, хаскель, например. Как я на нём сделаю вычисление количества времени необходимого для солнечного луча, чтобы достигнуть земли? Если у хаскеля нет функции timeToEarth(), мы должны будем императивно вычислять, комибинируя несколько функций и промежуточные результаты. Так где же эта ваша декларативность?
Аноним 25/06/16 Суб 16:12:55  779525
>>779475 (OP)
>Возьмём любой декларативный язык, хаскель, например
И сразу fail. Хаскель - язык вполне императивный.

А ведь далеко за декларативностью ходить не надо - возьми Excel и вычислимые ячейки, сразу всё станет понятно.
Аноним 25/06/16 Суб 16:13:11  779526
>Возьмем любой декларативный язык
>Хаскель.

>Возьмем любой императивный язык
>HTML

Аноним 25/06/16 Суб 16:18:16  779535
>>779526
HTML - не язык программирования. Ты на нем даже 1 + 1 не посчитаешь.

>>779475 (OP)
https://en.wikipedia.org/wiki/Declarative_programming прочитал? Понял? Остались вопросы?
Аноним 25/06/16 Суб 21:17:10  779790
http://c2.com/cgi/wiki?ThereAreExactlyThreeParadigms
Аноним 28/06/16 Втр 09:34:53  781899
>>779535
> HTML - не язык программирования.
На практике это вполне себе язык программирования. Императивный. Да, не полный по Тьюрингу, но кого это ебет?
Аноним 28/06/16 Втр 10:12:15  781920
Декларативных языков программирования не может существовать в принципе. Декларативными бывают языки описаний. Лейаута (хтмл), стилей (ксс), верстки (латех) и так далее. Иногда декларативными называют функциональные и логические языки программирования, но это заблуждение, потому что и там и сям тебе приходится самому в явном виде (просто чуть по разному) описывать вычисления для получения результата.
Аноним 28/06/16 Втр 11:56:22  781958
>>781920
>Декларативных языков программирования не может существовать в принципе.
Могут. Только они не будут общего назначения.
Аноним 28/06/16 Втр 14:10:39  782131
сборище дебилов итт

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 8 | 1 | 7
Назад Вверх Каталог Обновить

Топ тредов