Как вам хорошо известно, некоторые языки программирования, например, Erlang, поддерживают горячее обновление кода, то есть, обновление кода программы без ее остановки. Часто эта способность преподносится в качестве существенного преимущества языка программирования, который ею обладает, над языками, в которых горячего обновления кода нет. Однако чем больше я думаю о горячем обновлением кода, тем больше склоняюсь к мысли, что на практике оно никому не нужно. И вот почему.

В этом выпуске: литература по алгоритмам и разработке программного обеспечения, низкоуровневое программирование под Linux, статьи о функциональном программировании (преимущественно на OCaml и Erlang), и не только. Предыдущий выпуск: январь 2013.

Темы выпуска: сборка Pastexen из исходников, процедурное представление данных в Haskell, автоматическая загрузка картинок на radikal.ru, установка Adobe Air под Ubuntu x64 и не только. Предыдущие выпуски: девятый, восьмой, седьмой, шестой.

В старом Disqus, так называемом Disqus Classic, была возможность настраивать то, как будет отображаться количество комментариев к статьям. Например, если комментариев нет, на ваше усмотрение Disqus мог писать «0 комментариев», «Комментарии отсутствуют», «Нет комментариев» и тп. В Disqus 2012 такая возможность пропала. Раньше проблема решалась временным переключением на старый Disqus, но теперь и этой возможности нет.

Несмотря на то, что я вот уже несколько месяцев не пишу на Perl по-настоящему (после того, как сменил работу), я продолжаю использовать этот язык для создания небольших скриптов и однострочников. Если вы часто работаете с *nix, Perl может здорово облегчить вам жизнь. Каким образом — будет показано в этой заметке.

Как мы обычно отлаживаем программу, если она не работает? Традиционный и самый простой способ — напичкать ее отладочным выводом, запустить, и посмотреть, что происходит. Чего уж греха таить. Однако в Erlang вы можете с легкостью сделать практически то же самое, не трогая исходный код программы, с помощью трассировщика dbg.

В прошлые выходные прошел очередной конкурс по функциональному программированию от Darkus’а. Поразмыслив, я решил принять в нем участие с целью немного попрактиковаться в изучаемом мною эзотерическом и никому не нужном языке программирования OCaml. В результате занял четвертое место.

Помните, как в крайнем посте я обмолвился, что в OCaml есть генераторы списков, но для их получения нужно произвести дополнительные действия, и в результате использовал указатель на голову списка с циклами for? Настало время выяснить, что это за дополнительные действия такие.

Все-таки есть основания полагать, что Haskell местами излишне сложен и несколько оторван от действительности. Когда речь заходит о реальной разработке, возникает желание писать на языке попроще, где по умолчанию не используются ленивые вычисления, где при необходимости можно прибегнуть к ссылкам, наследованию, побочным эффектам и тп. И чтобы никаких матанов типа монад, аппликативных функторов, iteratees и застежек. Примерно как в OCaml.

В общем, решил хранить закладки у себя в бложике и время от времени публиковать их. В какой-то степени последовать примеру Бобука, да. Я долгое время пытался найти более подходящее место для хранения закладок, но что-то такое место все никак не находится. Надеюсь, сей материал будет вам интересен.