Последнее в категории Документация

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

Почему последовательность вызовов

perl -E'srand(rand); say rand'

печатает один и тот же результат?

Соль минор

| Нет комментариев

Я хотел написать про одно, а напишу про другое.

Сегодня мне стало интересно, что на спане умеет рисовать ноты. Оказалось, не так уж и много. Есть пара интересных модулей, которые умеют делать картинки с клавишами, которые нужно нажать, получая на входе название аккорда.

Например, модуль GD::Chord::Piano рисует такие простые картинки:

chord.png

Интерфейс крайне прост и приятен:

use GD::Chord::Piano;
my $im = GD::Chord::Piano->new;
print $im->chord('Gm')->png;

Все, что требуется, — передать название аккорда методу chord. Этот пример скопирован из документации к модулю.

А вот другой модуль — Music::Image::Chord, который, судя по названию и описанию, должен делать нечто похожее.

Но если скопировать пример из документации, то ничего не работает:

Use of uninitialized value in division (/) at /usr/local/lib/perl5/site_perl/5.10.0/Music/Image/Chord.pm line 152.
Can't use an undefined value as a HASH reference at /usr/local/lib/perl5/site_perl/5.10.0/Music/Image/Chord.pm line 153.

Нет, можно конечно продолжить разбираться, но не хочется.

К сожалению, такое весьма часто такое случается с примерами в книгах, причем не из-за того, что у автора и читателя оказались компиляторы разных версий. А ведь это так просто — скопипейстить код из набранной рукописи и проверить ее.

У разработчиков периодически возникают ситуации, когда они уверены в написанном коде и не проверяют его. Ну разве можно ошибиться, исправив один-два символа в регулярном выражении на боевом сервере? А вот можно :-) Сила опытного разработчика не в том, что он может писать код с закрытыми глазами, а в том, что он не стремается проверять себя.

В качестве офтопика можно вспомнить историю, расказанную создателем Бейсика Томасом Курцом о том, что какой-то аспирант написал компилятор PL/1 без отладки, впервые запустив его только после того, как код был полностью написан:

...he worked at Darthmouth in the computer center. He wrote a PL/1 compiler, and it's a big thing, and he checked it, and looked at it, and so on, but he never tested it, he never ran it until it was all done. You know, 20,000 or 30,000 lines of code, and the only test he did was to read it. Then he ran it and it worked the first time!

В той же книге рассказано и о том, что означат отладка для создателя C++ Бьярна Страуструпа:

— How do you debug? Do you have any suggestion for C++ developers?
— By introspection. I study the program for so long and poke at it more or less systematically for so long that I have sufficient understanding to provide an educated guess where the bug is.

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

gabor.jpgГабор Сабо создал на вики сайта Perl Foundation страницу International Perl Resources, где попросил сообщество собрать ссылки на материалы про Perl на разных языках.

В результате за пару дней набралось ссылок на двадцати языках. Русский язык оказался на одном из первых мест по числу ссылок.

Пополнить коллекцию приглашаются все желающие.

Габор Сабо (Gabor Szabo) — активный участник Perl-сообщества, создатель редактора Padre, организатор нескольких мероприятий в Венгрии и Израиле. В 2009 году получил награду White Camel Award.

Опубликованы исходники сайта perldoc.perl.org.

jj.jpgДжон Аллен (Jon Allen, JJ) — создатель сайта perldoc.perl.org — открыл исходные коды сайта. Они доступны на Гитхабе.

Perldoc.perl.org представляет собой онлайновую версию документации по Perl. Сайт содержит все материалы, входящие в дистрибутив языка. Сейчас доступна документация версий 5.10, 5.8.9 и 5.8.8, однако автор сайта планирует расширить набор как минимум до версии 5.8.

Чуть меньше месяца назад perldoc.perl.org поменял дизайн. Предыдущая версия выглядела примерно так, как сейчас выглядит еще один сайт — с переводами документации на другие языки — perldoc.org.

Страницы

  • img

Об архиве

Эта страница содержит последние записи категории Документация.

Предыдущая категория — Видео.

Следующая категория — Задания на собеседования.

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.