![]() |
|
Модераторы: LSD Страницы: (144) « Первая ... 53 54 [55] 56 57 ... Последняя »
( Перейти к первому непрочитанному сообщению ) |
![]()
|
|
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 4 Всего: 161 |
Надо, мне было интересно почитать. Спасибо. Но, на сколько я понял скупые сентенции твоего оппонента, он пытался донести мысль, что ты пользуешься убогим инструментарием, а ты эту мысль, в общем, скорее обосновал, наглядно показав, что шарп не оптимизирует хвостовую рекурсию, но сделал это так шикарно, что если бы я действительно не понял о чем ты говоришь, я бы подумал что Д'Артаньян в самом деле - не LSD. Это сообщение отредактировал(а) Zloxa - 17.4.2013, 23:31 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: нет Всего: 8 |
Я например никак не могу научится думать функционально. Например на С, С#, JavaScript и т.д. у меня получается думать на несколько строк вперёд А вот на F#, да и LISP я пробовал, так не могу. Быстро теряю интузазиммм и впадаю в уныниёёё.... И вот никак не понять если это моя тупость, или я просто ещё не нашел правильную задачу в правильное время P.S. Как то все отошли от главной темы, да и слава богу Это сообщение отредактировал(а) SKrivosein - 18.4.2013, 03:14 |
|||
|
||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Не, я в основном подумал, что serger меня неправильно понял. =) Добавлено через 2 минуты и 36 секунд Попробуй Haskell по этому. =) -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 0 Всего: 5 |
Да в общем-то я пытался всего лишь написать, ну пусть будет так:
Раз Delphi не может оптимизировать хвостовую рекурсию, то он так себе язычок. Ведь работать в функциональном стиле гораздо интереснее... ;) Ну и C# - тоже. Ну и за содержательный ответ, diadiavova, спасибо. Лови +. Добавлено через 14 минут и 41 секунду Ну и вот: http://geeknizer.com/java-8-java-9-features-preview/ А вообще и без них всё равно красиво:
-------------------- упс! |
|||
|
||||
| SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: нет Всего: 8 |
Ага! Вот вы как, функциональщики, детей в свои сети ловите. |
|||
|
||||
| Zloxa |
|
||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 4 Всего: 161 |
Да, стиль оформления иллиюстраций навевает мысли о целевой аудитории -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||
|
|||||
| k0rvin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Да, вынужденная мера, в виду того, что многие императивщики остались на том самом уровне. =) -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
|||
|
||||
| SKrivosein |
|
|||
![]() Идущий в даль ![]() ![]() Профиль Группа: Участник Сообщений: 271 Регистрация: 9.6.2007 Где: Praha - Прага Репутация: нет Всего: 8 |
Я, как дотнетчик скорее хотел бы F# победить. Но никак не соберусь духом пуститься до чего либо серьёзного. А без этого простые примеры с книжек испаряются с мозга
Работать всё таки приходится с C#... Ну это мои личные проблемы. |
|||
|
||||
| diadiavova |
|
||||||||||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 4 Всего: 142 |
Ну я уже сказал, что работать в функциональном стиле - совсем не значит, что надо все циклы рекурсией заменять. На самом деле в функциональных языках есть много готовых удобных функций для обработки коллекций. В C#, VB.Net да и других языках тоже есть LINQ и это дает возможность обрабатываеть коллекции именно в функциональном стиле.
Что до оптимизации хвостовой рекурсии, то в функциональных языках это необходимость, в чистых функциональных языках это вообще критично, поскольку кроме рекурисии там вообще нет способов выполнить повторяющиеся действия (если не считать готовых функций), а в императивном языке это не очень-то и нужно. В конце концов, хвостовая рекурсия выглядит совсем не так уже и красиво. Кроме того, в тех ситуациях, когда есть смысл вообще использовать рекурсию, она либо в принципе не может быть приведена к хвостовому виду, либо приобретает форму настолько сложную, что ну ее нафиг. Видел я вариант с приведением к хвостовому виду рекурсивной обработки бинарного дерева. Монстр. Учитывая, что любое дерево можно представить в виде бинарного, наверно можно и обработку обычного дерева привести к хвостовому виду, но думаю, что это будет еще более жуткий монстр и выгода от такого преобразования более чем сомнительна. Поэтому я не считаю, что отсутствие оптимизации хвостовой рекурсии приносит серьезные неудобства и даже если ее в будущем реализуют в том же шарпе, то я подозреваю, что польлзоваться ей будут мало.
Если я написал несколько строк на этом языке, это еще не делает меня знатоком оного Не думаю, что это хороший совет, тем более для дотнетчика. У F# есть явные преимущества перед другими функциональными языками, а тем более чистыми. Во-первых это среда разработки, несмотря на то, что поддержка языка там не такая крутая как для вб или до-диеза, тем не менее поддержка неплохая и главное - есть перспектива развития. Во-вторых, совместимость с другими языками платформы, это и компиляция в те же ил-коды, и совместимость типов, и энергичные вычисления по умолчанию, и поддержка ооп. Ну и в-третьих, есть возможность писать императивный код, когда это более удобно как с точки зрения понятности кода, так и с точки зрения производительность. Кроме того есть возможность пользоваться привычными библиотеками, а для дотнетчика это тоже плюс. Литература, документация тоже присутствуют и в большом количестве. Например тот же подсчет элементов коллекции можно реализовать и так
Добавлено через 4 минуты и 5 секунд Подожди, сейчас главный дельфист выйдет из бана, он вам всем покажет -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||||||||||
|
|||||||||||||
| Zloxa |
|
||||||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 4 Всего: 161 |
Да, выглядит как сопелка, которая может позволить сэкономить 1e-3% Злохиного времени Попробовал нагрузить оракл рекурсией. фигзнает, толи стек у pl/sql в куче, толи фиг его знает что, но быстро не падает, падла
Суть - передаю параметром в рекурсивную функцию случайную строку размером 32к, считаю глубину, отражаю ее в action сессии, чтобы потом мониторить. мониторинг
Дальше ждать эксепшна - не досуг, рублю сессию Добавлено @ 10:52 Зато залипает, падла
Попытки что-то предпринять в других окошках на этом сервере привели к мегазатупам на вычитке словарей и, соответственно при парсинге запросов.
Ах, хорошо - что в последний момент интуиция удержала меня от запуска этого кейса на продуктивном окружении Это сообщение отредактировал(а) Zloxa - 18.4.2013, 11:03 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||||||
|
|||||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 4 Всего: 161 |
Ну и в конце концов, я таки получил
Т.е он просто тупо провал сессию, выкинуть сколь нибудь осмысленный эксепшн, походу не смог Добавлено через 5 минут Здесь, если исходить из моего понимания логики наших коллег-функциональщиков, я должен бы сделать вывод, что Oracle - гoвно, но PL/SQL таки лучше C# -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 4 Всего: 142 |
Скорей всего не сэкономит вообще. Обычно такой код надо лучше продумывать, в результате может и компактнее получается, но труда в него приходится вкладывать даже больше. Может в моем случае это результат того, что я неуверенно себя чувствую в языке, но вообще спецы пишут то же самое. А что ты хотел выяснить? -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 4 Всего: 161 |
Как он реагирует на глубокую рекурсию. Мне просто не доводилось на практике сталкиваться с потребностью в этом и я не в курсе чо там как вобще. Ну и вывод свой, я в конце концов озвучил, в дополнении -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| serger |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 19.6.2007 Где: Ижевск Репутация: 0 Всего: 5 |
diadiavova, да на всех языках что-то близкое получается ) -------------------- упс! |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 1 Всего: 329 |
||||
|
||||
![]()
|
| Правила ведения Религиозных войн | |
|
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Религиозные войны | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |