Самообучение

Алгоритмы сортировки

Часто в требованиях к вакансиям для программистов можно увидеть - знание классических алгоритмов и структур данных. В процессе изучения этого вопроса я наткнулся на чудесную книгу Скиены. Предложенные им алгоритмы сортировки я реализовал на Javascript и для развлечения сделал их анимированное выполнение. Рассмотреные мною варианты:

Был приятно удивлен простотой алгоритмов и их реализации. И неприятно удивлён тем как скучно их принято объяснять.

Монады

Я давно с большим любопытством пробую разные языки программирования. Так я наткнулся на интеллектуальное мучение под названием Haskell. Язык который требует большого терпения и упорности просто чтобы начать верить в то, что это не колдовство.

Функциональный язык программы на котором создаются из чистых функций. А всякие "сайд-эффекты" спрятаны за термином — Монады. Вот перечень любопытных материалов:

Получается что это некий паттерн проектирования для вычислений состоящих из чистых функций, который сильно повязан на типы данных.