|
|
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.По прежнему понял не все. Ну есть ситуации когда результат зависит не только от агументов, но и от состояния чего-то внешнего. Как сделать такую функцию чистой? Добавляем абстрактный спецтип world (состояние мира) и добавляем аргумент этого типа в функцию. И тогда она становится чистой - зависит только от своих аргументов. Тип абстрактный реально служит просто для обозначения зависимостей одних функций от других. Например, императивно писать так: cделатьЧай { чайник.налитьводу чайник.вскипятить } функционально так чай = вскипяченный(с_налитой_водой(чайник)) тут мы видем что включается чайник с уже налитой водой (функция С_налитой_водой берет пустой чайниуц и возвращает полный - то есть мы передаем состояние чайника и уже нет возможности включить пустой чайник так как есть зависимость аргумента функции кимячения от резльтат функции наливания) Тем не менее, из этого вытекает, что ФП не подходит для квантовой механики, так? Не - тут речь шла об IO на обычных компьютерах, а не о квантовых расчетах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:50 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Какой результат даёт цикл? Делаем цикл в K: do[10;] Даёт - пусто :) Alibek B.ZyK_BotaNа зачем вам цикл то? зачем процесс? нужен ведь результат. вот вас когда-то просил пользователь, что-бы вы сделали цикл? Затем, что нужен цикл, именно его организация является результатом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:50 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#Ну есть ситуации когда результат зависит не только от агументов, но и от состояния чего-то внешнего. Понял. Но разве такой костыль — это не отход от чистого ФП? Насколько я понял, в ФП таких ситуаций быть не должно (функции должны быть полностью детерминированы). И поэтому для чистый ФП может использоваться только в полностью закрытой и изолированной системе. И поскольку в реальном мире таких нет, то и практическое применение ФП ограничено только частными случаями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.F#Ну есть ситуации когда результат зависит не только от агументов, но и от состояния чего-то внешнего. Понял. Но разве такой костыль — это не отход от чистого ФП? Насколько я понял, в ФП таких ситуаций быть не должно (функции должны быть полностью детерминированы). Дык оно и детерминировано - аргумент: текущее состояния мира. Фактически, имеративная программа с этой точки зрения - тоже чисто функциональная, только к каждой функции приписан World и нет способа сказать, что нам не нужно глобальное синхронное состояние. В функциональных программах мы можем не требовать Worldа и тогда у нас есть гарантии что функции можно вычислять независимо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:05 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#Дык оно и детерминировано - аргумент: текущее состояния мира. Нет, смысл я понял. Но как-то искуственно такой финт выглядит. Как введение понятия "эфир" в свое время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:08 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B. Я бы не сказал, что оно искуственно, но, например, у меня, это вызывает небольшой дискомфорт - программа верная и описана точно, но необходимость что-то, например, слогировать посередине вычислений вызывает анальную боль. Если нет точного понимания, что именно пишешь, haskell рефакторить значительно более трудоёмно, чем другие языки с side-эффектами. Alibek B.F#Дык оно и детерминировано - аргумент: текущее состояния мира. Нет, смысл я понял. Но как-то искуственно такой финт выглядит. Как введение понятия "эфир" в свое время. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:11 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004Я кажется понял, откуда в теме взялось 10 страниц, некий Bazist влез в чужую тему, чтобы попиарить свой недоязык, хотя ничего общего с темой он не имеет. Я попрошу модераторов вычистить это переливание из пустого в порожнее. Условие, необходимое для рассмотрения языка RS - хотя задачи euler, решенные на нём. Я думал тут языки сравнивают по краткости и как результат понятности. РС весьма в теме оказался, проще и короче. Проги писал. А так успехов в К ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:23 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004 Alibek B. Я бы не сказал, что оно искуственно, но, например, у меня, это вызывает небольшой дискомфорт - программа верная и описана точно, но необходимость что-то, например, слогировать посередине вычислений вызывает анальную боль. Если нет точного понимания, что именно пишешь, haskell рефакторить вставлять костыли в хаскель значительно более трудоёмно, чем другие языки с side-эффектами. Alibek B.пропущено... Нет, смысл я понял. Но как-то искуственно такой финт выглядит. Как введение понятия "эфир" в свое время. поправил. а рефактроить как раз в разы проще и лучше. строгая типизация и контроль сайд эффектов, помогают не налажать, не допустить ошибок. и т д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Со стороны не ошибиться - да, но это с одной, с другой - это достаточно трудоёмко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazist , http://rstudio.at.ua/search/?q=euler Результаты 0-0 из 0 по запросу euler Проходите, не задерживайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Мне нефиг делать еще эйлера писать. Я тут и так первый дурак который пишет больше всего кода как всегда. Разработчик языка не обязан писать на нем все вощможные проги. Почитай мануал пиши если тебе это нужно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:54 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazist , если нет нескольких задач даже по euler'у, то что есть? обнуление массива и различные итераторы? Пока-пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 12:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004 Bazist , если нет нескольких задач даже по euler'у, то что есть? обнуление массива и различные итераторы? Пока-пока. пля http://euler.jakumo.org/problems/view/1.html ((i<1000 & i%3 & i%5)?i)\+ В отличии от конченных доходящих шифтовых языков нормальные скопки, выражения и логические операторы позаимственованные из Си подобных языков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 13:15 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Эйлеровский детский сад с математическим уклоном, ты эту задачу реши 12299069 , естественную ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 13:17 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Модератор: Что, без мерения никак? Закрываю до понедельника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 13:19 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNну вот не скажи что эта отладка так уж нужна. если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование) т.е. нужно ввобще абстрагироваться от понятия шагов. вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений. Извини. Наш мир - имеет состояния. И нужно иметь возможность сделать снимок вселенной. А ФП - это просто определённый подход к программированию и не более. Определённый уровень абстракций. Но когда ты работаешь с сетью, файлами эти состояния всплывают во всей своей красе. вот статья на тему, как программировать взаимодействие с внешним миром с помощью ФП. з.ы. внешний мир здесь даже не обязателен, можно просто для моделирования данній подход применять: подход назіваеться - реактивное программирование, сегодня на хабре заметил статью, решил тебе дать ссілку почитать: http://habrahabr.ru/post/140719/ з.ы. первый мой опыт с данным подходом был неудачен. неверно разработал архитектуру, и пришлось в последний момент все на эф-шарпе переписать. Тоже применяя подход реактивного программирования, но при этом не "чисто-функционального", как это делается "функциональном реактивном программировании" в хаскеле. был бы не против обсудить недостатки\преимущества данного подхода, по сравнению с событийно-ориентированным подходам в императивных языках(событиями сишарпа, лиснерами жавы и т.д.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 01:08 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, спасибо, почитаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 01:51 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaN, спасибо, почитаютам правда статья написана для хасклистов, поэтому если увидишь непонятный термин или запись - спрашивай здесь, я разъясню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 01:57 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Интересная тема. Даже очень. Судя по увиденному в первом посте, автору рекомендую языки awk и sed, наполненные подобными конструкциями чуть более, чем полностью. Если же абстрагироваться от написанного в теле первого поста и в порядке флейма поразмышлять по указанному в заголовке темы вопросу... Чем ваши хвалёные лиспы с хаскелями лучше ECMAScript 5 и Perl? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 16:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XЧем ваши хвалёные лиспы с хаскелями лучше ECMAScript 5 и Perl? ну, если лисп - только макросами(которые не стоит недооценивать) то рядом с хаскелем эти динамические язычки я и рядом не стоят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 17:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, а можно по пунктам, чем хаскель лучше JS? ZyK_BotaN рядом с хаскелем эти динамические язычки я и рядом не стоят. Эт да, хаскель не рядом, а где-то глубоко внизу, в яме никому не нужных абстракций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 19:01 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaN, а можно по пунктам, чем хаскель лучше JS? ZyK_BotaN рядом с хаскелем эти динамические язычки я и рядом не стоят. Эт да, хаскель не рядом, а где-то глубоко внизу, в яме никому не нужных абстракций. ладно, не лучше. это совсем другое, и даже сравнивать трудно. совсем другая философия к разработке(чисто функциональная). в хаскеле все базируется на системе типов. ленивые вычисления тоже сильно меняют язык. другое отношение к возможностям компилятора(проверка корректности на этапе компиляции, оптимизация кода) другое отношение программисту о знаниях о рантайме(в плане быстродействия). и так далее(много еще чего я не упомянул)... т.е. столько параметров, что даже фиг сравнишь эти языки. а вот с лиспом, да - можно сравнивать и говорить - что лучше, а что хуже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 19:13 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Хорошо, с лиспом. Напомню, речь о ES5 (со всеми его map, filter, reduce, some, every и т.п.), который подерживается во всех современных браузерах и nodeJS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 19:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaN, Хорошо, с лиспом. Напомню, речь о ES5 (со всеми его map, filter, reduce, some, every и т.п.), который подерживается во всех современных браузерах и nodeJS. ну я выше сказал - макросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 19:23 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37719941&tid=1342261]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
289ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 615ms |

| 0 / 0 |
