|
|
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
В качестве освоения языка взял задачу отсюда: /topic/926718&pg=1 В теме java, поэтому не стал там писать. Переписываем на язык, более подходящий, а именно jsoftware, на котором я учусь писать всего вторую неделю. NB. - коммент Итого, пишется прямо сходу: Код: sql На следующей я чуть запнулся, но уверен, что она тоже не займёт много времени, да ичуть лень такое стало уже писать. Хотя я удивлён каким терпением надо обладать, чтобы написать столько строк, сколько написал автор. Всё что писал - писалось сходу, потом копипастилось в консоль, для получения результата. Затрачено на всё ну может минут 5. Флейм: Зачем писать на низком уровне с циклами и кучей ненужного ООП? могу найти только одно объяснение - чтобы списать куда-то как можно больше времени, которое, как получается, потрачено впустую. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 16:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 16:44 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Яростный Меч , Ту ветку читал где-то год назад, автор показался не особо адекватным на ~третьей странице. Он, видимо, слышал про K/J, но похоже не особо освоил, и захотел изобрести что-то понятное ему, но такое же "крутое". Я ничего не изобретаю, просто пытаюсь понять, почему кому-то не лень писать долго скучно и неэффективно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 16:48 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004, авторВ качестве освоения языка взял задачу отсюда: /topic/926718&pg=1 В теме java, поэтому не стал там писать. Переписываем на язык, более подходящий, а именно jsoftware, на котором я учусь писать всего вторую неделю. NB. - коммент Итого, пишется прямо сходу: [ ns=:? 10#1500 1090 147 658 1229 1022 1232 855 5 1455 673 NB. Начинаем NB. 1. Четные и нечетные числа. ns#~2|ns 147 1229 855 5 1455 673 ns#~-.2|ns 1090 658 1022 1232 NB. 2. Наибольшее и наименьшее число. <./ns 5 >./ns 1455 коротко, но не просто -----------крайне ненаглядно мне намного проще понять j=j+1 , чем j++ здесь же наворотов еще больше в первую очередь надо думать о чтении программы, а не уменьшении количества нажатых клавиш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 16:59 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКА , Краткость тут не причём, я могу заменить #~ и | на слова, получится приблизительно так: ns where not 0 eq 3 mod ns Смысл поста от этого не изменится, синтаксис языка не имеет никакого значения. Программа останется такой же длины, если считать с словах. Японец, с таким же успехом заменит слова на иероглифы, от этого тоже смысл не изменится. Если 1000 раз написать + и - - это ведь тоже привычные символы? тут аналогично, только их больше - без словаря конечно не всё ясно сходу. но ведь и + и - не понятны тем, кто не знает что это значит :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:05 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАмне намного проще понять j=j+1 , чем j++пример, конечно, спорный, но в целом согласен - нормально читать такое можно только под грибами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Не смотрите на синтаксис, фишка тут не в нём, а в операциях и конкатенациях, которые могут работать с почти любыми типами данных, за счёт чего код сокращается значительно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:08 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004, -> brainfuck ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
? я слышал про него, но никогда не писал, напиши на нём пример и посмотрим, что получится. kDnZPinv2004, -> brainfuck ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:11 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004, brainfuck ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:15 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Если объяснить слова, то становится намного проще: ns#~-.2|ns y|x - x mod y, может применяться к целому массиву x 3|1 3 5 1 0 2 -. - not - меняет 1 на 0 и наоборот. #~ - where берет из списка значения, в соответствии с бинарным индексом. Итого: ns where not ns mod 2 Очень сложно? Кмк - точно не сложнее, чем выучить правила английского языка. Яростный МечПЕНСИОНЕРКАмне намного проще понять j=j+1 , чем j++пример, конечно, спорный, но в целом согласен - нормально читать такое можно только под грибами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:17 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Есть ещё одно опровержение, что язык только для чтения. В самом начале изучения, я запостил относительно большую программы в список рассылки по этому языку. Улучшенный результат вернулся минут через 10-15. Люди полностью разобрали алгоритм (парсер ip адреса, поиск в списке диапазонов) и полностью переписали. Т.е. как минимум поняли. Много ли можно понять из 10-20 страничного java-кода? не уверен, что много, опять же повторю, что длина слова тут роли не играет, играет роль количество. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАв первую очередь надо думать о чтении программы, а не уменьшении количества нажатых клавиш Неа! Надо думать сколько за программу заплотют. И здесь сразу виден конфликт с заголовком темы: " Зачем писать программы сложно и долго, когда можно просто и легко?". А так ли уж нужно это "просто и легко"? Вот помнится, раньше сидела себе тётенька-бухгалтерша, и считала себе на счётах с костяшками. Сейчас целый отдел каких-то непонятных девок с компьютерами сидит, и у них постоянно то копейки не бьют, то баланс не сходится. :) То же самое и с программистами. Нам платят не за конечный результат (который часто никому и нафиг не нужен), а за процесс, то есть за работу (сила*расстояние). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:46 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ShSerge, Согласен. Взаимозаменяемость кодеров, которые работают с примитивными инструментами, конечно радует начальство, но вот самих программистов не радует. Качество кода - пофигу, ведь если код не очень качественный - тогда можно, например, продать fix'ы отдельно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 17:49 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ShSergeТо же самое и с программистами. Нам платят не за конечный результат (который часто никому и нафиг не нужен), а за процесс, то есть за работу (сила*расстояние). это где так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2012, 18:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
iscrafmShSergeТо же самое и с программистами. Нам платят не за конечный результат (который часто никому и нафиг не нужен), а за процесс, то есть за работу (сила*расстояние). это где так? А можно узнать где не так? Тогда мы идём к вам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 00:49 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ПЕНСИОНЕРКАinv2004, авторВ качестве освоения языка взял задачу отсюда: /topic/926718&pg=1 В теме java, поэтому не стал там писать. Переписываем на язык, более подходящий, а именно jsoftware, на котором я учусь писать всего вторую неделю. NB. - коммент Итого, пишется прямо сходу: [ ns=:? 10#1500 1090 147 658 1229 1022 1232 855 5 1455 673 NB. Начинаем NB. 1. Четные и нечетные числа. ns#~2|ns 147 1229 855 5 1455 673 ns#~-.2|ns 1090 658 1022 1232 NB. 2. Наибольшее и наименьшее число. <./ns 5 >./ns 1455 коротко, но не просто -----------крайне ненаглядно мне намного проще понять j=j+1 , чем j++ здесь же наворотов еще больше в первую очередь надо думать о чтении программы, а не уменьшении количества нажатых клавишпоэтому нужно использовать хаскель, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 02:23 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004 Тут недавно был чел., который придумал ультра-короткий язык. Мы достаточно плотно обсудили сабж. И кажется звучел тезис что в подобного рода языках принципиально сложно/невозможно/неудобно делать пошаговую отладку. Согласитесь, неотлаживаемый язык не даёт возможности понять где у тебя баг и/или ставит разработчика в глупое положение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 02:42 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
mayton inv2004 Тут недавно был чел., который придумал ультра-короткий язык. Мы достаточно плотно обсудили сабж. И кажется звучел тезис что в подобного рода языках принципиально сложно/невозможно/неудобно делать пошаговую отладку. Согласитесь, неотлаживаемый язык не даёт возможности понять где у тебя баг и/или ставит разработчика в глупое положение. ну вот не скажи что эта отладка так уж нужна. если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование) т.е. нужно ввобще абстрагироваться от понятия шагов. вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 03:38 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNну вот не скажи что эта отладка так уж нужна. если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование) т.е. нужно ввобще абстрагироваться от понятия шагов. вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений. Извини. Наш мир - имеет состояния. И нужно иметь возможность сделать снимок вселенной. А ФП - это просто определённый подход к программированию и не более. Определённый уровень абстракций. Но когда ты работаешь с сетью, файлами эти состояния всплывают во всей своей красе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 03:42 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNну вот не скажи что эта отладка так уж нужна. если язык функциональный. то можно тестировать работу каждой ф-и по отдельности(можно задействовать и юнит тестирование) т.е. нужно ввобще абстрагироваться от понятия шагов. вот в том же ленивом хаскеле - хрен поймешь, что после чего вызовется, но в том то и суть, что это не важно. главное - результат а не последовательность вычислений. Извини. Наш мир - имеет состояния. И нужно иметь возможность сделать снимок вселенной. А ФП - это просто определённый подход к программированию и не более. Определённый уровень абстракций. Но когда ты работаешь с сетью, файлами эти состояния всплывают во всей своей красе.логи писать - не вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 03:45 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
mayton, т.е. если мы хотим "отладить" вычислимую задачу(без взаимодействия с миром), то нам достаточно декомпозировать задачу, и тестить элементы по отдельности. если же работаем с и\о, то логи спасут отца русской демократии. з.ы. пишу на работе на жаве, но там все равно юзаю в отладочных целях только логер, такие дела. да и не нужен дебагер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 03:51 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNлоги писать - не вариант? Вариант. Это вообще всегда - вариант. Это и есть дооснащение ЯП возможностями которых у него изначально не было. По сути иммитация отладки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 10:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Ничего не понял из первого поста, какая-то бессмысленная каша. Короче и понятнее Cи ничего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 11:16 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Я не скажу за отладку в J, так как изучаю его не давно, но я знаю про отладку в K - очень простая. Отладчик встроен, если программа падает, то ты попадаешь прямо в ту функцию, где упало, найти где проблема - дело минуты, если же надо именно отладить, когда нет ошибок - то тоже никаких проблем, да и логи никто не отменял. Тут не сложнее, чем в других языках. mayton inv2004 Тут недавно был чел., который придумал ультра-короткий язык. Мы достаточно плотно обсудили сабж. И кажется звучел тезис что в подобного рода языках принципиально сложно/невозможно/неудобно делать пошаговую отладку. Согласитесь, неотлаживаемый язык не даёт возможности понять где у тебя баг и/или ставит разработчика в глупое положение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 11:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
alix , Да, многие придерживаются такого мнения: "всё что я не понимаю - глупо и не нужно". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 11:23 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Диклевич Александр , Ага, спасибо, я на него обратил внимание буквально 3 дня назад. Но пока изучать не стал. Тем не менее думаю даже на R данная задача будет выглядеть чище без языкового мусора, в отличие от java и тд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:13 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNлоги писать - не вариант? Вариант. Это вообще всегда - вариант. Это и есть дооснащение ЯП возможностями которых у него изначально не было. По сути иммитация отладки. эне. ты меня не понял. то что чистое фп - там никаких логово и не нужно, я сказал как это тестировать. а те блоки где есть и\о = можно логгировать. хоть средствами языка, хоть обычным библиотечным\самопальным логером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:14 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004 alix , Да, многие придерживаются такого мнения: "всё что я не понимаю - глупо и не нужно". оно не глупо и не нужно. но не надо экономить на байтах. я уже выше сказал, что на мое ИМХО, золотая средина между читабельностью и выразительностью - хаскель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:15 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
alixНичего не понял из первого поста, какая-то бессмысленная каша. Короче и понятнее Cи ничего нет. + C (не C++) самый лучший язык, даже круче ассеблера (в смысле понимания кода, не считая оптимизации, которую лучше писать на ассемблере). Что еще надо? Если автор советуется со специалистами, что они скажут - это хорошо, поддерживаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:35 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN , Ok, ещё раз напишу, синтаксис, как и количество байт - роли не играет. Если будет желание освоить Q - то можно переписать эти задачи в этой же форме, но в нормальными именами глаголов. В haskell подобные конструкции невозможны из-за строгости типов. Ключевое - не синтаксис а семантика. например 1+2 3 4 это самый простой пример, очевидно, что делает эта конструкция, если знать, что + - это сложение, а не join. В haskell'е придётся применять map. Опять же напишу, что это самое простое - чем дальше - тем больше haskell отстаёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:43 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
авторПереписываем на язык, более подходящий, а именно jsoftware, на котором я учусь писать всего вторую неделю. Ага.... ну да, J и К - сумасшедшие и гениальные. Гениальные и сумасшедшие. Как и их создатели. http://ru.wikipedia.org/wiki/J_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F) и разумеется, изучение исходника их движка, созданного этими великими программистами - дело хорошее))))) - я до сегодня не знал, что его уже поклали под gpl http://www.jsoftware.com/source.htm Но писать на них расчет зарплаты с учетом больничных, северных надбавок, и "пересечений полярного круга экспедитором три раза в месяц" я бы не стал))))) ну и на реболе не стал бы... и даже на хаскеле поостерегся бы....)))) - но как хорошо, что находятся таки люди, интересующиеся такими диковинами! Очень хорошо это... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 12:59 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
А как сделать цикл от 1 до 10? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 14:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.А как сделать цикл от 1 до 10? на этот вопрос давно ответили, более того - подвели теоретическию базу и сделали практичные решения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 14:28 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
asws , J: "0 (1+i.100) , но мне самому тут не нравится, что "x - надо указывать ранг. Поэтому привожу на K: '1+!100 Но, в большинстве случаев такая конструкция не нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 14:33 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004Но, в большинстве случаев такая конструкция не нужна. Такая не нужна. А вот вызвать в цикле внешнюю процедуру/программу — нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 14:40 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNэне. ты меня не понял. то что чистое фп - там никаких логово и не нужно, я сказал как это тестировать. Я снимаю шляпу. Я не знаю как тестируют (отлаживают) "чистое фп" но подозреваю что примерно так-же как и любое другое п. Логи нужны хотя-бы для админа комплекса который должен как-то решать проблемы даже не зная ни ФП ни прочих технологий. Поэтому вопрос "нужности логов" считаю пока открытым. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 14:41 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004 ZyK_BotaN , Ok, ещё раз напишу, синтаксис, как и количество байт - роли не играет. Если будет желание освоить Q - то можно переписать эти задачи в этой же форме, но в нормальными именами глаголов. В haskell подобные конструкции невозможны из-за строгости типов. Ключевое - не синтаксис а семантика. например 1+2 3 4 это самый простой пример, очевидно, что делает эта конструкция, если знать, что + - это сложение, а не join. В haskell'е придётся применять map. Опять же напишу, что это самое простое - чем дальше - тем больше haskell отстаёт. зачем мап, чем плоха sum [1,2,3,4] ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 23:54 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNinv2004 ZyK_BotaN , Ok, ещё раз напишу, синтаксис, как и количество байт - роли не играет. Если будет желание освоить Q - то можно переписать эти задачи в этой же форме, но в нормальными именами глаголов. В haskell подобные конструкции невозможны из-за строгости типов. Ключевое - не синтаксис а семантика. например 1+2 3 4 это самый простой пример, очевидно, что делает эта конструкция, если знать, что + - это сложение, а не join. В haskell'е придётся применять map. Опять же напишу, что это самое простое - чем дальше - тем больше haskell отстаёт. зачем мап, чем плоха sum [1,2,3,4] ?или это не сума, а что тогда? раз ты говоришь мап, значит я ошибся, и не все так очевидно что в результате получим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 23:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
mayton"нужности логов" считаю пока открытым. лги нужны, но для покрытия тестами очень ограниченного функционала, а именно - и\о. т.е. что вернул сервер, удалось ли записать файл. и так далее. для тестирования остального функционала, коего в процентном отношении гораздо больше - логи не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2012, 23:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.А как сделать цикл от 1 до 10? а зачем вам цикл то? зачем процесс? нужен ведь результат. вот вас когда-то просил пользователь, что-бы вы сделали цикл? пользователю нужно, что бы он на входе подал то-то и то-то, а на выходе получил то-то и то-то. цикл пользователю не нужен. я гарантирую это, он может и не знает что это такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:00 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNэне. ты меня не понял. то что чистое фп - там никаких логово и не нужно, я сказал как это тестировать. Я снимаю шляпу. Я не знаю как тестируют (отлаживают) "чистое фп" но подозреваю что примерно так-же как и любое другое п. Логи нужны хотя-бы для админа комплекса который должен как-то решать проблемы даже не зная ни ФП ни прочих технологий. Поэтому вопрос "нужности логов" считаю пока открытым. ну если админ, не программист, то логи входят в функционал программной системы. и здесь я проблем не вижу, нужно что-то писать - на здоровье. зато мухи будут отделены от котлет, придется выстроить нормальную архитектуру системы, где логи можно было бы легко убрать или поправить, а код отвечающий за функционал(базовые кирпичики программы) - остается чист от мусора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
А как по мне, то "просто и легко" - это когда мне не нужно вообще ПИСАТЬ! Это же так утомительно. Писать интересно до тех пор, пока ковыряешься с чем-то неизвестным, т.е. исследуешь. А так - пытка одна. Сказал компу (или кому-то), нужно вот это вот как тут. Пошел чайку попил (или на тренировку). Вернулся - готово. Подправил недочеты. В печать! Вот это просто и легко. А все остальное - рутина и тягомотина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004Флейм: Зачем писать на низком уровне с циклами и кучей ненужного ООП? могу найти только одно объяснение - чтобы списать куда-то как можно больше времени, которое, как получается, потрачено впустую.Есть мнение, что лучшее средство описания - естественный язык (почему - потому что в результате эволюции, именно он используется сейчас.). Да, он избыточен и неточен, поэтому пока что не годится для заданий современным компьютерам и компиляторам. Но это то, к чему надо стремиться. Всякие короткие записи - тупиковая ветвь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:20 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
S.G.inv2004Флейм: Зачем писать на низком уровне с циклами и кучей ненужного ООП? могу найти только одно объяснение - чтобы списать куда-то как можно больше времени, которое, как получается, потрачено впустую.Есть мнение, что лучшее средство описания - естественный язык (почему - потому что в результате эволюции, именно он используется сейчас.). Да, он избыточен и неточен, поэтому пока что не годится для заданий современным компьютерам и компиляторам. Но это то, к чему надо стремиться. Всякие короткие записи - тупиковая ветвь.вот не скажи. есть такое понятие, как для каждой задачи - свой язык. естественный язык, не использовался в тех задачах, которые решают на ЯП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:25 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNестественный язык, не использовался в тех задачах, которые решают на ЯП. Как же не использовался? Заказчик тебе ТЗ объясняет каким языком? И ты - понимаешь! В крайнем случае после уточнений. Такой же диалог вполне может вестись с компом. Когда он достигнет достаточного уровня, чтобы заниматься формошлепством самостоятельно. Есть БД с такой-то схемой (предоставляем схему БД со связями). Нужны такие-то страницы с такими то блоками элементов управления и таким-то функционалом. Типовым по сути. Действуй. Прошло 10 сек или 10 минут. На выходе получаем рабочее приложение. Типовое! Это можно уже и сейчас. Не хватает стандартизации. Везде разные подходы. Куча разных технологий, языков, принципов. Но результат - ТИПОВЫЙ. Дальше уже можно всунуть в него свой нос, чтобы откустомить чего-нибудь. Тем менее, мы до сих пор для типовых решений не можем общаться с компом максимально лаконично. А часто и писанины находим (как свиньи грязь) в самых неожиданных местах. Т.е. задача решаема, но никто к ней особо не стремится. IDE автоматизируют работу не достаточно глобально, т.к. для этого нужно скооперироваться всем и наметить вектор движения. А пока все тянут воз в свою сторону, хотя, что радует, не в противоположные. А вот эти шифровки из первого поста, как раз одна из противоположных сторон =)) Ну а заставлять комп выписывать высокоэффективные зубодробительные алгоритмы по лаконичной фразе "Хочу пес***до!" - конечно не вариант ))) Но кое-что потенциально уже можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:38 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonА вот эти шифровки из первого поста, как раз одна из противоположных сторон =)) а для меня шифровкой является китайский и остальные сотни(или тысячи, сколько их там?) языки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:41 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNEdd.DragonА вот эти шифровки из первого поста, как раз одна из противоположных сторон =)) а для меня шифровкой является китайский и остальные сотни(или тысячи, сколько их там?) языки. Английский не считается? Вот и чудно. Вполне себе приличный язык для достаточно однозначного описания проблемы компу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:44 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Да, расстроил меня язык К. Лучше уже действительно учить ультракороткий и ультрапростой язык и на него уйдет не две недели а два часа. Курнуть мануал можно здесть http://code.google.com/p/rsinterpretator/, http://code.google.com/p/rsinterpretator/wiki/Main (чтение мануала после третьей бутылки пива приветствуется). Ну и далее по списку NB. 1. Четные и нечетные числа. ns#~2|ns 147 1229 855 5 1455 673 ns#~-.2|ns 1090 658 1022 1232 Шифтовый ацтой какйто. О чем думали разработчики шифт языка ? На РС так. arr,=i*2 четные arr,=i*2+1 нечетные, почти джава, привычные формулы. NB. 2. Наибольшее и наименьшее число. <./ns 5 >./ns 1455 Опять шифтовая каша Трушно на РС так (1,3,5,6)\< вернет один (1,5,7,9)\> вернет девять NB. 3. Числа, которые делятся на 3 или на 9. NB. если делится на 9, то и на 3, так что достаточно только те, что на 3. ns#~0=3|ns 147 855 1455 ну ацтойже. f,=i%9?i В f массиве все числа которые делятся на девять ну и на три, программка покороче NB. 4. Числа, которые делятся на 5 и на 7. - нету. ns#~((0=7&|) *. 0=5&|)ns Никуда не годится, да. Расширим свой преведущий пример f,=(i%5|i%7)?i Почти джаба, только в понятней и короче NB. 5. Элементы, расположенные методом пузырька по убыванию модулей. NB. сортировать пузырьком, имея в наличие разные сортировки как-то лень. А мне не лень, потому что несколько символов x.i<x.j?x.i||x.j NB. 6. Все трехзначные числа, в десятичной записи которых нет одинаковых цифр. ns#~((3=#) +. (*./@~:@":))"0 ns 147 658 5 673 Ну эт совсем просто I<>J<>K?(I*100+J*10+K) 8. Простые числа. Встроено, но можно и честное решение. ns#~(1&p:)"0 ns 1229 5 673 NB. честно. isprime=:<./@ (|~ 2}.i.) ns#~isprime"0 ns 1229 5 673 Формулу подзабыл, коль вспомню напишу. Гдето было решение на РС. NB. 9. Отсортированные числа в порядке возрастания и убывания. Смешно. /:~ns 5 147 658 673 855 1022 1090 1229 1232 1455 \:~ns 1455 1232 1229 1090 1022 855 673 658 147 5 Выше писал сортировку. Вообщем освоить РС можно зная джабу менее чем за час. А с нуля за часика два и можно работать. Правда РС все еще слабоват в парадигме. Да он гибко и просто решает простые задачки, читать его одно удовольствие, но не позволяет концептуально и ультрапросто и ультракоротко записывать увесистые программы. Собственно нет масштабной революции в парадигме, я бы так сказал. Но мож в будуйщем чтото и получится другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:45 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
А китайский - да, тоже "шифровка". Даже китайцы не отрицали наличия проблем интеркоммуникации, а наоборот старались их решить (но не приучением остальных к китайскому же) ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:47 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistДа, расстроил меня язык К. Лучше уже действительно учить ультракороткий и ультрапростой язык Изыди, демон! Лучше стремиться к прекрасному, чем занимать пустующие мозги всякой бесполезной мишурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:48 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonZyK_BotaNпропущено... а для меня шифровкой является китайский и остальные сотни(или тысячи, сколько их там?) языки. Английский не считается? Вот и чудно. Вполне себе приличный язык для достаточно однозначного описания проблемы компу. я кагбэ намекнул, почему ты код ТСа не понял, ровно потому, почему я не понял китайский. мы просто этих языков не знаем. а вот если знать, то совсем другое дело. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:52 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistДа, расстроил меня язык К. Лучше уже действительно учить ультракороткий и ультрапростой язык Изыди, демон! Лучше стремиться к прекрасному, чем занимать пустующие мозги всякой бесполезной мишурой. А ты чем прекрасным занят ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:54 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNEdd.Dragonпропущено... Английский не считается? Вот и чудно. Вполне себе приличный язык для достаточно однозначного описания проблемы компу. я кагбэ намекнул, почему ты код ТСа не понял, ровно потому, почему я не понял китайский. мы просто этих языков не знаем. а вот если знать, то совсем другое дело. Да не факт. Брейнфак вроде тоже знаешь, головка влево, головка вправо, прочитали, записали, а все вместе как раз бред и мысль не выразишь нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 00:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... я кагбэ намекнул, почему ты код ТСа не понял, ровно потому, почему я не понял китайский. мы просто этих языков не знаем. а вот если знать, то совсем другое дело. Да не факт. Брейнфак вроде тоже знаешь, головка влево, головка вправо, прочитали, записали, а все вместе как раз бред и мысль не выразишь нормально.вот видишь. ты про брейнфак. а ведь он создавался не для удобного решения задач, верно? я выступаю за то, что функциональные языки программирования(а в частности хасель) - являются самими удобными языками написания программ. а если их кто-то не знает, то пускай не рассказывает какие они не удобные, и что там нельзя сделать цикла )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:01 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... Да не факт. Брейнфак вроде тоже знаешь, головка влево, головка вправо, прочитали, записали, а все вместе как раз бред и мысль не выразишь нормально.вот видишь. ты про брейнфак. а ведь он создавался не для удобного решения задач, верно? я выступаю за то, что функциональные языки программирования(а в частности хасель) - являются самими удобными языками написания программ. а если их кто-то не знает, то пускай не рассказывает какие они не удобные, и что там нельзя сделать цикла )) Если Хаскель такой удобный язык, то реши мне простую задачу. Посчитай количество возможных расположений кораблей в игре морской бой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:04 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
И сторонник К пускай тоже решит ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:05 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNя кагбэ намекнул, почему ты код ТСа не понял, ровно потому, почему я не понял китайский. Ну когда эти шифровки принесут пользу индустрии я обязательно пересмотрю свою точку зрения ))) Китайским то пользуется чуть ли не каждый третий (хоть и понимает, что это не самый удобный язык). Кстати, закорючки Базиста можно назвать условно-прекрасными. Т.к. одна из целей, которой можно добиться при помощи прекрасного - сделать себе имя. В рамках sql.ru он ее достиг =)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:06 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistА ты чем прекрасным занят ? Забанят за порнографию... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... вот видишь. ты про брейнфак. а ведь он создавался не для удобного решения задач, верно? я выступаю за то, что функциональные языки программирования(а в частности хасель) - являются самими удобными языками написания программ. а если их кто-то не знает, то пускай не рассказывает какие они не удобные, и что там нельзя сделать цикла )) Если Хаскель такой удобный язык, то реши мне простую задачу. Посчитай количество возможных расположений кораблей в игре морской бой. а в языке РС уже есть встроенная функция под названием "к", которая считает кол-во кораблей морском бое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonZyK_BotaNя кагбэ намекнул, почему ты код ТСа не понял, ровно потому, почему я не понял китайский. Ну когда эти шифровки принесут пользу индустрии я обязательно пересмотрю свою точку зрения ))) Китайским то пользуется чуть ли не каждый третий (хоть и понимает, что это не самый удобный язык). Кстати, закорючки Базиста можно назвать условно-прекрасными. Т.к. одна из целей, которой можно добиться при помощи прекрасного - сделать себе имя. В рамках sql.ru он ее достиг =))хаскель уже давно приности пользу индустрии. такие дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа в языке РС уже есть встроенная функция под названием "к", которая считает кол-во кораблей морском бое А ты зря передергиваешь. Я тебе просто указал что твой любимый язык такое же низкоуровневое припудренное говно примерно как и С++ и компания. Задача естественная, комбинаторная и простая, решение нетривиальное и геморойное. Язык плоский, а задача обьемная, если хотите философский смысл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:12 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
И по большому счету, не буду лукавить, РС получился такимже гавеным императивно функциональным языком. Это по сути таже джава или если хотите хаскель, но где разработчик более основательно подошел к идее компактной незаморачивающей записи. Так что коротко да, понятно до, мощно - нет. По сути теже циклы, теже ветвления, что настолько близко к работе процессора но так далеко от выражения на языке естественных (не только мат) задач. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:17 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
inv2004Есть ещё одно опровержение, что язык только для чтения. В самом начале изучения, я запостил относительно большую программы в список рассылки по этому языку. Улучшенный результат вернулся минут через 10-15. Люди полностью разобрали алгоритм (парсер ip адреса, поиск в списке диапазонов) и полностью переписали. Т.е. как минимум поняли. Много ли можно понять из 10-20 страничного java-кода? не уверен, что много, опять же повторю, что длина слова тут роли не играет, играет роль количество. 10-20 страничного java-кода шутка года бро, открой для себя регекспы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNхаскель уже давно приности пользу индустрии. такие дела. 1. Хаскель эту пользу положил в свою копилку, а не в копилку J. Или это уже одно и тоже? 2. Вопрос-то: " Зачем писать программы сложно и долго, когда можно просто и легко? " Разве любой ФЯ в частности и ФП воообще - это способ писать просто и легко? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:48 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNа зачем вам цикл то? зачем процесс? нужен ведь результат. вот вас когда-то просил пользователь, что-бы вы сделали цикл? Затем, что нужен цикл, именно его организация является результатом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:48 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonZyK_BotaNхаскель уже давно приности пользу индустрии. такие дела. 1. Хаскель эту пользу положил в свою копилку, а не в копилку J. Или это уже одно и тоже? 2. Вопрос-то: " Зачем писать программы сложно и долго, когда можно просто и легко? " Разве любой ФЯ в частности и ФП воообще - это способ писать просто и легко? получается проще чем в ип. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:52 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNа зачем вам цикл то? зачем процесс? нужен ведь результат. вот вас когда-то просил пользователь, что-бы вы сделали цикл? Затем, что нужен цикл, именно его организация является результатом. привиди пример задачи ) не пойму зачем может понадобится цикл? повторюсь еще раз, есть входные параметры -е сть исходные. процесс не должен волновать, вернее производительность может волновать и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:54 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNа зачем вам цикл то? зачем процесс? нужен ведь результат. вот вас когда-то просил пользователь, что-бы вы сделали цикл? Затем, что нужен цикл, именно его организация является результатом. через рекурсию выражается цикл в ФП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN исходные выходные ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistAlibek B.пропущено... Затем, что нужен цикл, именно его организация является результатом. через рекурсию выражается цикл в ФПда не. вообще циклы не нужны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Затем, что нужен цикл, именно его организация является результатом. Его организация - это способ достижения, а не результат! А достигнуть результат можно сотнями способов. На примере решения контрольной по интегралам и производным. 1. Можно дать приказ машине "Замути мне решение этой контрольной!". 2. Можно дать аналогичный приказ человеку (уже не важно как он ее решит, с циклами или без). 3. Можно решить в Маткаде. 4. Можно в Мейпле. 5. Можно написать лаконичными шифровками. 6. Можно расписать через десятки/сотни циклов все с нуля. Заметь, в ряде способов никаких циклов я не увижу, хотя они есть где-то за широмой. Но я не должен в этих случаях думать/догадываться об их необходимости и организовывать их. Точно так же и в случае приведенной в топике задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... через рекурсию выражается цикл в ФПда не. вообще циклы не нужны. нужно обнулить массив поэлементно, вперед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
это вообще какое-то дурацкое требование. сделать цикл. а вот только зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... да не. вообще циклы не нужны. нужно обнулить массив поэлементно, вперед. даже не смешно. че за массив такой? что есть на входе программы, что на выходе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:57 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ладно еще, если программа системна, обнулить там какую-то память. а если прикладная, то не пойму, че за массив, и зачем его обнулять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNчто есть на входе программы, что на выходе? на входе программы не обнуленный массив, на выходе обнуленный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
в РС решение такое array.I = 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:59 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNчто есть на входе программы, что на выходе? на входе программы не обнуленный массив, на выходе обнуленный.че это за объект такой массив? где его взять, куда положить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 01:59 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
вообще, задачи по типу: заполнить массив 0-ми, присвоить переменной х, занчение х+1 - бессмысленны по определению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:01 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNполучается проще чем в ип. Верно. Я ж и говорю (в пером моем посте тут) - оба варианта это пока что " сложно и долго " в общем случае. Ибо писанина. И компактность записи никаких проблем в этом вопросе не решает. Конкретные же ПОДзадачи конечно могут смотреться приятнее и в минимум десятки раз лаконичнее на том же Хаскеле. Хотя если написать нормальный математический фреймворк под ИП, тоже станет лаконично. Букв будет больше, но степень лаконичности не длиной слов исчисляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:02 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... на входе программы не обнуленный массив, на выходе обнуленный.че это за объект такой массив? где его взять, куда положить? Почитай книжки, узнай что такое массив, да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:02 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNвообще, задачи по типу: заполнить массив 0-ми, присвоить переменной х, занчение х+1 - бессмысленны по определению. У тебя Тьюринг полный язык ЯП ? Тьюринг полный, значит на нем можно решить любую задачу. Вот и решай. Я кстате знаю как решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:03 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistПочитай книжки, узнай что такое массив, да. Ты не въехал в то, о чем он говорит. Или не в состоянии поставить четко задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:04 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Кароче, для особо одаренных. На вход программы бинарный файл, задача обнулить все байты в нем, все. Типы, циклы и прочье это ваши внутренние дела. Делайте что хотите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:06 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNвообще, задачи по типу: заполнить массив 0-ми, присвоить переменной х, занчение х+1 - бессмысленны по определению. У тебя Тьюринг полный язык ЯП ? Тьюринг полный, значит на нем можно решить любую задачу. Вот и решай. Я кстате знаю как решить.заполнить массив 0-ми под тюринг полноту не подпадает. такие дела. определи сначала входные и исходные данные, а потому можно про тюринг полноту говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNзаполнить массив 0-ми под тюринг полноту не подпадает. такие дела. Щито ? ZyK_BotaNопредели сначала входные и исходные данные, а потому можно про тюринг полноту говорить. Батан ты прикалывешся ? Пришел к тебе заказчик, сказал, мне нужна прога. На вход я подаю файл любой, прога обнуляет в нем байты и сохраняет. Вот постановка задачи с точки зрения человека который вообще не знает программирование. У тебя в зубах функциональный язык. Как это сделать на нем ? Дошло ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistБатан ты прикалывешся ? Пришел к тебе заказчик, сказал, мне нужна прога. На вход я подаю файл любой, прога обнуляет в нем байты и сохраняет. Вот постановка задачи с точки зрения человека который вообще не знает программирование. У тебя в зубах функциональный язык. Как это сделать на нем ? Дошло ? вот это уже другое дело. файл. а то массив какой-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Вообщето ответ здесь, но я чото думал что евангелисты ФП элементарную задачу должни уметь решать ... хотя .......... BazistAlibek B.пропущено... Затем, что нужен цикл, именно его организация является результатом. через рекурсию выражается цикл в ФП ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:11 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistБатан ты прикалывешся ? Пришел к тебе заказчик, сказал, мне нужна прога. На вход я подаю файл любой, прога обнуляет в нем байты и сохраняет. Вот постановка задачи с точки зрения человека который вообще не знает программирование. У тебя в зубах функциональный язык. Как это сделать на нем ? Дошло ? вот это уже другое дело. файл. а то массив какой-то. С точки зрения Лиспа массив это список. Это я тебе уже подсказываю. А любой файл это массив байт, разве нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:12 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistмассив байт, разве нет ? нет. ни в коем разе. хотя опять же, что ты подразумеваешь под словом массив. а то многие подразумевают под массивом - структуру данных с прямым доступом. а файл как раз - имеет последовательный доступ, как и односвязный список. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:18 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... вот это уже другое дело. файл. а то массив какой-то. С точки зрения Лиспа массив это список. Это я тебе уже подсказываю. А любой файл это массив байт, разве нет ?з.ы. да и какое отношение лисп имеет к фп? так, мультипарадигменный язычек. в фп все на лени строиться. а вот ленивая рекурсия очень на циклы не похожа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:19 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistКароче, для особо одаренных. На вход программы бинарный файл, задача обнулить все байты в нем, все. Типы, циклы и прочье это ваши внутренние дела. Делайте что хотите. Воот. А теперь скажи, твой ультраязык сам научился заполнять файл нулями или таки там есть циклы за ширмой? Так а что мешает в обычном языке иметь где-то в кулуарах аналогичную функцию и не думать о ее содержимом, т.е. вызывать и не знать, КАК она это делает? В чем принципиальная разница? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:20 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
да и вообще, в хаскеле - явная рекурсия считается злом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:20 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistКароче, для особо одаренных. На вход программы бинарный файл, задача обнулить все байты в нем, все. Типы, циклы и прочье это ваши внутренние дела. Делайте что хотите. Воот. А теперь скажи, твой ультраязык сам научился заполнять файл нулями или таки там есть циклы за ширмой? Так а что мешает в обычном языке иметь где-то в кулуарах аналогичную функцию и не думать о ее содержимом, т.е. вызывать и не знать, КАК она это делает? В чем принципиальная разница?ті че, не помнишь его топика? там под любую задачу - есть одна комманда. как только ті ему адшь задачу, он тебе название комманді придумает в тот же час. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
авторВ чем принципиальная разница? В смысле, что нет у процессора машинной команды "заполнить файл нулями". А если есть, то ее можно использовать одинаково хорошо и в ИП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNті че, не помнишь его топика? там под любую задачу - есть одна комманда. как только ті ему адшь задачу, он тебе название комманді придумает в тот же час. Я так сразу было подумал. Но не смог поверить в это чудо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:22 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNне пойму зачем может понадобится цикл? Бывает. Мир шире твоего представления о нем. Например нужно инициализировать несколько буферов для последующего использования их в API. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:25 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistмассив байт, разве нет ? нет. ни в коем разе. хотя опять же, что ты подразумеваешь под словом массив. а то многие подразумевают под массивом - структуру данных с прямым доступом. а файл как раз - имеет последовательный доступ, как и односвязный список. Файт имеет только последовательный доступ ? Это чтото новенькое. Вообщето память, как и файл это адрессация прежде всего, а это значит ты без проблем по смещению можешь переместиться на любую ячейку памяти, как в массиве так и в файле, чего не можешь сделать в односвязном списке. Разница между односвязным списком и массивом в том, что массив гарантирует соседство соседних элементов ( читай байт ) в памяти, список не гарантирует, он хранит только адресс следующего элемента. Следовательно в файле можно вычислить по формуле адресс N элемента, в списке нет, только пробежавшись последовательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:25 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNэто вообще какое-то дурацкое требование. сделать цикл. а вот только зачем? Ты когда-нибудь GUI программировал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:26 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNне пойму зачем может понадобится цикл? Бывает. Мир шире твоего представления о нем. Например нужно инициализировать несколько буферов для последующего использования их в API.я выше уже упомянул, разве только в системных задачах. да. фп-язык на машине фоннеймана не может быть системным языком по определению. но. есть один момент. зачем нужен цикл для инициализации буферов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... нет. ни в коем разе. хотя опять же, что ты подразумеваешь под словом массив. а то многие подразумевают под массивом - структуру данных с прямым доступом. а файл как раз - имеет последовательный доступ, как и односвязный список. Файт имеет только последовательный доступ ? Это чтото новенькое. поздравляю вас шарик, вы балбес. конечно только последовательный. по определению. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:28 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonBazistКароче, для особо одаренных. На вход программы бинарный файл, задача обнулить все байты в нем, все. Типы, циклы и прочье это ваши внутренние дела. Делайте что хотите. Воот. А теперь скажи, твой ультраязык сам научился заполнять файл нулями или таки там есть циклы за ширмой? Так а что мешает в обычном языке иметь где-то в кулуарах аналогичную функцию и не думать о ее содержимом, т.е. вызывать и не знать, КАК она это делает? В чем принципиальная разница? Чтобы понимать РС всеже нужно иметь уровень понимания чуточку больше чем плинтус не отличающий массив и односвязный список. Вы уж меня простите. Я не буду обьяснять решение, считайте это какойто особой уличной магией нескольких операторов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:28 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazist что массив гарантирует соседство соседних элементов ( читай байт ) в памяти, список не гарантирует, файл тоже не гарантирует последовательность. только узнал? пичалька. как же ты тогда свою сверхбыструю писал то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNда. фп-язык на машине фоннеймана не может быть системным языком по определению. Опять Щито ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNэто вообще какое-то дурацкое требование. сделать цикл. а вот только зачем? Ты когда-нибудь GUI программировал? да. на хаскеле. без циклов. без и ио. и что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNно. есть один момент. зачем нужен цикл для инициализации буферов? А это уже не твое дело. Задачи ставит заказчик, твое дело их реализовать. Например, API может требовать инициализированных особым образом буферов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNда. фп-язык на машине фоннеймана не может быть системным языком по определению. Опять Щито ? то, что системные и прикладные программы - это разные понятия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNно. есть один момент. зачем нужен цикл для инициализации буферов? А это уже не твое дело. Задачи ставит заказчик, твое дело их реализовать. Например, API может требовать инициализированных особым образом буферов. первый раз слышу, что-бы заказчик про какие-то циклы говорил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazist что массив гарантирует соседство соседних элементов ( читай байт ) в памяти, список не гарантирует, файл тоже не гарантирует последовательность. только узнал? пичалька. как же ты тогда свою сверхбыструю писал то? С точки зрения API гарантирует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Например, API может требовать инициализированных особым образом буферов.ну ок. на хаскеле, мы и без цикла запрограммируем этот ваш особый образ заполнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... Опять Щито ? то, что системные и прикладные программы - это разные понятия. Тебе нужно больше читать букварей, сорри. Очень очень очень очень много ляпов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistФайт имеет только последовательный доступ ? Это чтото новенькое. поздравляю вас шарик, вы балбес. конечно только последовательный. по определению.это шутка такая, да? открой для себя fseek, и аналогичные, не позорься ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... файл тоже не гарантирует последовательность. только узнал? пичалька. как же ты тогда свою сверхбыструю писал то? С точки зрения API гарантирует.с точки зрения апи, и связной список имеет функцию get(int i) (в жаве). ну и что? быстродействие от того не улучшится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
egorychZyK_BotaNпропущено... поздравляю вас шарик, вы балбес. конечно только последовательный. по определению.это шутка такая, да? открой для себя fseek, и аналогичные, не позорься открой для себя get(i) у связного списка в жаве, ну и что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
люди, вы хоть понимаете что такое прямой доступ? это доступ к n-у элементу за время o(1). а в случае с файлом и связным списком, это время - о(n). такие дела. а вы тут про позорься не позорься. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:33 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNпервый раз слышу, что-бы заказчик про какие-то циклы говорил. Тяга к ФП отключает абстрактное мышление? Заказчик — это не малый предприниматель, который заказывает у фрилансера очередной складской учет. Заказчик — это тот, кто ставит задачу. Им может быть разработчик/поставщик какого-то крупного программного продукта, допускающего расширение функций. Или системный архитектор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNне пойму зачем может понадобится цикл? Бывает. Мир шире твоего представления о нем. Например нужно инициализировать несколько буферов для последующего использования их в API. Код: plaintext 1. И где суслик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:35 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNegorychпропущено... это шутка такая, да? открой для себя fseek, и аналогичные, не позорься открой для себя get(i) у связного списка в жаве, ну и что?наличие в жаве у списка get(i) не отменяет произвольного доступа к файлу, видишь-ли, эти два понятия вообще никак не связаны между собой. Попробуй ещё раз, подумай, прежде чем ответить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNпервый раз слышу, что-бы заказчик про какие-то циклы говорил. Тяга к ФП отключает абстрактное мышление? Заказчик — это не малый предприниматель, который заказывает у фрилансера очередной складской учет. Заказчик — это тот, кто ставит задачу. Им может быть разработчик/поставщик какого-то крупного программного продукта, допускающего расширение функций. Или системный архитектор. да все у меня ок с ип. на работе на жаве программирую, ну и что? заказчик не разу не требовал "процесса", всегда требует результата. такие дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNэто вообще какое-то дурацкое требование. сделать цикл. а вот только зачем? Ты когда-нибудь GUI программировал? Не припомню в задании на ГУИ требование "Сделайте мне цикл! Но только по k, по i мне не нравится..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNegorychпропущено... это шутка такая, да? открой для себя fseek, и аналогичные, не позорься открой для себя get(i) у связного списка в жаве, ну и что? Открой для себя дефрагментацию файлов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
egorychZyK_BotaNпропущено... открой для себя get(i) у связного списка в жаве, ну и что?наличие в жаве у списка get(i) не отменяет произвольного доступа к файлу, видишь-ли, эти два понятия вообще никак не связаны между собой. Попробуй ещё раз, подумай, прежде чем ответитьнет. я те намикаю, что функция fseek, это не произвольный доступ, а последовательный. со всеми вытекающими проблемами с производительностью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:37 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ФП — это такой филосовский камень. Он может выглядит очень эффектно в каких-то определенных задачах. Но ФП в чистом виде — это абстракция, у которой нет практического применения для решения общих задач. В частных задачах ФП может быть очень удобен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:37 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... открой для себя get(i) у связного списка в жаве, ну и что? Открой для себя дефрагментацию файлов. но фрагментация, кагбэ намикает, что файл это понятие не последовательное. з.ы. дефрагментация не позволяет тебе иметь прямой доступ, она просто ускоряет последовательный(не нужно прыгать далеко) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:38 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ФП — это такой филосовский камень. Он может выглядит очень эффектно в каких-то определенных задачах. Но ФП в чистом виде — это абстракция, у которой нет практического применения для решения общих задач. В частных задачах ФП может быть очень удобен. бред. повторюсь. сначала выучи китайский хаскель, а потом говори что он не практичен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:39 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonНе припомню в задании на ГУИ требование "Сделайте мне цикл! Но только по k, по i мне не нравится..." Посмотри интерфейс программы Char Map (локализованное название "Таблица символов"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:40 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Edd.DragonНе припомню в задании на ГУИ требование "Сделайте мне цикл! Но только по k, по i мне не нравится..." Посмотри интерфейс программы Char Map (локализованное название "Таблица символов").ну и, зачем там цикл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:40 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... Открой для себя дефрагментацию файлов. но фрагментация, кагбэ намикает, что файл это понятие не последовательное. з.ы. дефрагментация не позволяет тебе иметь прямой доступ, она просто ускоряет последовательный(не нужно прыгать далеко) дефрагментация какбэ намекает, что у ОСи чуть менее чем все файлы дефрагментированы, а это означает массивы байт без разрывов. Проблемы могут возникать только с системными файлами и файлами очень большого размера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:41 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
чуваки. цикл это такая же абстрация как и остальные. и не надо говорить что циклы через рекурсию делаются, может это рекурсия через циклы или еще там чего .... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:41 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNбред. повторюсь. сначала выучи китайский хаскель, а потом говори что он не практичен. Смишной. 13 постов назад ты говорил, что для системных приложений ФП неприменим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:41 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... но фрагментация, кагбэ намикает, что файл это понятие не последовательное. з.ы. дефрагментация не позволяет тебе иметь прямой доступ, она просто ускоряет последовательный(не нужно прыгать далеко) дефрагментация какбэ намекает, что у ОСи чуть менее чем все файлы дефрагментированы, а это означает массивы байт без разрывов. Проблемы могут возникать только с системными файлами и файлами очень большого размера.я тебя еще раз повторю. прямого доступа всеравно нет. просто при дефрагментации - нет пржков при последовтельном доступе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:42 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNбред. повторюсь. сначала выучи китайский хаскель, а потом говори что он не практичен. Смишной. 13 постов назад ты говорил, что для системных приложений ФП неприменим.ну да. ты наверное только системные задачи решаешь. ну-ну. значе те хацкель не нужен. но большинство задач - прикладные, а там хаскель ого-го. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:43 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ФП — это такой филосовский камень. Он может выглядит очень эффектно в каких-то определенных задачах. Но ФП в чистом виде — это абстракция, у которой нет практического применения для решения общих задач. В частных задачах ФП может быть очень удобен. Не стоит судить о ФП по одному загулявшему студенту. Решение очень простое, но студент конечно слабоват, увы something like that ... Код: c# 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:44 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... дефрагментация какбэ намекает, что у ОСи чуть менее чем все файлы дефрагментированы, а это означает массивы байт без разрывов. Проблемы могут возникать только с системными файлами и файлами очень большого размера.я тебя еще раз повторю. прямого доступа всеравно нет. просто при дефрагментации - нет пржков при последовтельном доступе. неужели ты думаешь что fseek на конец файла в АПИ генерит последовательное прохождение по всем ячейкам файла, по все сигментам какогото файлика на 1 гигабайт. Ты вообще себе представляешь этого идиота который написал этот драйвер ? Я лично - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:46 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazist something like that ... Код: c# 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:46 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistНе стоит судить о ФП по одному загулявшему студенту. Решение очень простое, но студент конечно слабоват, увы Рекурсией не всегда можно заменить цикл. Например цикл может быть бесконечным или выполняться до выполнения (не выполнения) какого-то внешнего условия. Чтобы далеко не ходить за примером — пагинация при условии, что число строк на странице заранее определить/предсказать невозможно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:48 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazist+ something like that ... Код: c# 1. 2. 3. 4. 5. 6. 7. наверняка в чистом лиспе из мат учебника нет ничего что могло бы считать файл, я ввел апишную функцию чтобы показать как через рекурсию выразить цикл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:50 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistНе стоит судить о ФП по одному загулявшему студенту. Решение очень простое, но студент конечно слабоват, увы Рекурсией не всегда можно заменить цикл. Например цикл может быть бесконечным или выполняться до выполнения (не выполнения) какого-то внешнего условия. Чтобы далеко не ходить за примером — пагинация при условии, что число строк на странице заранее определить/предсказать невозможно. а кто мешает рекусии быть бесконечной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:52 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistНе стоит судить о ФП по одному загулявшему студенту. Решение очень простое, но студент конечно слабоват, увы Рекурсией не всегда можно заменить цикл. Например цикл может быть бесконечным или выполняться до выполнения (не выполнения) какого-то внешнего условия. Чтобы далеко не ходить за примером — пагинация при условии, что число строк на странице заранее определить/предсказать невозможно. Гугли функцию Анкермана, будешь приятно удивлен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:52 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... ты в фп нчего не шарешь. setNull - по определению не фп, такие дела. наверняка в чистом лиспе из мат учебника нет ничего что могло бы считать файл, я ввел апишную функцию чтобы показать как через рекурсию выразить цикл.какое лисп имеет отношение к фп. ты нихрена ф фп не шаришь. фп, это не рекурсия. побочные эффекты - уже противоречат фп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:53 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNAlibek B.пропущено... Рекурсией не всегда можно заменить цикл. Например цикл может быть бесконечным или выполняться до выполнения (не выполнения) какого-то внешнего условия. Чтобы далеко не ходить за примером — пагинация при условии, что число строк на странице заранее определить/предсказать невозможно. а кто мешает рекусии быть бесконечной? вестимо стек, но посколько для ФП это жизненно необходимо, то они рекурсии разварачивают в теже циклы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:53 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Edd.DragonНе припомню в задании на ГУИ требование "Сделайте мне цикл! Но только по k, по i мне не нравится..." Посмотри интерфейс программы Char Map (локализованное название "Таблица символов"). И что мне там смотреть? Да пойми ты, для всех очевидно, что так или иначе большинство клмплексных задач где-то имеют циклы. Но неужели решение задачи обязывает разбор ее алгоритма вплоть до машинных кодов? В том то и дело, что чем дальше ты от них, тем легче "писать программы". Не надо знать, что такое цикл и нужен ли он, если комп будет знать это за тебя. Равно как и не надо знать таблицу машиннызх кодов, чтобы перемножить матрицы на множестве языков. Точно так же не обязательно для решения этой задачи использовать циклы, если кто-то их уже заблаговременно поиспользовал и скрыл в черном ящике или может сгенерить автоматически. А если же говорить "Раз циклы или рекурсия за ширмой есть - значит ты их использовал и они тебе понадобились для решения задачи", то это опять таки касается ВСЕХ языков. ПОтому что за ширмой они везде имеются. И в записи a*b и в десятке строк кода (на с++ или машинного), который эту запись расшифровывает. А спор сведен к тому, что вот в этом лаконичном языке ширма плотнее , а в вашем бейсике и дураку понятно, что скрываается в функции vmul(a, b). Значит этот супер-язык истинно векторный/лаконичный/универсальный, а ваш зюшарп только прикидывается таковым ибо в нем циклы на нем же, а у меня - на ассемблерном коде где-то в заднице компилятора! Разница грандиозная, да. Вот лично я пытаюсь понять грандиозность этой разницы. Либо в обоих наборах языков лишнее прячется и значит мы его типа не используем. Либо же понимаем, что это лишнее есть в обоих наборах языков, просто по-разному прячется. И что из этого? Как были оба набора "рукописными" языками, так и остались. Садись, думай, пиши, компилируй. А в случае с языками ради исскусства сотворенными, еще и мучайся периодически, как сделать то, для чего они не предназначены. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:54 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... наверняка в чистом лиспе из мат учебника нет ничего что могло бы считать файл, я ввел апишную функцию чтобы показать как через рекурсию выразить цикл.какое лисп имеет отношение к фп. ты нихрена ф фп не шаришь. фп, это не рекурсия. побочные эффекты - уже противоречат фп. а где здесь ты увидел побочный эффект ? Разве моя функция меняет чтото кроме аргументов которые ей передали ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... а кто мешает рекусии быть бесконечной? вестимо стек, но посколько для ФП это жизненно необходимо, то они рекурсии разварачивают в теже циклы. какое отношение стек имеет к рекурсии? не путайте рекурсию, с "реализацией рекурсии в вашем любимом языке" тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistГугли функцию Анкермана, будешь приятно удивлен. Погуглил. Не удивлен. Какая связь описанного мною и условно бесконечной рекурсией? Суть проблемы не в бесконечности, а в том, что условием является внешнее событие. Еще раз. Есть набор данных, возвращаемых SQL-запросом. Нужно вывести его на печать. Если форматирование текста осуществляется за пределами программы, то чистым ФП задачу не решить. Например, внешний отчет в качестве входного параметра принимает строку данных, форматирует данные и выводит на печать, и возвращает текущую вертикальную позицию на листе. Т.е. спрогнозировать событие "начать новую страницу" можно только построчной обработкой и проверкой возвращаемого из внешнего отчета значения. Цикл и ветвление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:57 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistZyK_BotaNпропущено... какое лисп имеет отношение к фп. ты нихрена ф фп не шаришь. фп, это не рекурсия. побочные эффекты - уже противоречат фп. а где здесь ты увидел побочный эффект ? Разве моя функция меняет чтото кроме аргументов которые ей передали ? в фп. ф-я имеет всегда один и тот же результат для того же аргумента ф-я не делает побочных эффектов(не меняет даже то, что передают в качестве аргумента), да и нет такого понятия как "менять" в фп. такие дела. а оно все тюринг полное. просто затащить камень на гору - не является решаемой задачей для тюринг полного языка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistГугли функцию Анкермана, будешь приятно удивлен. Погуглил. Не удивлен. Какая связь описанного мною и условно бесконечной рекурсией? Суть проблемы не в бесконечности, а в том, что условием является внешнее событие. Еще раз. Есть набор данных, возвращаемых SQL-запросом. Нужно вывести его на печать. Если форматирование текста осуществляется за пределами программы, то чистым ФП задачу не решить. Например, внешний отчет в качестве входного параметра принимает строку данных, форматирует данные и выводит на печать, и возвращает текущую вертикальную позицию на листе. Т.е. спрогнозировать событие "начать новую страницу" можно только построчной обработкой и проверкой возвращаемого из внешнего отчета значения. Цикл и ветвление.решить. на хаскеле же решают. без циклов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 02:59 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonВ том то и дело, что чем дальше ты от них, тем легче "писать программы". Есть программы и есть программные продукты. Программы писать легче. Но в топике под термином "программы" говорят именно о программных продуктах. Везде, где есть интерактивное взаимодействие с пользователем, необходимо сохранять контроль над выполнением программы. И поэтому ФП применим только в частных случаях, а не в общих. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:00 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistГугли функцию Анкермана, будешь приятно удивлен. Погуглил. Не удивлен. Какая связь описанного мною и условно бесконечной рекурсией? Суть проблемы не в бесконечности, а в том, что условием является внешнее событие. Еще раз. Есть набор данных, возвращаемых SQL-запросом. Нужно вывести его на печать. Если форматирование текста осуществляется за пределами программы, то чистым ФП задачу не решить. Например, внешний отчет в качестве входного параметра принимает строку данных, форматирует данные и выводит на печать, и возвращает текущую вертикальную позицию на листе. Т.е. спрогнозировать событие "начать новую страницу" можно только построчной обработкой и проверкой возвращаемого из внешнего отчета значения. Цикл и ветвление. И что с того ? Для тебя удивительно, но вся операционная система это однажды запущенная функция Main которая не успела выполнится, тото и всего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:01 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNBazistпропущено... а где здесь ты увидел побочный эффект ? Разве моя функция меняет чтото кроме аргументов которые ей передали ? в фп. ф-я имеет всегда один и тот же результат для того же аргумента ф-я не делает побочных эффектов(не меняет даже то, что передают в качестве аргумента), да и нет такого понятия как "менять" в фп. такие дела. а оно все тюринг полное. просто затащить камень на гору - не является решаемой задачей для тюринг полного языка. Это сути моего решения не меняет, моя прога может вернуть копию обнуленного массива, что не противоречит условиям задачи. А вот то что задача с точки зрения ФП по твоему не решаема, то это действительно плохо. Это означает что ты теории там чото почитал, а применить ее беспомощен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:04 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Edd.DragonВ том то и дело, что чем дальше ты от них, тем легче "писать программы". Есть программы и есть программные продукты. Программы писать легче. Но в топике под термином "программы" говорят именно о программных продуктах. Везде, где есть интерактивное взаимодействие с пользователем, необходимо сохранять контроль над выполнением программы. И поэтому ФП применим только в частных случаях, а не в общих. Я не против того, что ФП не очень пригоден в целом в "реальной" жизни. Я наоборот - за. Но фраза "цикл есть решением задачи" не корректна даже по смыслу (решением есть результат, данные), а фраза "для такой задачи вам необходим цикл" ограниченна в мышлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:06 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNрешить. на хаскеле же решают. без циклов. На чистом ФП это не решается. Можно передать результат во внешний отчет, который сам все отформатирует. Можно использовать костыли, нарушающие чистоту ФП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:08 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonAlibek B.пропущено... Есть программы и есть программные продукты. Программы писать легче. Но в топике под термином "программы" говорят именно о программных продуктах. Везде, где есть интерактивное взаимодействие с пользователем, необходимо сохранять контроль над выполнением программы. И поэтому ФП применим только в частных случаях, а не в общих. Я не против того, что ФП не очень пригоден в целом в "реальной" жизни. Я наоборот - за. Но фраза "цикл есть решением задачи" не корректна даже по смыслу (решением есть результат, данные), а фраза "для такой задачи вам необходим цикл" ограниченна в мышлении. Везде ФП нормально пригоден, просто соображать нужно чуточку больше. ФП по сути мигрировал в императивную парадигму в виде шаблонов проектирования и инкапсуляции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNрешить. на хаскеле же решают. без циклов. На чистом ФП это не решается. Можно передать результат во внешний отчет, который сам все отформатирует. Можно использовать костыли, нарушающие чистоту ФП. Это решается, польску язык Тьюринг полный. Если математика говорит что решается значит решается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Edd.DragonНо фраза "цикл есть решением задачи" не корректна даже по смыслу (решением есть результат, данные), а фраза "для такой задачи вам необходим цикл" ограниченна в мышлении. Если программа является частью другой программы, то задачей вполне может быть организация правильного цикла. Например есть кольцевая база данных (RRD), в которой имеется ряд архивов (RRA), охватывающих разные интервалы с разным шагом (например суточный архив с шагом 5 секунд, недельный архив с шагом 1 минута, месячный архив с шагом 5 минут). Нужно пройтись по всем датам, которые являются элементом любого архива (т.е. от -30 суток до -7 суток с шагом 5 минут, от -7 суток до -1 суток с шагом НОД для 5 минут и 1 минуты, и т.д.). Вот в такой задаче решением и будет неравномерный цикл по датам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:16 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistЕсли математика говорит что решается значит решается. Какая еще математика? Еще раз. Невозможно вычислить, когда нужно начинать новую страницу. Эта информация становится доступной только после того, как одна строка данных была обработана внешней программой, которая и возвращает такую информацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:17 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
авторЕще раз. Невозможно вычислить, когда нужно начинать новую страницу. Наймем экстрасенса. Были бы деньги! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:20 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistЕсли математика говорит что решается значит решается. Какая еще математика? Еще раз. Невозможно вычислить, когда нужно начинать новую страницу. Эта информация становится доступной только после того, как одна строка данных была обработана внешней программой, которая и возвращает такую информацию. И что с того ? GetSomethingCalculation(aSystemVariable); { .... } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:24 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Я бы даже так сказал Program1(Program2()); Итого первая программа ждет обработанной строки от второй программы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Например есть кольцевая база данных (RRD), в которой имеется ряд архивов (RRA), охватывающих разные интервалы с разным шагом (например суточный архив с шагом 5 секунд, недельный архив с шагом 1 минута, месячный архив с шагом 5 минут). Нужно пройтись по всем датам, которые являются элементом любого архива (т.е. от -30 суток до -7 суток с шагом 5 минут, от -7 суток до -1 суток с шагом НОД для 5 минут и 1 минуты, и т.д.). Кстати, такая задача в императивном программировании решается очень легко. Самый простой способ — для всех RRA получить массивы дат, соединить в один массив и отсортировать. А вот в ФП в общем случае она не решается вообще, т.к. нельзя вычислить моменты перевода часов на летнее/зимнее время и високосные/невисокосные года. Ее можно решить только для частного случая, когда принимается какое-то приближение (високосный год считается по формуле (n\4)&&(n\400)&&(!n\100), летнее время не используется). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistProgram1(Program2()); Итого первая программа ждет обработанной строки от второй программы. Я вроде бы про это и говорил. Программа должна ждать результата обработки от внешнего источника. Причем обработка осуществляется построчно. Цикл и есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:29 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Alibek B.Например есть кольцевая база данных (RRD), в которой имеется ряд архивов (RRA), охватывающих разные интервалы с разным шагом (например суточный архив с шагом 5 секунд, недельный архив с шагом 1 минута, месячный архив с шагом 5 минут). Нужно пройтись по всем датам, которые являются элементом любого архива (т.е. от -30 суток до -7 суток с шагом 5 минут, от -7 суток до -1 суток с шагом НОД для 5 минут и 1 минуты, и т.д.). Кстати, такая задача в императивном программировании решается очень легко. Самый простой способ — для всех RRA получить массивы дат, соединить в один массив и отсортировать. А вот в ФП в общем случае она не решается вообще, т.к. нельзя вычислить моменты перевода часов на летнее/зимнее время и високосные/невисокосные года. Ее можно решить только для частного случая, когда принимается какое-то приближение (високосный год считается по формуле (n\4)&&(n\400)&&(!n\100), летнее время не используется). Что тебе мешает дату передать в качестве аргумента в функцию вычисления ? Это както противоречит ФП ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Скажем так. Чистое ФП возможно в тех случаях, когда сразу имеются все исходные данные и они не зависят от внешних факторов. Если какие-то данные, влияющие на обработку, могут быть получены только в процессе работы программы и их нельзя вычислить/предсказать, то это уже не ФП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistProgram1(Program2()); Итого первая программа ждет обработанной строки от второй программы. Я вроде бы про это и говорил. Программа должна ждать результата обработки от внешнего источника. Причем обработка осуществляется построчно. Цикл и есть. Помойму ты плохо понимаешь ФП и то что императивное программирование это по сути подмножество ФП, а это означает что на ФП впринципе может быть смоделирован любой конечный автомат без противоречий ФП, включая потоки, переключения контекстов, обратные вызовы, использование переменных окружения и тд тп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistЧто тебе мешает дату передать в качестве аргумента в функцию вычисления ? Это както противоречит ФП ? Мешает то, что функция может быть только для приближенного случая. Для общего случая функции не существует, т.к. величина корректировки (високосный или невисокосный год) является стохастической величиной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Скажем так. Чистое ФП возможно в тех случаях, когда сразу имеются все исходные данные и они не зависят от внешних факторов. Если какие-то данные, влияющие на обработку, могут быть получены только в процессе работы программы и их нельзя вычислить/предсказать, то это уже не ФП. С чего ты взял что это не ФП ? Я же тебе показал как с помощью ФП можно смоделировать цикл, тамже можно смоделировать и бесконечный цикл. А в цикле можешь вызывать функцию и в качестве параметра передать постоянно параметр который должен изменить внешняя программа. Все тоже самое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistа это означает что на ФП впринципе может быть смоделирован любой конечный автомат без противоречий ФП, включая потоки, переключения контекстов, обратные вызовы, использование переменных окружения и тд тп. Реализуешь в ФП генератор случайных чисел? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistЧто тебе мешает дату передать в качестве аргумента в функцию вычисления ? Это както противоречит ФП ? Мешает то, что функция может быть только для приближенного случая. Для общего случая функции не существует, т.к. величина корректировки (високосный или невисокосный год) является стохастической величиной. бред какойто. Все вычислимо в одной единственной функции, а если чегото не хватает то передается в качестве параметров и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Bazistа это означает что на ФП впринципе может быть смоделирован любой конечный автомат без противоречий ФП, включая потоки, переключения контекстов, обратные вызовы, использование переменных окружения и тд тп. Реализуешь в ФП генератор случайных чисел? Почему нет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:37 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistПочему нет ? Потому что это будет не ФП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:40 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistПочему нет ? Потому что это будет не ФП. Ну обьясни, почему функция Rand(systemtime) Противоречит фп ? Она чтото меняет внутри себя ? - нет Она меняет параметр ? - нет Она возвращает один результат ? - да В чем проблема то ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:43 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistВсе вычислимо в одной единственной функции, а если чегото не хватает то передается в качестве параметров и все. Ну вычисли UNIX Timestamp (число секунд с 00:00:00 UTC 01.01.1970) для диапазона дат от 01.01.2000 до 01.01.20000 с шагом 100 секунд для часового пояса MSK. Вернее покажи формулу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:43 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistНу обьясни, почему функция Rand(systemtime) Противоречит фп ? Она чтото меняет внутри себя ? - нет Она меняет параметр ? - нет Она возвращает один результат ? - да В чем проблема то ? Проблема в том, что ты не понимаешь смысла задаваемых вопросов. 1. Функция Rand (согласно условиям ФП) для определенного systemtime всегда должна возвращать один и тот же результат. То есть возвращаемое значение — это не случайное число. 2. Случайное число вообще не должно зависеть от каких-то внешних факторов, поэтому у функции Rand не должно быть аргументов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:46 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistВсе вычислимо в одной единственной функции, а если чегото не хватает то передается в качестве параметров и все. Ну вычисли UNIX Timestamp (число секунд с 00:00:00 UTC 01.01.1970) для диапазона дат от 01.01.2000 до 01.01.20000 с шагом 100 секунд для часового пояса MSK. Вернее покажи формулу. Хрень морозишь. Любой учебник по ФП с краткой главой в помощь, глянул в инфу ты даже не программер. Сорри, я спать. Разбирайся, ответы я тебе дал, осталось тебе разобраться в причинах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:47 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, про файлы прикольно, честное слово. Про рекурсию в принципе согласен, помнится сам еще давным давно делал рекурсивный алгоритм обхода лабиринта на бейсике для корвета (там хоть GOSUB теоретически был, но он работал не через сохранение стека и вложенность обеспечить можно было тока шаманствами). Но всеже есть у меня сомнения, что Хаскель стек для рекурсии не использует... Можете подтвердить свое высказывание практическим примером, реализации какой-нить задачи с бесконечной рекурсией на Хаскеле, в противопоставление бесконечному циклу? Просто интересно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:49 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.1. Функция Rand (согласно условиям ФП) для определенного systemtime всегда должна возвращать один и тот же результат. То есть возвращаемое значение — это не случайное число. Она и возвращает одит и тотже результат всегда для одного и тогоже аргумента. Потому задача получения истинно случайной последовательности на персоналках это неипаццо сложная задача, везде генераторы псевдослучайных чисел взятые обычно от даты. Alibek B.2. Случайное число вообще не должно зависеть от каких-то внешних факторов, поэтому у функции Rand не должно быть аргументов. функция Rand в любом апи, в тойже джабе, вб шарп си принимает аргумент, учи матчасть теперь точно спать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:51 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.2. Случайное число вообще не должно зависеть от каких-то внешних факторов, поэтому у функции Rand не должно быть аргументов. Неправильно выразился. Случайное число не должно зависеть от состояний и параметров программы, поэтому у функции Rand не должно быть аргументов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:51 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistфункция Rand в любом апи, в тойже джабе, вб шарп си принимает аргумент, учи матчасть Ну не обязательно... Вполне достаточно randseed, т.е. установки для генератора псевдослучайных чисел , это может быть сторонняя функция, тогда и rand может быть без аргументов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:53 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Alibek B.2. Случайное число вообще не должно зависеть от каких-то внешних факторов, поэтому у функции Rand не должно быть аргументов. Неправильно выразился. Случайное число не должно зависеть от состояний и параметров программы, поэтому у функции Rand не должно быть аргументов. а от чего оно должно зависеть, от шелеста ветра, фазы луны, напряжения на микрофоне ? учи мат часть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:53 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPBazistфункция Rand в любом апи, в тойже джабе, вб шарп си принимает аргумент, учи матчасть Ну не обязательно... Вполне достаточно randseed, т.е. установки для генератора псевдослучайных чисел , это может быть сторонняя функция, тогда и rand может быть без аргументов. по дефолту всеравно возьмется время, больше просто нечем инициировать последовательность. Инициируешь константой, будет одно и тоже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:54 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistПотому задача получения истинно случайной последовательности на персоналках это неипаццо сложная задача, везде генераторы псевдослучайных чисел взятые обычно от даты. Глупости. Это очень простая задача. Во всяком случае в императивном программировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistПотому задача получения истинно случайной последовательности на персоналках это неипаццо сложная задача, везде генераторы псевдослучайных чисел взятые обычно от даты. Глупости. Это очень простая задача. Во всяком случае в императивном программировании. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistа от чего оно должно зависеть, от шелеста ветра, фазы луны, напряжения на микрофоне ? учи мат часть от радиоактивности, от мощности электромагнитного поля, от теплового шума. Настоящий генератор случайных чисел так и делается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Неправильно выразился. Случайное число не должно зависеть от состояний и параметров программы, поэтому у функции Rand не должно быть аргументов. При установке генератора на константу - он должен выдать одну и ту же последовательность, при использовании одного и того же алгоритма генерации псевдослучайной последовательности. Т.е. если я у себя установлю последовательность на константу X и вы у себя - то повторяемость должна быть полной. * Случаи использования псевдостучайных последовательность с установкой сида от часов, движения мышки, пятен на солнце - не рассматриваю, хотя такое тоже есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPВполне достаточно randseed, т.е. установки для генератора псевдослучайных чисел , это может быть сторонняя функция, тогда и rand может быть без аргументов. Аргумент не влияет на вычисление псевдослучайного числа, он влияет только на диапазон, в котором будет конечный результат. rand(x) можно с тем же успехом заменить на rand()*x. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Bazistа от чего оно должно зависеть, от шелеста ветра, фазы луны, напряжения на микрофоне ? учи мат часть от радиоактивности, от мощности электромагнитного поля, от теплового шума. Настоящий генератор случайных чисел так и делается. нет сынок, это фантастика (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 03:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPПри установке генератора на константу - он должен выдать одну и ту же последовательность, при использовании одного и того же алгоритма генерации псевдослучайной последовательности. Я вроде бы говорил не про псевдослучайные числа, а про случайные. Если где-то выше по тексту у меня фигурировало слово "псевдослучайные", то дайте ссылку на сообщение, это опечатка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:00 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNчуваки. цикл это такая же абстрация как и остальные. и не надо говорить что циклы через рекурсию делаются, может это рекурсия через циклы или еще там чего .... Спор напоминает "использование или неиспользование" комплексных чисел в быту для хозяйственных и прочих денежных расчётов. Ну вроде-бы они и нужны и тут круто можно корни извлекать из отрицательных и всё такое, да вот только мы их не используем. Ну как-то так вот исторически сложилось. Так короче запись получается на бумаге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:01 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.kDnZPВполне достаточно randseed, т.е. установки для генератора псевдослучайных чисел , это может быть сторонняя функция, тогда и rand может быть без аргументов. Аргумент не влияет на вычисление псевдослучайного числа, он влияет только на диапазон, в котором будет конечный результат. rand(x) можно с тем же успехом заменить на rand()*x. ты знаешь, эта задача в математике такая, что как не дрочи, всеравно все зависит от аргумента. Для одного и тогоже аргумента одно и тоже число на выходе, тебе о этом уже кстате сказали. И по другому ему просто некак взятся. Ну да можно залепить электромагнитный какойто датчик, но даст ли он истинно случайную последовательность ? Конечно же нет, везде есть закономерности. Поэтому все что ты тут говоришь это большое щито. Советую чтото погуглить и почитать, чтобы не быть тут джаст ту фан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:02 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.kDnZPПри установке генератора на константу - он должен выдать одну и ту же последовательность, при использовании одного и того же алгоритма генерации псевдослучайной последовательности. Я вроде бы говорил не про псевдослучайные числа, а про случайные. Если где-то выше по тексту у меня фигурировало слово "псевдослучайные", то дайте ссылку на сообщение, это опечатка. Перечитал. Если речь идет о случайных - тогда все верно. Возразить нечего. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:04 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNрешить. на хаскеле же решают. без циклов. На чистом ФП это не решается. Можно передать результат во внешний отчет, который сам все отформатирует. Можно использовать костыли, нарушающие чистоту ФП. а можно не использовать костыли, а юзать хаскель ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:05 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPAlibek B.пропущено... Я вроде бы говорил не про псевдослучайные числа, а про случайные. Если где-то выше по тексту у меня фигурировало слово "псевдослучайные", то дайте ссылку на сообщение, это опечатка. Перечитал. Если речь идет о случайных - тогда все верно. Возразить нечего. не тупи, в компах есть только псевдослучайные числа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:05 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistнет сынок, это фантастика (с) Добро пожаловать в будущее. Случайные числа из звуковой карты Источники энтропии ("Тепловой шум (или шум Джонсона), источник радиоактивного распада, генератор свободных колебаний могут быть источниками энтропии.") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:05 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistAlibek B.пропущено... На чистом ФП это не решается. Можно передать результат во внешний отчет, который сам все отформатирует. Можно использовать костыли, нарушающие чистоту ФП. Это решается, польску язык Тьюринг полный. Если математика говорит что решается значит решается. камень на гору можно затащить? не? ну дак значит не тюринг полный ) не путайте "вычислимую задачу"(кторую тюринг полны язык решает), с физической задачей - обнулить память. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:06 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistне тупи, в компах есть только псевдослучайные числа. компы разные бывают ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:06 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistProgram1(Program2()); Итого первая программа ждет обработанной строки от второй программы. Я вроде бы про это и говорил. Программа должна ждать результата обработки от внешнего источника. Причем обработка осуществляется построчно. Цикл и есть.нет, есть входящий поток - и результующий. никаких проблем здесь в фп нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Bazistнет сынок, это фантастика (с) Добро пожаловать в будущее. Случайные числа из звуковой карты Источники энтропии ("Тепловой шум (или шум Джонсона), источник радиоактивного распада, генератор свободных колебаний могут быть источниками энтропии.") я тебе в самом начале сказал что это сложнейшая задача. Но возвращаясь к нашему спору, почему на вход ФП функции нельзя передать параметр супер пупер радиоактивного распада энтропии. И почему ? И что изменится в этом плане в императивной парадигме ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:07 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistAlibek B.пропущено... Я вроде бы про это и говорил. Программа должна ждать результата обработки от внешнего источника. Причем обработка осуществляется построчно. Цикл и есть. Помойму ты плохо понимаешь ФП и то что императивное программирование это по сути подмножество ФП, а это означает что на ФП впринципе может быть смоделирован любой конечный автомат без противоречий ФП, включая потоки, переключения контекстов, обратные вызовы, использование переменных окружения и тд тп.воистину. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:08 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistЧто тебе мешает дату передать в качестве аргумента в функцию вычисления ? Это както противоречит ФП ? Мешает то, что функция может быть только для приближенного случая. Для общего случая функции не существует, т.к. величина корректировки (високосный или невисокосный год) является стохастической величиной.бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:08 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPBazistне тупи, в компах есть только псевдослучайные числа. компы разные бывают ;) Вот, например , что должно быть весьма близка функциональщикам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Если какие-то данные, влияющие на обработку, могут быть получены только в процессе работы программы и их нельзя вычислить/предсказать, то это уже не ФП. эти данные - являются аргументами функций. сюрприз? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistНу да можно залепить электромагнитный какойто датчик, но даст ли он истинно случайную последовательность ? Конечно же нет, везде есть закономерности. Даст. Слышал про принцип неопределенности? Если вкратце, его суть в том, что полностью детерминированная вселенная невозможна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Bazistне тупи, в компах есть только псевдослучайные числа. http://en.wikipedia.org/wiki/Lavarand ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPkDnZPпропущено... компы разные бывают ;) Вот, например , что должно быть весьма близка функциональщикам. ну бывают, но причем тут ФП. Если это какойто волшебный датчик то это невычислимая задача не для императивных языках не на функциональных. Потому это и внешний источник данных, а не внутренний вычисляемый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:11 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNнет, есть входящий поток - и результующий. никаких проблем здесь в фп нет. Дело в том, что потока (результирующего) нет. Он разрывается внешней программой в непредсказуемых (из основной программы) местах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:12 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Bazistне тупи, в компах есть только псевдослучайные числа. http://en.wikipedia.org/wiki/Lavarand ФП то причем ? Или ты этот датчик можешь заменить программойй на С++ не в стиле ФП ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:12 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistНо возвращаясь к нашему спору, почему на вход ФП функции нельзя передать параметр супер пупер радиоактивного распада энтропии. И почему ? И что изменится в этом плане в императивной парадигме ? Потому что в ФП функция не может возвращать разный результат для одного набора входных данных. А в императивном программировании такого ограничения нет, считывай состояние датчика и отдавай в return. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:13 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.BazistНо возвращаясь к нашему спору, почему на вход ФП функции нельзя передать параметр супер пупер радиоактивного распада энтропии. И почему ? И что изменится в этом плане в императивной парадигме ? Потому что в ФП функция не может возвращать разный результат для одного набора входных данных. А в императивном программировании такого ограничения нет, считывай состояние датчика и отдавай в return. ладно, с меня хватит глупостей на сегодня пока ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:14 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPZyK_BotaN, про файлы прикольно, честное слово. Про рекурсию в принципе согласен, помнится сам еще давным давно делал рекурсивный алгоритм обхода лабиринта на бейсике для корвета (там хоть GOSUB теоретически был, но он работал не через сохранение стека и вложенность обеспечить можно было тока шаманствами). Но всеже есть у меня сомнения, что Хаскель стек для рекурсии не использует... Можете подтвердить свое высказывание практическим примером, реализации какой-нить задачи с бесконечной рекурсией на Хаскеле, в противопоставление бесконечному циклу? Просто интересно...ну начнем с того, что хаскель ленивый, а потому там не все так просто. поэтому начну не с хаскеля, а с энергичных фп языков. представим ф-ю f, которая возвращает значение возвращаемое ф-й g f(x) { return g(x); } здесь мы видим, что при вызове ф-и g, сохранять адрес возврата - не обязательно, ведь можно оставить адрес где вызвали f и вернуться туда. теперь про локальные переменные, для аргумента ф-и g, можно не выделять память под параметр, ведь можно использовать память под параметр ф-и f. т.е. візов ф-и g, компилируеться не в call инструкцию,а в jmp. теперь заменим g на f. f(x) { return f(x) } в маш коде будет обічній цикл. в хаскеле все хитрей. там не принято юзать хвостовую рекурсию. там юзаются списки. при єтом сборщик мусора подбирает пройденіе єлементі, а потому используемая память - константна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:16 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistФП то причем ? Или ты этот датчик можешь заменить программойй на С++ не в стиле ФП ? Я могу написать функцию GetRand, которая будет считывать датчик и возвращать значение. Я даже могу в этой функции обращаться не самому датчику, а к API, которое вернет обработанный результат. В ФП использование такого API будет нарушением парадигмы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:16 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPkDnZPпропущено... компы разные бывают ;) Вот, например , что должно быть весьма близка функциональщикам. кстати да. показал преподу "системщику" лабу на хаскеле, дак он мне сказал - єто гкс какое-то )) типа берем результат ф-и, и подаем его в качестве аргумента. сейчас найду тот код вот: Код: sql 1. обратите внимание на "ss", данная последовательность передается параметром в функцию, которая ее вычисляет )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, вы мне сделайте пример, а я его уже буду разбирать самостоятельно. Теории не надобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNAlibek B.Для общего случая функции не существует, т.к. величина корректировки (високосный или невисокосный год) является стохастической величиной.бред. В таком случае повторю предложение написать функцию, которая вычислит эти величины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistkDnZPпропущено... Вот, например , что должно быть весьма близка функциональщикам. ну бывают, но причем тут ФП. Если это какойто волшебный датчик то это невычислимая задача не для императивных языках не на функциональных. Потому это и внешний источник данных, а не внутренний вычисляемый.автор сикп говорит, что фпшники были вдохновлены именно такими машинами. дак что да, фп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:22 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNнет, есть входящий поток - и результующий. никаких проблем здесь в фп нет. Дело в том, что потока (результирующего) нет. Он разрывается внешней программой в непредсказуемых (из основной программы) местах.что значит разрывается? у тебя есть недопонимания. напиши сначала пару прог на хацкеле(с гуями, и т д). тогда все поймешь. желательно юзать ни ио, а реактивное программирование. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:23 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNпропущено... бред. В таком случае повторю предложение написать функцию, которая вычислит эти величины. опиши задачу. напишу ф-ю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:23 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPZyK_BotaN, вы мне сделайте пример, а я его уже буду разбирать самостоятельно. Теории не надобно.дак я уже сделал. f(x) { return f(x); } зачем здесь стек? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:24 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, традиционно обучение САУ сопровождается примерами регулировки сливного бачка унитаза :). Ну для электроников естественны и понятны понятия обратной связи, так что - ничего не ново. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:24 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNопиши задачу. напишу ф-ю. Я уже писал. Alibek B.Ну вычисли UNIX Timestamp (число секунд с 00:00:00 UTC 01.01.1970) для диапазона дат от 01.01.2000 до 01.01.20000 с шагом 100 секунд для часового пояса MSK. Вернее покажи формулу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:25 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPZyK_BotaN, традиционно обучение САУ сопровождается примерами регулировки сливного бачка унитаза :). Ну для электроников естественны и понятны понятия обратной связи, так что - ничего не ново. ты электроник? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:26 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNkDnZPZyK_BotaN, вы мне сделайте пример, а я его уже буду разбирать самостоятельно. Теории не надобно.дак я уже сделал. f(x) { return f(x); } зачем здесь стек? Т.е. если я щаз раздобуду Хаскель, то данная программа выполнится без ошибок? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNты электроник? Ну по образованиям да))), а на программера как-то не пришлось выучиться))), хоть и работаю несколько лет. (Это я, конечно, не беру в расчет самообразование, что есть непрерывный процесс). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPZyK_BotaNпропущено... дак я уже сделал. f(x) { return f(x); } зачем здесь стек? Т.е. если я щаз раздобуду Хаскель, то данная программа выполнится без ошибок?с ошибками. я на псевдокоде писал. выше я писал что хаскель(во первых ленивый, потому там не принято хвостовую рекурсию юзать, но можно заюзав энергичные вычислений) в хаскел любой вызво ф-ию - джамп, дак что там да. вот те прога на хаскеле f x = f x можешь запустить в репле. память жраться не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:32 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZP, а ті че, с фп не знакм что-ли? странно, я думал ті фпшник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNkDnZPпропущено... Т.е. если я щаз раздобуду Хаскель, то данная программа выполнится без ошибок?с ошибками. я на псевдокоде писал. выше я писал что хаскель(во первых ленивый, потому там не принято хвостовую рекурсию юзать, но можно заюзав энергичные вычислений) в хаскел любой вызво ф-ию - джамп, дак что там да. вот те прога на хаскеле f x = f x можешь запустить в репле. память жраться не будет.вот уже 4 минуті работает, ни на один килобайт расход памяти не увеличился. можно для надежности передать список из миллиона єлементов. сейчас сделаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNопиши задачу. напишу ф-ю. Как я и предполагал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:37 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNkDnZPпропущено... Т.е. если я щаз раздобуду Хаскель, то данная программа выполнится без ошибок?с ошибками. я на псевдокоде писал. выше я писал что хаскель(во первых ленивый, потому там не принято хвостовую рекурсию юзать, но можно заюзав энергичные вычислений) в хаскел любой вызво ф-ию - джамп, дак что там да. вот те прога на хаскеле f x = f x можешь запустить в репле. память жраться не будет.если хочется именно скомпилить в приложение, то на такой код: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 04:46 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNвот уже 4 минуті работает, ни на один килобайт расход памяти не увеличился. можно для надежности передать список из миллиона єлементов. сейчас сделаю. за 20 мин, объем занимаемой памяти не увеличился ни на килобайт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 05:06 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Категоричным сторонникам чистого ФП предлашаю решить следующую задачу. Вывести (или вычислить) значения UNIX Timestamp (число секунд с 00:00:00 UTC 01.01.1970) для диапазона дат от 01.01.2000 до 01.01.9999 с шагом 100 секунд для часового пояса MSK. Поясняю: интервалы в 100 секунд начиная с 01.01.2000 определяются по MSK (московское время), но сам timestamp базируется на UTC, т.е. нужно учитывать коррекцию часового пояса. Также нужно учитывать следующее: 1. Год, кратный 4 — високосный. 2. Год, кратный 100 — невисокосный. 3. Год, кратный 400 — високосный. 4. В 3328 году в феврале будет дополнительный день, 30 февраля. 5. 30 июня или 31 декабря производится коррекция, на +1 или -1 секунду. 6. В 2012 году будет коррекция на +1 секунду. 7. Список коррекций публикуется здесь . 8. С 1970 года московское время соответствует GMT+0300, также используется летнее время (GMT+0400). 9. В 1991 году декретное и летнее время были отменены. 10. В 1992 году декретное и летнее время были восстановлены. 11. В 2012 году было отменено декретное время. 12. В марте 2012 года было отменено летнее время. 13. В настоящее время используется часовой пояс UTC+0400. 14. Возможно повторное внедрение перехода на летнее время, поэтому необходимо использовать системную базу данных timezone. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 05:19 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNkDnZP, а ті че, с фп не знакм что-ли? странно, я думал ті фпшник. Нет, с ФП знаком только весьма поверхностно и теоретически. Не было практической необходимости в изучении. К сожалению у меня не хватает времени на изучения чего-то нового just for fun, так что боюсь, что если мода на ФП пройдет, то я с этой парадигмой так и не познакомлюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 10:25 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Категоричным сторонникам чистого ФП предлашаю решить следующую задачу. Вывести (или вычислить) значения UNIX Timestamp (число секунд с 00:00:00 UTC 01.01.1970) для диапазона дат от 01.01.2000 до 01.01.9999 с шагом 100 секунд для часового пояса MSK. Поясняю: интервалы в 100 секунд начиная с 01.01.2000 определяются по MSK (московское время), Тут мне не очень понятно как интервал может по какому-то поясу вычисляться. Если это следущийМомент-текущийМомент в MST то, как оно должно вычисляться при переводе часов на летнее/зимнее время? Вообще, не фижу ничего принципиально нефункционального в задаче. Можно в монаде IO прочитать список коррекций а дальнейшие вычисления делать без IO. Еще есть остроумный способ для IO в чистом ФЯ языке clean : что такое чистая функция? Это функция, у которой результат полностью завиит от аргументов. Допустим, у нас есть наш любимый тепловошумный генератор случайных чисел, который все время выдает разное значение - так введем спецтип World, обозначающий состояние вселенной. И такие функции у нас зависят от состояния всего мира таким образом являются чистыми - результат зависит только от аргументов. У вас, кстати, есть уже готовая программа на императивном языке - чтоб посмотреть там всякие подробности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 10:53 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#Тут мне не очень понятно как интервал может по какому-то поясу вычисляться. Если это следущийМомент-текущийМомент в MST то, как оно должно вычисляться при переводе часов на летнее/зимнее время? При переходе на другой часовой пояс вместо 100 секунд интервал должен быть равен 3500 секунд или -3500 секунд. Про спецтип World я не понял. Имеется ввиду, что у этого типа будут аргументы, описывающие состояние вселенной, на основании которого можно рассчитать значение датчика? Так это невозможно, т.к. вселенная не является полностью детерминированной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
BazistAlibek B.Случайное число не должно зависеть от состояний и параметров программы а от чего оно должно зависеть, от шелеста ветра, фазы луны, напряжения на микрофоне ? Не самые лучшие источники случайного, но да, направление правильное :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
да зачем ты ио упомянул, оно здесь не нужно, все необходимые данные - можно принимать в качестве аргумента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:11 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#У вас, кстати, есть уже готовая программа на императивном языке - чтоб посмотреть там всякие подробности? Нет, именно такого готового нету. Но такого рода задачи в императивном языке не требуют каких-то особых умений. Достаточно пройтись по моему списку из 14 пунктов и задать соответствующие проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:14 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.F#У вас, кстати, есть уже готовая программа на императивном языке - чтоб посмотреть там всякие подробности? Нет, именно такого готового нету. Но такого рода задачи в императивном языке не требуют каких-то особых умений. Достаточно пройтись по моему списку из 14 пунктов и задать соответствующие проверки.я тебе открою секрет, фп все так же, просто без циклов, побочных эффектов и деструктивного присваивания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:20 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNя тебе открою секрет, фп все так же, просто без циклов, побочных эффектов и деструктивного присваивания. Вместо секрета меня вполне устроит функция на ФП для решения этой задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:22 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.Про спецтип World я не понял. Имеется ввиду, что у этого типа будут аргументы, описывающие состояние вселенной, на основании которого можно рассчитать значение датчика? Так это невозможно, т.к. вселенная не является полностью детерминированной. Нет. Это тип, значение которого обозначает текущее состояние вселенной. То, что она не являетсся детермирированной не значит, что в данный текущий момент нет ровно одного показания датчика. Грубо говоря, программа выглядит так (C# - образный псевдокод) Код: c# 1. 2. 3. 4. 5. 6. World - это абстрактный тип, на который наложены некоторые дополнительные ограничения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN Зачем я + вставил посередине, а не перед sum[1;2;3;4] было бы на J: +/1 2 3 4 хотя даже в этом примере хаскельцы поняли, что лениво писать foldr 0 постоянно, поэтому заалиасили sum, тем самым создав бесполезную функций. В J это просто + и / (foldr) - написать очень просто - никакую сум алиасить не надо. Но всё же вернёмся к 1+2 3 4, тут в haskell должен быть _бесполезный_ map, хотя тут просто сложение скаляра и вектора, но в haskell такого нет, поэтому пишем map. Regards, ZyK_BotaNZyK_BotaNпропущено... зачем мап, чем плоха sum [1,2,3,4] ?или это не сума, а что тогда? раз ты говоришь мап, значит я ошибся, и не все так очевидно что в результате получим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:28 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#Нет. Это тип, значение которого обозначает текущее состояние вселенной. То, что она не являетсся детермирированной не значит, что в данный текущий момент нет ровно одного показания датчика. По прежнему понял не все. Тем не менее, из этого вытекает, что ФП не подходит для квантовой механики, так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
S.G., K, с алиасами от Q и есть _почти_ естественный язык, смотри примеры: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNда зачем ты ио упомянул, оно здесь не нужно, все необходимые данные - можно принимать в качестве аргумента. А как качнуть с сайта без ИО? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Поддерживаю, читать Bazist никакого прока, язык, который решает только примитивные задачи, но у которого даже нет концепции - толку никакого, так как нет уверенности, что на большой задаче не вылезет концептуальная проблема в каком-то месте. Bazist , Порешай хотя бы большинство euler задач, потом есть смысл смотреть на rs, иначе - проходите мимо, пожалуйста. Edd.DragonBazistДа, расстроил меня язык К. Лучше уже действительно учить ультракороткий и ультрапростой язык Изыди, демон! Лучше стремиться к прекрасному, чем занимать пустующие мозги всякой бесполезной мишурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:39 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNя тебе открою секрет, фп все так же, просто без циклов, побочных эффектов и деструктивного присваивания. Вместо секрета меня вполне устроит функция на ФП для решения этой задачи.а меня на ип. геморность задачи не зависит от парадигмы. упрости модель(зачем нам настоящие (секунды, минуты, часы, дини, месяца, года). оставь только суть. то что "нельзя" на фп. и я напишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:42 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Я кажется понял, откуда в теме взялось 10 страниц, некий Bazist влез в чужую тему, чтобы попиарить свой недоязык, хотя ничего общего с темой он не имеет. Я попрошу модераторов вычистить это переливание из пустого в порожнее. Условие, необходимое для рассмотрения языка RS - хотя задачи euler, решенные на нём. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:43 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNоставь только суть. то что "нельзя" на фп. и я напишу. Зачем? Я уже все понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:43 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#ZyK_BotaNда зачем ты ио упомянул, оно здесь не нужно, все необходимые данные - можно принимать в качестве аргумента. А как качнуть с сайта без ИО?к пересчету времени ИО отношения не имеет. тут обычная ф-я. передаем ф-и (скачанное с помощью ио время и местоположение), а ф-я должна быть чиста и ничего не качать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:44 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Alibek B.ZyK_BotaNоставь только суть. то что "нельзя" на фп. и я напишу. Зачем? Я уже все понял.мда уж. на императивном языки я тоже ничего не написал, дак че, на императивном языке задача не решается ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2012, 11:45 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#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 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaN, а можно по пунктам, чем хаскель лучше JS? Статический контроль типов, модули, гарантия функциональной чистоты, там, где надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 22:22 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
F#Статический контроль типов Pascal is back? F#гарантия функциональной чистоты, там, где надо. Зачем это всё? Это же внутренние заморочки, язык ради языка, а не язык ради результата. ZyK_BotaNну я выше сказал - макросы. Макросы - это костыли, предназначенные только для увеличения читабельности (именно поэтому MASM так хорошо разошелся). В Си использовать макросы уже, вообще говоря, нет необходимости, а в JS - тем более, когда любой переменной можно хоть функцию присвоить. Есть препроцессоры и для JS (с макросами, отладочными выражениями и т.п.), но в большинстве случаев это аццкое излишество. F#модули Здесь согласен, JS (ES5) в теории сливает. Но лишь в теории. На практике почти все JS-рантаймы позволяют подгружать модули. Особенно выразительно это сделано в том же NodeJS. В общем... это всё? Как-то сильно академично и до киллер-фич JS... Сбалансированный набор расширяемых типов данных Наличие ништячных событийно-ориентированных фреймворков (к примеру, на клиенте - jQuery, на сервере - NodeJS) Богатая стандартная библиотека Интеграция со стандартами передачи данных Ну и, наконец, рантайм на 95% подключенных к интернету клиентских компьютеров и портативных устройств ...ну явно не дотягивает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 00:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XF#Статический контроль типов Pascal is back? паскаль и рядом не стоял, я же выше говорил - "в хаскеле все базируется на системе типов." вот например, как на базе паскаля - реализовать статический контракт? а на хаскеле можно: http://www.rsdn.ru/forum/decl/4522924.aspx Division XF#гарантия функциональной чистоты, там, где надо. Зачем это всё? Это же внутренние заморочки, язык ради языка, а не язык ради результата. нет, это очень важный момент Division XZyK_BotaNну я выше сказал - макросы. Макросы - это костыли, предназначенные только для увеличения читабельности (именно поэтому MASM так хорошо разошелся). В Си использовать макросы уже, вообще говоря, нет необходимости, а в JS - тем более, когда любой переменной можно хоть функцию присвоить. Есть препроцессоры и для JS (с макросами, отладочными выражениями и т.п.), но в большинстве случаев это аццкое излишество. маркросы лиспа, и рядом с сишными не стояли. почитай PCL, елси хочешь понять о чем я ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 01:13 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNнет, это очень важный момент Важный, опять же, для процесса, а не для результата. Как, кстати, в задрот-лэнгах с событийно-ориентированностью дела обстоят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 02:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNнет, это очень важный момент Важный, опять же, для процесса, а не для результата. Как, кстати, в задрот-лэнгах с событийно-ориентированностью дела обстоят? на прошлой странице про это рассказывал: 12317895 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 02:31 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNнет, это очень важный момент Важный, опять же, для процесса, а не для результата. результата еще нужно добиться. и раз уже начали сравнивать языки, то процесс - важен. а то что, только быстродействие останется в качестве критерия? по чем еще "результат" можно оценивать? ну дак хаскель получше будет оптимизироваться, чем эти ваши динамичиские язычки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 02:33 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNнет, это очень важный момент Важный, опять же, для процесса, а не для результата. Как, кстати, в задрот-лэнгах с событийно-ориентированностью дела обстоят? Ну получше чем в быдлоскриптах :). Оттуда даже постепенно в JS пытаются перетащить некоторые концепции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 09:38 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNна прошлой странице про это рассказывал: 12317895 Ясно, событийно-ориентированности без потусторонних библиотек там нету. В то время как в JS это - основа большинства, если не всех, рантаймов. ZyK_BotaNи раз уже начали сравнивать языки, то процесс - важен. а то что, только быстродействие останется в качестве критерия? по чем еще "результат" можно оценивать? Например, по количеству затраченных на получение этого результата телодвижений. Объему и компактности кода при сохранении читабельности, то бишь. Вот например, недавно в в этом же разделе решали задачу. На входе - вектор объектов любой длины. На выходе надо сформировать новый вектор, состоящий только из тех элементов, которые в исходном повторяются 2 или более раз. Вот этот вариант для 10 миллионов числовых значений от 0 до 1000 отрабатывает примерно за полсекунды: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Интересно было бы посмотреть на реализацию и бенчмарки на хаскелиспах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 12:26 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division X, ты допускаешь типичную ошибку. То бишь пытаешся воевать на своём поле и устраивать бенчмарки для поисков и прочих стебельков. Языки ФП в этом вообще не сильны. Да и никто не декларировал их силу и скорость в типично императивных вещах. Их сила в других задачах. Примерный список выглядит так. http://ru.wikibooks.org/wiki/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D1%8B_%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F/%D0%92%D0%B2%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D1%8F#.D0.A0.D0.B5.D1.88.D0.B0.D0.B5.D0.BC.D1.8B.D0.B5_.D0.B7.D0.B0.D0.B4.D0.B0.D1.87.D0.B8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 12:44 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
mayton, викибуки1. Получение остаточной процедуры. 2. Построение математического описания функций.. 3. Определение формальной семантики языка программирования. 4. Описание динамических структур данных. 5. Автоматическое построение «значительной» части программы по описанию структур данных, которые обрабатываются создаваемой программой. 6. Доказательство наличия некоторого свойства программы. 7. Эквивалентная трансформация программ. Все эти задачи достаточно легко решаются средствами функционального программирования, но практически неразрешимы в императивных языках. Да. Интересный список. Особенно если учесть, что: викибуки4. Описание динамических структур данных. - ES5 весь построен на динамических структурах; викибуки3. Определение формальной семантики языка программирования. 5. Автоматическое построение «значительной» части программы по описанию структур данных, которые обрабатываются создаваемой программой. - то есть генерация парсеров, по сути. Во-первых, для этого есть специализированное семейство языков (yacc-подобные). Во-вторых... Вчера наткнулся на вот такую штуку . Похож на yacc и bison, но написан как модуль к nodeJS на чистом JS. Озвучьте, пжалста, ниши применения оставшихся четырёх пунктов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 13:36 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XОзвучьте, пжалста, ниши применения оставшихся четырёх пунктов. Увы, увы... мои задачи слишком далеки от ФП. Я пожалуй использовал только XML-XSLT для извлечение некоторых данных из XML документов но это была задача тоже весьма далека от ФП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 13:49 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division X- ES5 весь построен на динамических структурах; По поводу ЕС5 - я вообще невкурсе что это такое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 13:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonDivision X- ES5 весь построен на динамических структурах; По поводу ЕС5 - я вообще невкурсе что это такое. ES5 - ECMAScript 5. Стандарт Javascript, реализованный во всех нормальных браузерах и IE, начиная с 9, а также в stand-alone платформах а-ля nodeJS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 15:30 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XНапример, по количеству затраченных на получение этого результата телодвижений. вот чистота и позволяет затратить меньше телодвижений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 16:45 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNDivision XНапример, по количеству затраченных на получение этого результата телодвижений. вот чистота и позволяет затратить меньше телодвижений. Да, но в ФП надо мозг напрячь немного. Для самого процесса разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:13 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNпропущено... вот чистота и позволяет затратить меньше телодвижений. Да, но в ФП надо мозг напрячь немного. Для самого процесса разработки. не, не напрячь. напрячь везде нужно. нужно просто освоить. и не за пару недель по мануалам освоить "еще один новый язык"(например хаскель), а таки пару лет учиться "функциональному программированию". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:19 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
По разному. Сколько мне нужно времени чтоб осилить твою авто-подпись с лямбдами - хер его знает? Может 1 час. А может быть и за месяц неосилю. Смысл нужно схватывать быстро. На лету. Это уж от человека зависит. Как задача Эйнштейна. Не всем дано её решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
а потом - наоборот. меньше напрягать мозги придется. как раз функциональная чистота - гарантирует что при тех же аргументах - тот же результ, и что после вызова ничто нигде не поменяет состояния. рассуждать о корркетности таких програм(и соответственно переделывать и рефакторить) - в разы проще. да и писать с нуля - не сложно. Division XЯсно, событийно-ориентированности без потусторонних библиотек там нету. ага, и нету функций для описания гуя ))) ну это же отлично, что в языке нет лишнего, а все что нужно - берем в либах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:23 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonПо разному. Сколько мне нужно времени чтоб осилить твою авто-подпись с лямбдами - хер его знает? Может 1 час. А может быть и за месяц неосилю. Смысл нужно схватывать быстро. На лету. Это уж от человека зависит. Как задача Эйнштейна. Не всем дано её решить. а склоько мне нужно, что-бы осилить прогу на брейнфаке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:24 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonПо разному. Сколько мне нужно времени чтоб осилить твою авто-подпись с лямбдами - хер его знает? Может 1 час. А может быть и за месяц неосилю. Смысл нужно схватывать быстро. На лету. Это уж от человека зависит. Как задача Эйнштейна. Не всем дано её решить. а склоько мне нужно, что-бы осилить прогу на брейнфаке?а вообще, это неподвижная точка: http://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D0%BE%D0%B4%D0%B2%D0%B8%D0%B6%D0%BD%D0%B0%D1%8F_%D1%82%D0%BE%D1%87%D0%BA%D0%B0 используется для реализации рекурсии, в языках - где функции безымянные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:26 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonПо разному. Сколько мне нужно времени чтоб осилить твою авто-подпись с лямбдами - хер его знает? Может 1 час. А может быть и за месяц неосилю. Смысл нужно схватывать быстро. На лету. Это уж от человека зависит. Как задача Эйнштейна. Не всем дано её решить. а склоько мне нужно, что-бы осилить прогу на брейнфаке?вот кстати, как это выглядит на хаскеле: Код: sql 1. неужели не читабельно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:33 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
более того, в хаскеле эта функция - бесполезна(так как там у функций могут быть имена), а значит для умения писать на фп языках, тебе нафиг не нужно уметь читать мою автоподпись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 17:34 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonПо разному. Сколько мне нужно времени чтоб осилить твою авто-подпись с лямбдами - хер его знает? Может 1 час. А может быть и за месяц неосилю. Смысл нужно схватывать быстро. На лету. Это уж от человека зависит. Как задача Эйнштейна. Не всем дано её решить. а склоько мне нужно, что-бы осилить прогу на брейнфаке? Брейнфак я могу записать в столбик и разложить в директивы наподобие ассемблера. Тоесть это ну.. вобщем не то. ФП - другое дело. Тут для решения "чуйка" нужна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 18:09 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNпропущено... а склоько мне нужно, что-бы осилить прогу на брейнфаке? Брейнфак я могу записать в столбик и разложить в директивы наподобие ассемблера. Тоесть это ну.. вобщем не то. ФП - другое дело. Тут для решения "чуйка" нужна. ну а лямбды, можно переписать на хаскеле )) и все будет просто, я выше привел аналог на хаскеле: авторfix f = f (fix f) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 18:19 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaNпропущено... вот чистота и позволяет затратить меньше телодвижений. Да, но в ФП надо мозг напрячь немного. Для самого процесса разработки. я пишу на работе - на джаве. и на каждом шагу - жалею что это не хаскель. там где на хаскеле будет гибкое обобщенное решение в 5 строчек, на джаве решается либо копипастом на прау десятков строк. либо делается гибкое решение, с развесистой архитектурой, и разенесенной логикой по классом(тоже пару десяток строк, но я предпочитаю копипаст(код прямолинейней и понятней). а то что ты выше приводил список задач, которые решают на ФП языках, дак это просто так сложилось исторически, на ФП языках работают ученые, а ученые не бизнеслогику пишут, а решают задачи того рода, которые ты привел. но это не значит, что бизнес логику удобней на ооп-джаве писать, а не на хацкеле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 18:24 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNно это не значит, что бизнес логику удобней на ооп-джаве писать, а не на хацкеле. Я уже 3 года лелею мечту об использовании LIsp в Oracle-технологиях. Но всё как-то ... то времени нет. То знаний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 18:56 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNага, и нету функций для описания гуя ))) ну это же отлично, что в языке нет лишнего, а все что нужно - берем в либах. Не, при таком подходе - лишнего нет только в брейнфаке, как уже тут правильно заметили. Гуя в JS (как таковом) тоже нет да и вообще ввод-вывод зависит от конкретного рантайма (и потому выносится в какие-то внешние объекты), а вот событийно-ориентированность - неотъемлемая часть любого рантайма, будь то браузер или stand-alone движок. И да, неужели наличие некислого встроенного набора функций (точнее, не функций, а встроенных типов Array, Number, Object, Function, String и т.д. с соответствующими методами, которых много, но среди которых тоже, имхо, нет ничего лишнего) - это минус, а правильный подход - как в Си - "ни шагу без инклудов"? ZyK_BotaNвот чистота и позволяет затратить меньше телодвижений. Ну вот я и попросил продемонстрировать, насколько меньше телодвижений надо затратить для обнаружения повторяющихся элементов в векторе произвольной длины. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 20:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNага, и нету функций для описания гуя ))) ну это же отлично, что в языке нет лишнего, а все что нужно - берем в либах. Не, при таком подходе - лишнего нет только в брейнфаке, как уже тут правильно заметили. Гуя в JS (как таковом) тоже нет да и вообще ввод-вывод зависит от конкретного рантайма (и потому выносится в какие-то внешние объекты), а вот событийно-ориентированность - неотъемлемая часть любого рантайма, будь то браузер или stand-alone движок. И да, неужели наличие некислого встроенного набора функций (точнее, не функций, а встроенных типов Array, Number, Object, Function, String и т.д. с соответствующими методами, которых много, но среди которых тоже, имхо, нет ничего лишнего) - это минус, а правильный подход - как в Си - "ни шагу без инклудов"? ZyK_BotaNвот чистота и позволяет затратить меньше телодвижений. Ну вот я и попросил продемонстрировать, насколько меньше телодвижений надо затратить для обнаружения повторяющихся элементов в векторе произвольной длины. ты бы еще пример "2+2" попросил привести приемущества фп - проявляются в сложных системах, а так вот - дословно переписанный код: Код: sql 1. 2. 3. 4. 5. 6. а то что ассоциативный массив(как и событийное программирование) - находиться в библиотеке - дак это не минус языка ) ну и то что в хаскеле все по строже(не являются ложью, не отсутствие элемента, не ноль) - это тоже, имхо, не минус языка. по быстродействию не тестил, но уверен - что обгонит жс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 22:39 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division Xа вот событийно-ориентированность - неотъемлемая часть любого рантайма вот что за бред. какое к рантайму оно отношение имеет? это ты сам придумал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 22:42 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNвот что за бред. какое к рантайму оно отношение имеет? это ты сам придумал? Ничего не придумывал, всё на событиях. Серверный рантайм , например Клиентский рантайм ZyK_BotaNа так вот - дословно переписанный код: Код: sql 1. 2. 3. 4. 5. 6. Ну, я постил решение ещё короче... Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ...но оно оказалось фтристараз (c) медленнее вышеизложенного. ZyK_BotaNприемущества фп - проявляются в сложных системах топикстартерЗачем писать программы сложно и долго, когда можно просто и легко? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:46 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNвот что за бред. какое к рантайму оно отношение имеет? это ты сам придумал? Ничего не придумывал, всё на событиях. Серверный рантайм , например Клиентский рантайм ZyK_BotaNа так вот - дословно переписанный код: Код: sql 1. 2. 3. 4. 5. 6. Ну, я постил решение ещё короче... Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ...но оно оказалось фтристараз (c) медленнее вышеизложенного. ZyK_BotaNприемущества фп - проявляются в сложных системах топикстартерЗачем писать программы сложно и долго, когда можно просто и легко?да, я тупанул, и делал вставку каждый раз, а не когда ноль, могу переделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:50 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division X, ну и я надеюсь, что ты тестировал хаскель код, не в интерпретаторе, а скомпилировал, а потом запустил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:50 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNвот что за бред. какое к рантайму оно отношение имеет? это ты сам придумал? Ничего не придумывал, всё на событиях. Серверный рантайм , например Клиентский рантайм ZyK_BotaNа так вот - дословно переписанный код: Код: sql 1. 2. 3. 4. 5. 6. Ну, я постил решение ещё короче... Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. ...но оно оказалось фтристараз (c) медленнее вышеизложенного. ZyK_BotaNприемущества фп - проявляются в сложных системах топикстартерЗачем писать программы сложно и долго, когда можно просто и легко? ну и я не про катраткость, выше я сказал за счет чего краткость: " а то что ассоциативный массив(как и событийное программирование) - находиться в библиотеке - дак это не минус языка ) ну и то что в хаскеле все по строже(не являются ложью, не отсутствие элемента, не ноль) - это тоже, имхо, не минус языка. " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:51 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNDivision X, ну и я надеюсь, что ты тестировал хаскель код, не в интерпретаторе, а скомпилировал, а потом запустил? Хаскелевский не тестировал пока вообще. Я писал о том, что вот это: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. хоть и короче даже хаскелевского кода, но за счёт двух вызовов *indexOf работает фтристараз медленнее этого: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вывод - или шашечки, или ехать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:55 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division Xо за счёт двух вызовов *indexOf работает фтристараз медленнее этого: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. никакого вывода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaNDivision X, ну и я надеюсь, что ты тестировал хаскель код, не в интерпретаторе, а скомпилировал, а потом запустил? Хаскелевский не тестировал пока вообще. Я писал о том, что вот это: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. хоть и короче даже хаскелевского кода, но за счёт двух вызовов *indexOf работает фтристараз медленнее этого: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Вывод - или шашечки, или ехать.а работает прошлый медленнее, так как поиск о(н) а не лог2(н) что в моем решении, что в товем при поиске в мапе = лог2(н) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2012, 23:59 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
кстати, раз уже начали про быстродействие и краткость, вот примитивная задача(с решением) напиши ее на js? что-бы искала 100_000_000-й элемент: авторСуществует знаменитая задача, впервые сформулированная Р. Хэммингом: породить в возраста- ющем порядке и без повторений все положительные целые числа, у которых нет других простых делителей, кроме 2, 3 и 5. Очевидное решение состоит в том, чтобы перебирать все натуральные числа по очереди и проверять, есть ли у них простые множители помимо 2, 3 и 5. Однако эта процедура весьма неэффективна, поскольку чем больше числа, тем меньшая их доля соответствует условию. Применим альтернативный подход: назовем искомый поток чисел S и обратим внимание на следующие факты: • S начинается с 1. • Элементы (scale-streams 2) также принадлежат S • То же верно и для (scale-stream S 3) и (scale-stream S 5). • Других элементов S нет. Теперь требуется только соединить элементы из этих источников. Для этого мы определяем процедуру merge, которая сливает два упорядоченных потока в один упорядоченный поток, убирая при этом повторения вот решение на хаскеле: ZyK_BotaN Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. вот ответ: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 00:04 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
был былинный топик, где императивщики - разбили свои копья об эту задачу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 00:10 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, Она решает какие-то практические вопросы? Тем не менее, завтра попробую. Сейчас уже не соображаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 00:15 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaN, Она решает какие-то практические вопросы? Тем не менее, завтра попробую. Сейчас уже не соображаю. ну я твою же решал )) з.ы. я смог на сишке, юзаю круто оптимизированную либу длинной арифмитики - сюелать более быстрое решение, но в разы - менее понятное(с ручным управлением памятью) на языках со сборкой мусора - не видел решения быстрее и чем на хаскеле. . жду решения . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 00:19 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNбыл былинный топик, где императивщики - разбили свои копья об эту задачу??? Элегантное решение придумать может быть сложно, но чтобы не решить вообще? Каждое число последовательности характеризуется тройкой целых степеней - т.е. по сути мы обходим узлы трёхмерной сетки (причём подавляющее большинство узлов сравнивается быстро, а следующий узел заведомо находится в тонком слое этого пространства). Навскидку, даже без оптимизаций поиск n-ного числа (при log 2 (n)<MaxInt) требует O(n 2/3 ) памяти и O(n 5/3 ) времени - долго, но для n=10 8 не невозможно, да и соптимизировать по времени построение слоя для следующего шага наверняка можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 11:12 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
AbstractionZyK_BotaNбыл былинный топик, где императивщики - разбили свои копья об эту задачу??? Элегантное решение придумать может быть сложно, но чтобы не решить вообще? Каждое число последовательности характеризуется тройкой целых степеней - т.е. по сути мы обходим узлы трёхмерной сетки (причём подавляющее большинство узлов сравнивается быстро, а следующий узел заведомо находится в тонком слое этого пространства). Навскидку, даже без оптимизаций поиск n-ного числа (при log 2 (n)<MaxInt) требует O(n 2/3 ) памяти и O(n 5/3 ) времени - долго, но для n=10 8 не невозможно, да и соптимизировать по времени построение слоя для следующего шага наверняка можно. ZyK_BotaNз.ы. я смог на сишке, юзаю круто оптимизированную либу длинной арифмитики - сюелать более быстрое решение, но в разы - менее понятное(с ручным управлением памятью) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 11:16 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Abstractionдаже без оптимизаций поиск n-ного числа (при log 2 (n)<MaxInt) требует O(n 2/3 ) памяти можно про память поподробней? и что за MaxInt имеется ввиду? з.ы. а императивщики сломали копья, не потому, что на имп языках нельзя решить, а потому что были уверенны что решение на связных списках - не наш метод, и использовали массивы с прямым доступом. вот и не смогли написать корректное решение для поиска 100_000_000-го элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 11:21 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNможно про память поподробней? и что за MaxInt имеется ввиду?MaxInt - это о том, что не требуется использовать длинную арифметику для степеней. То есть, у нас есть сетка степеней 2, 3, 5 (три степени свободы); есть текущее число. Число, следующее за текущим (a,b,c), принадлежит множеству {(x,y,z)|x*ln(2)+y*ln(3)+z*ln(5)>a*ln(2)+b*ln(3)+c*ln(5)>(x-1)*ln(2)+(y-1)*ln(3)+(z-1)*ln(5)}. Т.е. это плоский слой, содержащий t 2 элементов, где t - "характерный линейный размер" на текущем шаге; к этому моменту рассмотрено порядка t 3 элементов. Элементы слоя имеет смысл хранить в памяти, в упорядоченной структуре, поскольку для некоторых из них процедура точного сравнения требует длинной арифметики и не должна проделываться на каждом шаге. Это так, идея решения, код не писал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 11:37 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
AbstractionZyK_BotaNможно про память поподробней? и что за MaxInt имеется ввиду?MaxInt - это о том, что не требуется использовать длинную арифметику для степеней. То есть, у нас есть сетка степеней 2, 3, 5 (три степени свободы); есть текущее число. Число, следующее за текущим (a,b,c), принадлежит множеству {(x,y,z)|x*ln(2)+y*ln(3)+z*ln(5)>a*ln(2)+b*ln(3)+c*ln(5)>(x-1)*ln(2)+(y-1)*ln(3)+(z-1)*ln(5)}. Т.е. это плоский слой, содержащий t 2 элементов, где t - "характерный линейный размер" на текущем шаге; к этому моменту рассмотрено порядка t 3 элементов. Элементы слоя имеет смысл хранить в памяти, в упорядоченной структуре, поскольку для некоторых из них процедура точного сравнения требует длинной арифметики и не должна проделываться на каждом шаге. Это так, идея решения, код не писал. не понял к чему ты, хотел бы на решение посмотреть. а на счет сравнения длинных чисел - не понял, мы же на больше меньше сравниваем, не думаю что там проблемы с быстродействием будут. имхо - основная проблема решения которое я привел - постоянная аллокация памяти для каждого последующего элемента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 11:45 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division Xmaytonпропущено... По поводу ЕС5 - я вообще невкурсе что это такое. ES5 - ECMAScript 5. Стандарт Javascript, реализованный во всех нормальных браузерах и IE, начиная с 9, а также в stand-alone платформах а-ля nodeJS. Так Javascript самый что ни на есть функциональный язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 12:18 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division XZyK_BotaN, Она решает какие-то практические вопросы? Тем не менее, завтра попробую. Сейчас уже не соображаю. Думаю, что нет. Но это интересная мозго-ломка, котороая позволит развить свой закисший мозк от практичной унылой серости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 12:27 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
Division X Код: javascript 1. 2. 3. Я так понимаю, в JS нет класса Set даже с импортами :) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 14:00 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNз.ы. а императивщики сломали копья, не потому, что на имп языках нельзя решить, а потому что были уверенны что решение на связных списках - не наш метод, и использовали массивы с прямым доступом. вот и не смогли написать корректное решение для поиска 100_000_000-го элемента. Ну если по-совести, то алгоритм вам был предоставлен. А вот искать библиотеки работы с длинной арифметикой - вот тут да, желания никакого не было))). А с изначальной задачей, получением первых 1000 или 10000 элементов вообще проблем не возникло))). Это вы затем начали придумывать всякие сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 14:58 |
|
||
|
Зачем писать программы сложно и долго, когда можно просто и легко?
|
|||
|---|---|---|---|
|
#18+
kDnZPZyK_BotaNз.ы. а императивщики сломали копья, не потому, что на имп языках нельзя решить, а потому что были уверенны что решение на связных списках - не наш метод, и использовали массивы с прямым доступом. вот и не смогли написать корректное решение для поиска 100_000_000-го элемента. Ну если по-совести, то алгоритм вам был предоставлен. А вот искать библиотеки работы с длинной арифметикой - вот тут да, желания никакого не было))). А с изначальной задачей, получением первых 1000 или 10000 элементов вообще проблем не возникло))). Это вы затем начали придумывать всякие сложности. ну я для языка си - нашел библиотеку(с помощью которой сделал по скорости хаскель) а так - не совсем верно про библиотеку, там писали заведомо более медленные решения, а на счет "алгоритм вам был предоставлен", это да, я и не говорил, что я его придумал, вот только императивщики доказывали что алгоритм плохой, и нужно решение на массивах строить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 20:49 |
|
||
|
|

start [/forum/topic.php?all=1&fid=16&tid=1342261]: |
0ms |
get settings: |
9ms |
get forum list: |
24ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
180ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
260ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 758ms |

| 0 / 0 |
