Безусловно, главным антигероем этой недели стал Марко Армент, предприниматель, разработчик и создатель сервиса Instapaper, который опубликовал статью «Apple утратила свою функциональную возвышенность»1. Через несколько дней после публикации, наделавшей немало шума в западной технологической прессе, Марко принёс извинения за некоторые формулировки, которые были использованы недобросовестными журналистами для нового витка предсказаний неминуемой гибели компании из Купертино.

Тем не менее, я хотел бы напомнить нашим читателям о том, что пользователи всегда были недовольны программными продуктами Apple, независимо от того, был на тот момент у руля компании Стив Джобс или нет. Это хорошо подтверждает и один из бывших разработчиков OS X, который поведал очень интересные подробности о том, как в Купертино «ковались» новые версии операционных систем.

Я бы сказал, что самое главное изменение в методологии разработки OS X произошло после ухода Бертрана Серле на пенсию.

При Бертране мы работали над гигантскими, монолитными релизам, когда каждая группа разработчиков просто сваливала в кучу весь готовый материал, и всё это направлялось для внутреннего тестирования в виде ночных сборок. В частности, если мы говорим о Snow Leopard, я помню три десятка релизов подряд, где Xcode был полностью непригоден к использованию из-за проблем со «сборщиком мусора» Objective-C. Постоянно возникали какие-то случайные проблемы, которых вы никак не могли ожидать. А когда мы сообщали о них, фиксы появлялись только неделю спустя.

Всё это приводило к тому, что крупные версии OS X выходили с большим опозданием и кучей ошибок, которые приходилось патчить по мере возможностей.

Крейг Федериги принял решение радикально сменить подход и ускорить разработку. Сначала мы в течение двух недель работали над новыми возможностями, а следующую неделю посвящали исправлению ошибок. После 10, 12 или 16 подобных циклов мы считали, что система готова и выпускали её.

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

Я работал в Apple только до выхода Lion (первого релиза Крейга), поэтому не знаю, что изменилось с тех пор. Но я постоянно пользуюсь OS X и, честно говоря, не заметил больших различий по сравнению с предыдущими версиями системы.

Что точно изменилось, так это частота релизов. Tiger и Leopard взрослели в течение двух лет, получая все необходимые патчи, в то же самое время они страдали от устаревших утилит Unix, неудачных билдов Safari, фреймворков вроде QuickTime, графических драйверов и прочего.

Они выглядели стабильными просто потому, что были старыми, как Debian. Между тем рабочие версии Leopard и Snow Leopard, над которыми я провёл большую часть времени в Apple, были абсолютно ужасны и непригодны к использованию. Каждая из них после релиза практически сразу же получала столь необходимое обновление, исправляющее самые явные косяки.

Просто они вам кажутся более стабильными, ведь вы дольше их использовали, чем современные версии OS X.

А ещё раньше трава была зеленее, вода — мокрее. За сим обсуждение «нашумевшей» статьи Марко Армента можно считать закрытым.

  1. Перевод этой статьи можно найти, например, в личном блоге Алекса Пацая.

Читайте также: