powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем писать программы сложно и долго, когда можно просто и легко?
25 сообщений из 324, страница 11 из 13
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719692
F#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
F#
Гость
Alibek B.По прежнему понял не все.


Ну есть ситуации когда результат зависит не только от агументов, но и от состояния чего-то внешнего.

Как сделать такую функцию чистой? Добавляем абстрактный спецтип world (состояние мира) и добавляем аргумент этого типа в функцию. И тогда она становится чистой - зависит только от своих аргументов. Тип абстрактный реально служит просто для обозначения зависимостей одних функций от других.

Например, императивно писать так:

cделатьЧай
{
чайник.налитьводу
чайник.вскипятить
}

функционально так

чай = вскипяченный(с_налитой_водой(чайник))

тут мы видем что включается чайник с уже налитой водой (функция С_налитой_водой берет пустой чайниуц и возвращает полный - то есть мы передаем состояние чайника и уже нет возможности включить пустой чайник так как есть зависимость аргумента функции кимячения от резльтат функции наливания)

Тем не менее, из этого вытекает, что ФП не подходит для квантовой механики, так?

Не - тут речь шла об IO на обычных компьютерах, а не о квантовых расчетах.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719693
inv2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какой результат даёт цикл?

Делаем цикл в K:
do[10;]

Даёт - пусто :)

Alibek B.ZyK_BotaNа зачем вам цикл то?
зачем процесс? нужен ведь результат.
вот вас когда-то просил пользователь, что-бы вы сделали цикл?
Затем, что нужен цикл, именно его организация является результатом.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719721
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F#Ну есть ситуации когда результат зависит не только от агументов, но и от состояния чего-то внешнего.
Понял.
Но разве такой костыль — это не отход от чистого ФП?
Насколько я понял, в ФП таких ситуаций быть не должно (функции должны быть полностью детерминированы).
И поэтому для чистый ФП может использоваться только в полностью закрытой и изолированной системе. И поскольку в реальном мире таких нет, то и практическое применение ФП ограничено только частными случаями.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719754
F#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
F#
Гость
Alibek B.F#Ну есть ситуации когда результат зависит не только от агументов, но и от состояния чего-то внешнего.
Понял.
Но разве такой костыль — это не отход от чистого ФП?
Насколько я понял, в ФП таких ситуаций быть не должно (функции должны быть полностью детерминированы).


Дык оно и детерминировано - аргумент: текущее состояния мира. Фактически, имеративная программа с этой точки зрения - тоже чисто функциональная, только к каждой функции приписан World и нет способа сказать, что нам не нужно глобальное синхронное состояние. В функциональных программах мы можем не требовать Worldа и тогда у нас есть гарантии что функции можно вычислять независимо
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719763
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
F#Дык оно и детерминировано - аргумент: текущее состояния мира.
Нет, смысл я понял. Но как-то искуственно такой финт выглядит.
Как введение понятия "эфир" в свое время.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719770
inv2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.
Я бы не сказал, что оно искуственно,
но, например, у меня, это вызывает небольшой дискомфорт - программа верная и описана точно, но необходимость что-то, например, слогировать посередине вычислений вызывает анальную боль.

Если нет точного понимания, что именно пишешь, haskell рефакторить значительно более трудоёмно, чем другие языки с side-эффектами.

Alibek B.F#Дык оно и детерминировано - аргумент: текущее состояния мира.
Нет, смысл я понял. Но как-то искуственно такой финт выглядит.
Как введение понятия "эфир" в свое время.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719809
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inv2004Я кажется понял, откуда в теме взялось 10 страниц,
некий Bazist влез в чужую тему, чтобы попиарить свой недоязык, хотя ничего общего с темой он не имеет.

Я попрошу модераторов вычистить это переливание из пустого в порожнее.

Условие, необходимое для рассмотрения языка RS - хотя задачи euler, решенные на нём.

Я думал тут языки сравнивают по краткости и как результат понятности.
РС весьма в теме оказался, проще и короче. Проги писал.
А так успехов в К
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719828
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inv2004 Alibek B.
Я бы не сказал, что оно искуственно,
но, например, у меня, это вызывает небольшой дискомфорт - программа верная и описана точно, но необходимость что-то, например, слогировать посередине вычислений вызывает анальную боль.

Если нет точного понимания, что именно пишешь, haskell рефакторить вставлять костыли в хаскель значительно более трудоёмно, чем другие языки с side-эффектами.

Alibek B.пропущено...

Нет, смысл я понял. Но как-то искуственно такой финт выглядит.
Как введение понятия "эфир" в свое время.

поправил.

а рефактроить как раз в разы проще и лучше. строгая типизация и контроль сайд эффектов, помогают не налажать, не допустить ошибок. и т д.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719832
inv2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaN,

Со стороны не ошибиться - да, но это с одной, с другой - это достаточно трудоёмко.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719841
inv2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bazist ,

http://rstudio.at.ua/search/?q=euler
Результаты 0-0 из 0 по запросу euler

