появилось свободное время. хочу освоить какой-то декларативный язык (какой лучше - функциональный или логический?). с какого языка начать, какими продолжить? что почитать?
Я ж сказал, мультипарадигматический. Но функциональная парадигма поддерживается лучше всего. Если писать на лиспе в сишном стиле, то через полчаса захочется повесится.
>Я ж сказал, мультипарадигматический. Но функциональная парадигма поддерживается лучше всего.
Я ж сказал "не декларативный". При чем тут "функциональная парадигма"?
В любом случае, мне показалось, что с него не стоит начинать - он для этого слишком гибок. То есть если предполагаемые задачи не требуют абсолютной гибкости, лучше ограничииться более "высокоуровневыми" языками, чтобы не пришлось изобретать встроеные в них примитивы.
Иначе это будет похоже на изучение методов управления автомобилем начиная с мат. моделей взаимодействия шестеренок. Интересно, но малоэффективно.
Лично я вкладываю в это определение следующий смысл -- язык, в котором программист явно не указывает порядок выполнения програмы. Чем лисп не подходит?
>В таком случае, все языки императивные, даже хаскель и пролог
Тут ты не прав, nsav. Эти 2 точно декларативные. В хаскеле нет операторов вводы-вывода. (есть функции, (-> IO x) и методы их сборки). И в прологе скорее всего нет - там предикаты с побочными эффектами (-: я его совсем не знаю, кое - что из института запомнилось, и именно это:-).
> Тут ты не прав, nsav. Эти 2 точно декларативные. В хаскеле нет операторов вводы-вывода. (есть функции, (-> IO x) и методы их сборки). И в прологе скорее всего нет - там предикаты с побочными эффектами (-: я его совсем не знаю, кое - что из института запомнилось, и именно это:-).
Ввод-вывод есть, значит есть императивные части. Просто они оформлены отдельно.