Одно из немногих эссе / книг, которые повлияли на мою жизнь как человека и инженера-программиста, - Собор и базар Эрика С. Раймонда.

Я изучаю интересные концепции, в основном наблюдая, спустя 7+ лет, и уроки, извлеченные из этой жемчужины книги, все еще находят отклик. Я поделюсь ими здесь в сжатом формате, взятом из этой статьи о книге в Википедии.

На первый взгляд книга представляет собой эссе, в котором сравниваются две модели разработки открытого программного обеспечения: модели Cathedral и Bazaar.

  • Модель Cathedral, которая по сути представляет собой модель, в которой исходный код для проектов с открытым исходным кодом предоставляется в каждом выпуске версии, но код, написанный или управляемый между последовательными выпусками, хранится в секрете и доступен только разработчикам. продукта, элитная группа. Примером этого является проект GCC.
  • Модель Bazaar, в которой продукт и все остальное разрабатываются через Интернет и на виду у публики. Линус Торвальдс более или менее первым применил этот метод в проекте ядра Linux.

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

Итак, вот 10 самых интересных мыслей «для меня». Википедия [в основном участники] были достаточно любезны, чтобы предоставить 19 из них, из которых я не буду использовать 9, потому что я собираюсь охотиться дождевые черви для моей рыбы после этой статьи.

  1. Каждая хорошая работа над программным обеспечением начинается с того, что у разработчика есть личный зуд. [В чем ваш личный зуд?]
  2. Хорошие программисты знают, что писать. Великие знают, что переписывать (и использовать повторно). [Olatokunbo Fagbamigbe 😃 см.]
  3. Планируйте выбросить одну [версию]; ты все равно будешь. [Зайнаб Айелесо, мы ведь никогда их не выбрасываем, не так ли? нет, мы просто оставим их в репозиториях bitbucket и посмеемся над кодом позже 😏]
  4. Когда вы теряете интерес к программе, ваша последняя обязанность - передать ее компетентному преемнику. [Итак, ребята, Джубрил Эду участвует в большинстве моих побочных проектов]
  5. Освободить рано. Выпускайте часто . И слушайте своих клиентов.
  6. Следующее, что лучше всего иметь хорошие идеи, - это узнавать хорошие идеи от ваших пользователей. Иногда лучше последнее. [Вот где это не хватает вашим стартапам MCM. Вам нужно спросить своих пользователей, чего они хотят, а затем построить из этого дерьмо.]
  7. Совершенство (в дизайне) достигается не тогда, когда больше нечего добавить, а когда больше нечего убирать. (Приписывается Антуану де Сент-Экзюпери)
  8. Безопасность системы безопасности зависит от ее секрета. Остерегайтесь псевдосекретов. [* боковые глаза, косы *]
  9. Чтобы решить интересную задачу, начните с поиска интересной для вас проблемы. [Джубрил Эду]
  10. Часто самые поразительные и новаторские решения приходят из осознания того, что ваше представление о проблеме неверно. [Всегда делайте пару шагов назад и задавайте себе вопросы, даже если вам не нравятся ответы]

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

Я не понимал всего, что читал тогда, но в конце концов оно того стоило. Думаю, однажды я напишу книгу о своих размышлениях о разработке программного обеспечения, это либо взорвется, либо нет.

У книги рейтинг 4,6 из 5, потому что нет ничего идеального, даже совершенство само по себе не идеально, и ничего не существует даже в вакууме.

Вы можете прочитать эссе здесь и здесь и здесь.

Заказать книгу можно здесь.