Или не до конца понимаете в программировании? Для меня вот например Oracle это что-то типа пятого измерения В теории какбы понятно — деревья, логарифмические алгоритмы, интерпретаторы с перкомпиляцией, кэши разные. Но как оно все вместе так хитро собрано, и почему оно такое пц быстрое, и при этом устойчивое, и как работает его оптимизатор? Вообще не представляю.
Здравствуйте, Greeter, Вы писали:
G>Или не до конца понимаете в программировании? Для меня вот например Oracle это что-то типа пятого измерения В теории какбы понятно — деревья, логарифмические алгоритмы, интерпретаторы с перкомпиляцией, кэши разные. Но как оно все вместе так хитро собрано, и почему оно такое пц быстрое, и при этом устойчивое, и как работает его оптимизатор? Вообще не представляю.
Что конкретно вам непонятно?
Re: Есть ли вещи, которые вы прницпиально не понимаете...
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, Greeter, Вы писали:
G>>Или не до конца понимаете в программировании?
D>Монады. Несколько раз подкатывал, без толку.
Ну и нафиг он нужен? По ссылке не ходил, надоело уже. Из последнего прочитанного смутно помню, что это просто две функции специального вида, далеко не самого сложного в мире. И что с ними носятся как с писаной торбой?
Re[4]: Есть ли вещи, которые вы прницпиально не понимаете...
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, gandjustas, Вы писали:
D>>>Монады. Несколько раз подкатывал, без толку.
G>>Да это же элементарно, всего лишь моноид в категории эндофункторов
D>Ну и нафиг он нужен? По ссылке не ходил, надоело уже. Из последнего прочитанного смутно помню, что это просто две функции специального вида, далеко не самого сложного в мире. И что с ними носятся как с писаной торбой?
Монады — паттерн проектирования. Примерно такой же, как все 23 в GOF. Только более функциональный.
Re[5]: Есть ли вещи, которые вы прницпиально не понимаете...
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, gandjustas, Вы писали:
G>>Монады — паттерн проектирования.
D>Ага, вот оно что!.. Блин, ну и что ты сделал? Теперь придётся (n+1)-й раз читать.
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, gandjustas, Вы писали:
G>>Монады — паттерн проектирования.
D>Ага, вот оно что!.. Блин, ну и что ты сделал? Теперь придётся (n+1)-й раз читать.
попробуйте прочитать http://habrahabr.ru/post/151703/
Re[2]: Есть ли вещи, которые вы прницпиально не понимаете...
Решить с помощью map не выйдет. так как в результате получим Maybe<Maybe<B>>, поэтому нам нужна еще одна функция
static class Monad {
В скале это называется flatMap() в дополнение к map(). И что, это и есть монада? Господи, да в скаловских коллекциях функций мильярд, на каждую придумывать по параллельному термину — озвереешь.
Re: Есть ли вещи, которые вы прницпиально не понимаете...
Здравствуйте, Greeter, Вы писали:
G>Или не до конца понимаете в программировании? Для меня вот например Oracle это что-то типа пятого измерения В теории какбы понятно — деревья, логарифмические алгоритмы, интерпретаторы с перкомпиляцией, кэши разные. Но как оно все вместе так хитро собрано, и почему оно такое пц быстрое, и при этом устойчивое, и как работает его оптимизатор? Вообще не представляю.
Надо читать вменяемую литературу, типа Гарсиа-Молина et al. Там подробно разжёвывается, как работает оптимизатор, и из каких кусочков он собирает план исполнения запроса.
А про "пц быстрое, и при этом устойчивое" — это городская легенда.
Т.е. есть и быстрее Оракла, и устойчивее Оракла. А уж стоимость эксплуатации Оракла и вовсе как у Боинга. А вот маркетинг у Оракла правильный, поэтому все думают, что Оракл лучше всех.
На самом деле, самая крутая RDBMS — это DB2. Потом идёт MS SQL, потом Оракл, потом Postgres, а уж потом, с большим-большим отрывом, все остальные.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Есть ли вещи, которые вы прницпиально не понимаете...
Здравствуйте, dimgel, Вы писали:
D>Здравствуйте, welltyped2, Вы писали:
W>>попробуйте прочитать http://habrahabr.ru/post/151703/
D>
D>Решить с помощью map не выйдет. так как в результате получим Maybe<Maybe<B>>, поэтому нам нужна еще одна функция
D>static class Monad {
D>В скале это называется flatMap() в дополнение к map(). И что, это и есть монада? Господи, да в скаловских коллекциях функций мильярд, на каждую придумывать по параллельному термину — озвереешь.
flatMap это только для списков. Если абстрагировать его на любой F[A] и добавить pure, то в итоге можно получить то что есть в scalaz
trait Monad[F[_]] extends Applicative[F] with Bind[F]
где как раз Bind дает
def bind[A, B](fa: F[A])(f: A => F[B]): F[B]
а Applicative
def pure[A](a: => A): F[A]
Re[9]: Есть ли вещи, которые вы прницпиально не понимаете...
Здравствуйте, welltyped2, Вы писали:
W>flatMap это только для списков. Если абстрагировать его на любой F[A] и добавить pure, то в итоге можно получить то что есть в scalaz
Прикольно, но опять возвращается вопрос: нафиг оно надо? Мне и flatMap-то раз в сто лет пригождается.
Re: Есть ли вещи, которые вы прницпиально не понимаете...