Проходите, не задерживайтесь.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719896
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне нефиг делать еще эйлера писать.
Я тут и так первый дурак который пишет больше всего кода
как всегда. Разработчик языка не обязан писать на нем все вощможные
проги. Почитай мануал пиши если тебе это нужно
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719901
inv2004
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Bazist ,
если нет нескольких задач даже по euler'у, то что есть?
обнуление массива и различные итераторы?

Пока-пока.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719941
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
inv2004 Bazist ,
если нет нескольких задач даже по euler'у, то что есть?
обнуление массива и различные итераторы?

Пока-пока.

пля

http://euler.jakumo.org/problems/view/1.html

((i<1000 & i%3 & i%5)?i)\+

В отличии от конченных доходящих шифтовых языков нормальные скопки, выражения и логические операторы
позаимственованные из Си подобных языков
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719947
Bazist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эйлеровский детский сад с математическим уклоном,
ты эту задачу реши 12299069 , естественную
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37719950
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
Модератор: Что, без мерения никак?

Закрываю до понедельника.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37724466
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonZyK_BotaNну вот не скажи что эта отладка так уж нужна.
если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование)

т.е. нужно ввобще абстрагироваться от понятия шагов.
вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений.
Извини. Наш мир - имеет состояния. И нужно иметь возможность сделать
снимок вселенной. А ФП - это просто определённый подход к
программированию и не более. Определённый уровень абстракций.
Но когда ты работаешь с сетью, файлами эти состояния всплывают
во всей своей красе.

вот статья на тему, как программировать взаимодействие с внешним миром с помощью ФП.
з.ы. внешний мир здесь даже не обязателен, можно просто для моделирования данній подход применять:

подход назіваеться - реактивное программирование, сегодня на хабре заметил статью, решил тебе дать ссілку почитать:
http://habrahabr.ru/post/140719/

з.ы. первый мой опыт с данным подходом был неудачен. неверно разработал архитектуру, и пришлось в последний момент все на эф-шарпе переписать. Тоже применяя подход реактивного программирования, но при этом не "чисто-функционального", как это делается "функциональном реактивном программировании" в хаскеле.

был бы не против обсудить недостатки\преимущества данного подхода, по сравнению с событийно-ориентированным подходам в императивных языках(событиями сишарпа, лиснерами жавы и т.д.)
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37724481
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN, спасибо, почитаю
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37724482
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonZyK_BotaN, спасибо, почитаютам правда статья написана для хасклистов, поэтому если увидишь непонятный термин или запись - спрашивай здесь, я разъясню.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793564
Division X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная тема. Даже очень.
Судя по увиденному в первом посте, автору рекомендую языки awk и sed, наполненные подобными конструкциями чуть более, чем полностью.
Если же абстрагироваться от написанного в теле первого поста и в порядке флейма поразмышлять по указанному в заголовке темы вопросу...
Чем ваши хвалёные лиспы с хаскелями лучше ECMAScript 5 и Perl?
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793658
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Division XЧем ваши хвалёные лиспы с хаскелями лучше ECMAScript 5 и Perl?

ну, если лисп - только макросами(которые не стоит недооценивать)

то рядом с хаскелем эти динамические язычки я и рядом не стоят.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793743
Division X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN,

а можно по пунктам, чем хаскель лучше JS?
ZyK_BotaN рядом с хаскелем эти динамические язычки я и рядом не стоят.

Эт да, хаскель не рядом, а где-то глубоко внизу, в яме никому не нужных абстракций.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793754
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Division XZyK_BotaN,

а можно по пунктам, чем хаскель лучше JS?
ZyK_BotaN рядом с хаскелем эти динамические язычки я и рядом не стоят.

Эт да, хаскель не рядом, а где-то глубоко внизу, в яме никому не нужных абстракций.
ладно, не лучше.

это совсем другое, и даже сравнивать трудно.

совсем другая философия к разработке(чисто функциональная).
в хаскеле все базируется на системе типов.
ленивые вычисления тоже сильно меняют язык.
другое отношение к возможностям компилятора(проверка корректности на этапе компиляции, оптимизация кода)
другое отношение программисту о знаниях о рантайме(в плане быстродействия).
и так далее(много еще чего я не упомянул)...

т.е. столько параметров, что даже фиг сравнишь эти языки.

а вот с лиспом, да - можно сравнивать и говорить - что лучше, а что хуже.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793765
Division X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaN,

Хорошо, с лиспом. Напомню, речь о ES5 (со всеми его map, filter, reduce, some, every и т.п.), который подерживается во всех современных браузерах и nodeJS.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793771
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Division XZyK_BotaN,

Хорошо, с лиспом. Напомню, речь о ES5 (со всеми его map, filter, reduce, some, every и т.п.), который подерживается во всех современных браузерах и nodeJS.

ну я выше сказал - макросы.
...
Рейтинг: 0 / 0
Зачем писать программы сложно и долго, когда можно просто и легко?
    #37793959
F#
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
F#
Гость
Division XZyK_BotaN,

а можно по пунктам, чем хаскель лучше JS?


Статический контроль типов, модули, гарантия функциональной чистоты, там, где надо.
...
Рейтинг: 0 / 0
25 сообщений из 324, страница 11 из 13
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Зачем писать программы сложно и долго, когда можно просто и легко?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]