Недавно в блоге Даркуса была поднята тема генерации уникальных текстов, содержащих в себе некоторый смысл. То есть речь идет о генерации нормальных текстов, вроде того, что вы читаете в данный момент, а не простой мешанины из слов. Тема меня «зацепила» и со второй попытки мне удалось написать довольно неплохой, как мне кажется, генератор. Однако, будучи блогером-графоманом, начну я немного издалека…

Мне почему-то всегда казалось, что хэши в Perl, несмотря на название, реализованы в виде бинарных деревьев, а не хэш-таблиц. Как бы дико это ни звучало. Вероятно, это связано с тем, что в STL контейнер std::map обычно реализуется в виде красно-черного дерева, и я ошибочно предположил, что в Perl сделано так же. Но недавно я обнаружил, что в книге «Programming Perl» недвусмысленно утверждается обратное.

Мысль о необходимости написания комментариев и ведении документации внушается нам еще в самом начале обучения программированию. Об этом говорят в школе на уроках информатики, об этом пишут в умных книжках и на программерских форумах. Однако давайте попробуем представить, что мы уже не маленькие, и подумаем своей головой — а действительно ли документировать код в той или иной форме так важно и полезно?

Недавно я наткнулся на один любопытный проект. Он называется Berp и представляет собой транслятор скриптов на языке Python в программы на Haskell. Со стороны пользователя Berp выглядит как интерпретатор и компилятор Python, поскольку вся трансляция происходит «в бэкенде».

На прошлой неделе я в очередной раз принял участие в конкурсе по функциональному программированию от Даркуса. В этой заметке вы найдете постановку задачи, ее решение, а также кое-какие мои наблюдения касательно функционального программирования.

Несколько лет назад, будучи молодым, наивным и впечатлительным (в большей степени, нежели сейчас), я имел неосторожность начитался различных сео-форумов и сео-блогов. Оттуда я узнал о заработке в сети, биржах SAPE и GoGetLinks, и, чего уж греха таить, о ведении блогов. Много времени было потрачено на работу с различными биржами ссылок и партнерками. Надо отметить, я немного преуспел в этом деле. Но в последнее время у меня сильно поубавилось оптимизма по отношению к этому вашему «интернет-бизнесу».

Спустя некоторое время после знакомства с Haskell, я заметил, что некоторые задачи уж больно легко решаются при помощи функционального подхода. Возник вполне закономерный (для меня) вопрос. А можно ли применить этот подход в Perl?

Прикупил себе недавно новый смартфон. Предыдущий, Nokia N97, в последнее время стал сильно глючить. Например, он начал самопроизвольно закрывать программы во время работы с ними. Впрочем, если учесть, сколько раз я ронял телефон, удивительно, что он вообще еще жив. После непродолжительных поисков по Яндекс.Маркету и ближайшим салонам связи, была найдена достойная замена в лице Samsung Galaxy R.

Со временем взгляды на некоторые вещи меняются. Лет шесть назад я писал на C++ (а фактически — на чистом Си) с использованием Windows API и для меня это было «наше все». Да-да, я уже тогда был редкостным ботаником :) А потом я попробовал Perl и вся эта возня с указателями и ручным управлением памятью стала казаться мне странной и ненужной. Еще недавно я плевался от Flash, а теперь спокойно пользуюсь им. Самое интересное, что я все еще понимаю, чем плох Flash. Просто мне намного удобнее поставить его и спокойно смотреть видео на Ютубе, чем делать это через самопальный скрипт.

Есть такой модуль на CPAN’е, называется Modern::Perl. В настоящее время его подключение эквивалентно написанию строк «use strict» и «use warnings», а также приводит к активации еще нескольких полезных фич перла. Мне стало интересно, а можно ли пойти дальше и написать модуль, подгружающий, к примеру, Try::Tiny и Moose? Оказалось, что написать такой модуль довольно просто.