Diligence, Patience, and Humility
Описание книги | Статья Уолла в книге Open Sources: Voices from the Open Source Revolution
|
---|---|
Область знаний | Информатика, Лингвистика |
Год издания | 1999 |
Веб-сайт где можно прочитать книгу или статью | https://www.oreilly.com/openbook/opensources/book/larry.html |
Видео запись | |
Авторы | Уолл |
Среды и средства, на которые повлияла книга |
Мы приучены ценить простоту и красоту. Это чудесно. Но, и сложность не всегда является нашим врагом. Важно то, как мы связываем простоту и сложность. Нам всегда необходим определенный уровень сложности для того, чтобы выполнить определенную работу. Так космический корабль состоит из семи миллионов частей и все они выполняют работу. Это не совсем верно, поскольку некоторые их этих частей были излишни. Но, это излишество было абсолютно необходимо для того, чтобы выполнить работу по доставке человека на Луну в 1969 году. То же справедливо и в отношении языка, некоторые части которого избыточны и не используются. Но, это не значит, что они не нужны. Они просто ждут своей очереди.
Мы обманываем себя, если говорим "Это излишество", имея в виду "Это не нужно". Излишество не всегда означает ненужность, говорите ли вы о космических кораблях, человеческом языке или языке программирования. Зачастую упрощение мешает успеху.
Люди легко понимают, что лучшая политика для компьютерной программы взаимодействующей с другими программы, это быть как можно точнее и строже в том, что эта программа передает другим, и быть как можно свободнее и либеральнее в том, что эта программа принимает от других. Странность в том, что люди не стремятся быть строже к своим собственным высказываниям и либеральнее к тому, что они слышат. Мы пытаемся поддерживать некоторые ценности в сообществе Перл. Как указал апостол Павел, никто не издавал законов против любви, радости, покоя, терпения, дружбы, нежности и самоконтроля. Так что вместо того чтобы запрещать зло, можно сосредоточиться на продвижении добра.
- Of course, in Perl culture, almost nothing is prohibited. My feeling is that the rest of the world already has plenty of perfectly good prohibitions, so why invent more? That applies not just to programming, but also to interpersonal relationships, by the way. I have upon more than one occasion been requested to eject someone from the Perl community, generally for being offensive in some fashion or other. So far I have consistently refused. I believe this is the right policy. At least, it's worked so far, on a practical level. Either the offensive person has left eventually of their own accord, or they've settled down and learned to deal with others more constructively. It's odd. People understand instinctively that the best way for computer programs to communicate with each other is for each of the them to be strict in what they emit, and liberal in what they accept. The odd thing is that people themselves are not willing to be strict in how they speak and liberal in how they listen. You'd think that would also be obvious. Instead, we're taught to express ourselves.
On the other hand, we try to encourage certain virtues in the Perl community. As the apostle Paul points out, nobody makes laws against love, joy, peace, patience, kindness, goodness, gentleness, meekness, or self-control. So rather than concentrating on forbidding evil, let's concentrate on promoting good.