Сессия в полном разгаре, мыла в ящик сыплется много и иногда взгляд цепляется за что-то, а потом пытаешься понять, чтоже было не так. Так и у меня с словосочетанием Python Paradox. Множество раз слышал, а никак не мог разобраться в чем дело.
Сегодня, наконец-то дошли руки. Это короткая статья Пола Грэхема о языках и программистах. Сайт русского перевода лежал напрочь, поэтому я озаботился перевести ее сам и выложить для своих читателей и всех кому оно может быть надо.
Для любителей повозмущаться “А кто это такой?”, даю развернутую справку. Пол Грэхем (Paul Graham), 1964 года рождения — программист, венчурный специалист и автор коротких рассказов. Человек, как говорится, старой закалки, помнит какие были XT тормозные. С конца 80-ых программировал на Common Lisp-e, сейчас работает над собственной его версией (Arc). Он написал известные произведения типа “On Lisp”, “ANSI Common Lisp”, “Хакеры и художники”; также, кстати, в одной из его работ была заложена применимость Байесова фильтра к фильтрации спама в почте, реализованная во многих программных продуктах. Созданную им компанию Viaweb по разработке программного обеспечения для Интернет-коммерции в конце 90ых купила Yahoo! за 50 млн. долларов. Если кому будет аргументом, доктор наук в области Computer Science и какое-то высшее художественное образование у него тоже есть. Подробнее думаю найдете в Интернет, а дальше мой перевод статьи “Python Paradox”.
Python Paradox
http://www.paulgraham.com/pypar.html
August 2004В недавней беседе (отсылка на статью “Большие дока“) я сказал то, что расстроило множество людей: вы можете получить более сообразительных программистов для работы на проекте на Python, чем для аналогичного проекта на Java.
Я не имел в виду, что Java тупая. Я имел в виду, что программисты на Python умные. Это большая работа – выучить новый язык программирования. И люди не учат Python чтобы он помог и получить работу; они учат его, потому что им нравится программировать и они не удовлетворены теми языками, что уже знают.
А это делает их наиболее благоприятным видом программистов, которых должна хотеть взять на работу компания. Вывод из этого, в отсутствии лучшего названия, я называю “парадоксом Python’a”: если компания выбирает разрабатывать свое программное обеспечение на сравнительно эзотерическом языке (известным узкому кругу любителей оного), она сможет нанять лучших программистов, поскольку они привлекут внимание только тез, кто позаботился о том, чтобы выучить его достаточно хорошо. Для программистов этот парадокс звучит еще более парадоксально: язык, который вы учите, чтобы получить хорошую работу, это тот язык, который люди учат не для того, чтобы получить работу.
Считаные компании оказались достаточно умны, чтобы осознать это пока. Но кое-что происходит все-таки: эти компании стараются стать компаниями – партнерами Google, например. Поэтому, рекламируя свою работу на Java, они хотят видеть у кандидатов опыт Python программирования.
Мой друг, который знает почти все широкоиспользуемые языки, сказал что использует Python для большинства проектов. Он ответил, что основна причина этого в том, что ему нравится, как выглядит исходный код. Кому-то это может показаться несерьезной причиной, превосходства одного языка над другим. Но она не такая поверхностная, каковой кажется на первый взгляд: во время программирования, вы проводите больше времени читая код, чем создавая новый. Вы двигаете кусочки исходника друг относительно друга, как скульптор делает с кусочками глины. И если язык программирования заставляет ваш исходный код выглядеть раздражающе для создавшего программиста, то это сродни глины, полной комков грязи для скульптора.
При упоминании страшного исходного кода, люди в большинстве своем вспоминают Perl. Но сверхестественная страшность Perl это уродство не того рода, что имеллось в виду. Настоящее безобразие это не раздражающий синтаксис, а необходимость строить программу на неверных концепциях. Perl может выглядеть, как ругательства персонажей комиксов, но в нем случаются моменты (отсылка на статью “Месть ботаников”), когда он концептуально обходит Python.
В любом случае оба языка конечно же явзяются движущимися целями (отсылка к статье “Столетний язык”). Но вместе их и Ruby (и Icon, и Joy, и J, и Lisp, и Smalltalk) объединяет тот факт, что они были созданы и использованны людьми, которые действительно заботятся о программировании. И теми, кто старается чтобы они были сделаны достойно.
Не, я конечно всё понимаю, но переводить "Nerd" как "говнюк" — это перебор, равно как и "Hackers" у Грэма не "взломщики", а скорее синоним "хорошие программисты".
Пришлите мне патч
Это все конечно хорошо, но программистов на питоне не много. А хороших программистов надо ооочень много 🙂
Дай мне исходники и ссылку на RCS, я пришлю 🙂 Ах да, забыл, у WordPress’а этого нету 😉
Nerd это по-нашему “ботаник”, а с хакером сложнее — кроме как “дока” в голову ничего не приходит. И вообще — у Грэма стоит ссылка на перевод на русский, я правда его не читал. Как и Грэма в последнее время не читаю — сдулся он 🙁
Исходник указан в заголовке.
Кстати, RCS это то, чем мне нравится Mephisto, хотя он еще очень сырой. Сейчас поправлю свой текст, чтобы соотвествовало..
С “докой” как-то очень странно звучит — нужно что-нибудь другое придумать…
А под исходниками я кстати понимаю исходник твоего перевода, потому и RCS. Обрати внимание на ikiwiki — по-моему, самый правильный подход, хотя конкретное исполнение мне не сильно нравится. Mephisto кажется умер, по крайней мере, когда я в последний раз на него глядел.