Вороны на помойке
Mar. 31st, 2011 01:07 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Представьте себе - живут в некоторой стране люди, производят всякие сельскохозяйственные продукты. Один яблоки выращивает, другой пшеницу, третий - овец разводит на мясо.
Естественно, они обмениваются между собой результатами своего труда.
Ну и мнениями на тему того, что корочку на хлебе лучше бы поподжаристее делать, а свинью - не перекармливать, чтобы свинина не из одного сала состояла.
Недоеденные объедки еды выкидывают на помойку. Где этими объедками кормятся вороны.
Все бы ничего, да вот завелись в этой стране жрецы-авгуры, и стали предсказывать по поведению вороньих стай на помойке судьбу.
Ну и соответственно, стали рекомендовать людям готовить еду так, чтобы на помойку попадало побольше, чтобы воронам жилось получше.
А что людям невкусно - так это ж мелочи. Главное - вороны, они определяют судьбу.
К чему я это все? А именно так выглядит сегодня мир OpenSource. От разработчиков, которые что-то полезное делают и обмениваются этой пользой друг с другом постоянно требуют прогнуться под интересы "обычного пользователя". Волю которого толкуют специальные жрецы-авгуры.
Живьем того пользователя никто не видел, и почему именно его интересы должны быть приоритетны - непонятно. Он не приносит сообществу никакой пользы. Не пишет кода, не шлет багрепортов. Только подбирает то, что сделано другими. Благо операция копирования бесплатна.
Но талантливые демагоги-авгуры уже добились того, что для людей, то есть для существ наделенных речью, и способных выразить свои мысли (на языке, понятном компьютеру) open source среды стали крайне неудобны.
Естественно, они обмениваются между собой результатами своего труда.
Ну и мнениями на тему того, что корочку на хлебе лучше бы поподжаристее делать, а свинью - не перекармливать, чтобы свинина не из одного сала состояла.
Недоеденные объедки еды выкидывают на помойку. Где этими объедками кормятся вороны.
Все бы ничего, да вот завелись в этой стране жрецы-авгуры, и стали предсказывать по поведению вороньих стай на помойке судьбу.
Ну и соответственно, стали рекомендовать людям готовить еду так, чтобы на помойку попадало побольше, чтобы воронам жилось получше.
А что людям невкусно - так это ж мелочи. Главное - вороны, они определяют судьбу.
К чему я это все? А именно так выглядит сегодня мир OpenSource. От разработчиков, которые что-то полезное делают и обмениваются этой пользой друг с другом постоянно требуют прогнуться под интересы "обычного пользователя". Волю которого толкуют специальные жрецы-авгуры.
Живьем того пользователя никто не видел, и почему именно его интересы должны быть приоритетны - непонятно. Он не приносит сообществу никакой пользы. Не пишет кода, не шлет багрепортов. Только подбирает то, что сделано другими. Благо операция копирования бесплатна.
Но талантливые демагоги-авгуры уже добились того, что для людей, то есть для существ наделенных речью, и способных выразить свои мысли (на языке, понятном компьютеру) open source среды стали крайне неудобны.
no subject
Date: 2011-03-31 09:58 am (UTC)no subject
Date: 2011-03-31 09:59 am (UTC)При этом я хочу видеть этот продукт рабочим, продуманным и сегодня. Мне нафиг не нужны новомодные дизайнерские штучки, я хочу как минимум стабильной работы (без падений и порчи документов) из коробки, а как максимум - возможности чуток доточить интерфейс, чтоб, например, копирование цитаты выливалось не в 7-10 жестов стилусом, а, в идеале, в один.
Как мне кажется, сейчас есть либо рабочие, но страшные программы (90% опенсорца), либо гламурные и красивые, но тормозные и неэргономичные (90% проприетарщины), которые еще и в принципе невозможно доработать напильником. Опенсорц в теории можно, но на практике (в 90% случаев) это нереально, поскольку крайне сложно добыть из авторов информацию о том, что как и зачем он делал.
Идет какая-то невнятная гонка вооружений, специальная олимпиада, итп, в процессе которой появляются всё новые кривые промежуточные стандарты, которые даже сами авторы недопонимают и, соответственно, приходится быстро-быстро лепить какие-то закладки, прослойки, библиотеки совместимости итп.
Упрощённо, оконечному пользователю не нужно ни ядро, ни компилятор, ни IDE, ему нужно чтоб его задача решалась быстро и предсказуемо, чтоб не было этих дурацких революций раз в два-три года, когда остроконечники сменяются тупоконечниками, тупоконечники вегитарианцами, а вегитарианцы - сторонниками раздельного питания и сыроядения.
Плюс, есть ощущение, что разработчики что-то делают не так и закапываются в каких-то мелочах, рисуют новые слои абстракции поверх старых, опять забывают продумать АПИ, опять намазывают поверх новый набор костылей и подпорок. То есть, 90% энергии уходит в какой-то свисток и гонки, а не в реализацию реальных потребностей.
no subject
Date: 2011-03-31 10:00 am (UTC)no subject
Date: 2011-03-31 10:02 am (UTC)no subject
Date: 2011-03-31 10:03 am (UTC)просто есть граница, ниже которой продуктивности недостаточно для выживания, и часть проектов находится ниже этой границы
no subject
Date: 2011-03-31 10:05 am (UTC)no subject
Date: 2011-03-31 10:05 am (UTC)no subject
Date: 2011-03-31 10:07 am (UTC)no subject
Date: 2011-03-31 10:07 am (UTC)Во-первых, взгляд со стороны, незамыленным глазом. Пользователю может прийти в голову удобное интерфейсное решение, до которого сам программист не додумался бы, он может обратить внимание на раздражающие мелочи. Во-вторых, сам программист может годами обходить грабли, не замечая их, потому, что он знает правильный сценарий работы, а пользователь с лёгкостью их обнаружит, введя неправильные данные или применив в непривычной ситуации. В-третьих, пинок со стороны пользователя может сподвигнуть на реализацию давно запланированного, но откладываемого. И реализация может оказаться не так трудной, как предполагалось. В-четвёртых, стимулом для работы является не только решение интересных задач и знакомство с новыми технологиями, но и осознание, что продукт полезен другим людям. Наконец, пользователи распространяют программу среди других пользователей, что помогает ей добраться до тех, кто может помочь и в самой разработке — нарисовать иконку, оформить сайт, написать документацию. Вот тебе, Слонёнок, и пятая выгода.
По отдельности все эти выгоды обычно очень малы, но вместе — уже ощутимо.
no subject
Date: 2011-03-31 10:08 am (UTC)no subject
Date: 2011-03-31 10:09 am (UTC)Ну или, в другой формулировке, истинное представление не о потрохах программы, а о предметной области. И да, слишком хорошее знание потрохов программы знать предметную область мешает. Конечно, настоящий мастер должен знать и то, и другое, но раз уж их дефицит, то стоит хотя бы разделить роли.
... Знал бы прикуп - сдох бы в Сочи ...
no subject
Date: 2011-03-31 10:13 am (UTC)Хотя, метод доходчивый: все тесты (и не только) сразу посыпятся и уже не отмажешься, что типа "работает же" .
no subject
Date: 2011-03-31 10:13 am (UTC)Вопрос, имхо, поставлен неправильно. Не будет живых пользователей - продукты не будут широко использовать. А "совершенное но узкое" - никому не нужно.
Сколько уже говорили про "десктопный Линукс" (уже не говоря о "десктопном Юниксе) - и что? Самое популярное из более чем менее "чистого и свободного" это в окрестностях меня Ubuntu, а самая модная и популярная система на основе Unix (по крайней мере так она говорит) - это iOS, которая совершенно несвободна в плане модели распространения и писания под нее кода (за все эти code signing надо убивать арматурой), зато в плане рюшечек и красивостей для хомячков - идеал де-факто.
no subject
Date: 2011-03-31 10:14 am (UTC)Однако это совсем не говорит о том, что проект с двумя пользователями не можэт нормально развиваться.
«Число работающих систем UNIX достигло уже 10, и в дальнейшем возрастёт ещё больше».
no subject
Date: 2011-03-31 10:15 am (UTC)Хммм... кажется с тех времен Ubuntu, и Firefox, и Gimp, и многое другое нарисовалось.
Это люди с которыми я вступаю во взаимоотношения взаимовыгодного обмена - я им даю свой код, они мне - свой. И мнение никаких других людей учитывать не надо.
Форкайте и не учитывайте :)
no subject
Date: 2011-03-31 10:15 am (UTC)no subject
Date: 2011-03-31 10:17 am (UTC)Хотя надо было искать альтернативу десктопной метафоре.
no subject
Date: 2011-03-31 10:17 am (UTC)Или им самим интереснее оптимизировать какой-нибудь memcpy(), а не продумать логику интерфейсы и прочюю архитектуру всего проекта.
Или у них самих потребности немножко странные, примерно как потребности владельца мейнфрейма будут далеки от потребностей 16ядерного десктопа или 3-ядерного несимметричного КПК с маленьким экраном. Или они сами не отрываются от розетки дольше чем на час и проблема экономии батарей им непонятна.
Насколько я понимаю, сейчас считается, что для разработки требуется ультрасовременный комп, на котором всё летает, так что, например, проблемы оптимизации по скорости многие разработчики просто не чувствуют или уверены, что если у них сейчас 6ггц процессор и 32гб оперативки, то к моменту окончания разработки такие мощности будут в каждом сотовом телефоне.
Плюс, опять же, сильносвязность и слабая документированность кода.
(документация - это не комментарии к каждой строчке типа "перевод с си на английский", а описание видения программистом задачи и стратегии ее решания)
no subject
Date: 2011-03-31 10:18 am (UTC)Да и с инструментами как-то не очень задалось. Я вон ниже пишу, что за политику code signing от Apple я убил бы, но по своим задачам тестировщика мне намного удобннее работать с XCode и эмулятором iPhone, чем с эмулятором Android и Eclipse. Eclipse - это "без бутылки не разберешься", скорость работы не вдохновляет (хотя сборка под XCode дело небыстрое), но эмулятор Андроида 3.0 это такой эпический капец по глюкавости и тормознутости, что даже эмуляторы Windows Mobile на его фоне выглядят прилично.
Если это делают разработчики для разработчиков - то почему так хреново? Почему они делают это так, что хочется сыпать проклятиями работающему в разработке же?
no subject
Date: 2011-03-31 10:19 am (UTC)no subject
Date: 2011-03-31 10:20 am (UTC)no subject
Date: 2011-03-31 10:22 am (UTC)Разве что у Mozilla, но и то это ну уж очень суровый opt-in (по сравнению с report usage, который часто предлагают).
no subject
Date: 2011-03-31 10:25 am (UTC)no subject
Date: 2011-03-31 10:26 am (UTC)Тут не голосование нужно, а аргументированная агитация. А для того, чтобы агитация воспринималась как аргументированная, нужно, чтобы тот, кто агитирует, и разработчик, по крайней мере на одном языке говорили.
no subject
Date: 2011-03-31 10:26 am (UTC)