V:
|
Привет
|
A:
|
Привет, что ты хотел бы узнать о Dolphin?
|
V:
|
Прежде всего, спасибо за такой превосходный продукт. Я думаю, у него есть много шансов стать популярным среди русскоязычных разработчиков.
|
A:
|
Это хорошо.
|
V:
|
Несколько общих вопросов о Dolphin. Весь Object Arts это ты и Блэр (Blair McGlashan)?
|
A:
|
Да. Изначально Dolphin был разработан командой из пяти разработчиков в моей предыдущей компании Intuitive Systems.
Потом мы покинули эту компанию и основали Object Arts, после чего команда сократилась до меня и Блэра.
|
V:
|
Dolphin это ваш единственный продукт? Вы еще занимаетесь какими-нибудь проектами?
|
A:
|
Dolphin наш главный проект. Временами мы выполняем допонительную консультационную работу, которая заключает в себе использование Dolphin.
Например, существует пакет бизнес-правил, который использует Dolphin в качестве IDE и мы поддерживает эту систему.
Мы все время рассматриваем возможности создания других продуктов на основе Dolphin, но еще ничего не было сделано в этом направлении.
|
V:
|
Как выглядит ваш обычный рабочий день: 1. Задолго до выпуска очередной версии, 2. Перед самым выпуском, 3. Сразу после выпуска?
|
A:
|
Хм... Ну, мы оба обычно начинаем работу в 9:00 и заканчиваем по-разному в зависимости от внешних (семейных) обязательств.
Я полагаю, мы тратим час-два в день на переписку и поддержку, и остальное время уходит на программирование и исправление ошибок.
Обычно я заканчиваю около 18:00. Перед выпуском мы имеем склонны работать допоздна, впрочем, как и после релиза
(так как в новом релизе проблемы неизбежны). Однако, мне нравится брать выходной довольно быстро после релиза, если получается.
|
V:
|
Сколько времени ты тратишь на парное программирование с Блэром?
|
A:
|
В отличие от XP, мы обычно не программируем в паре пока не появится какая-либо проблема,
в которой мы можем друг другу помочь.
Тем не менее, мы постоянно обмениваемся идеями.
|
V:
|
Как-то ты сказал, что продажи Dolphin-а удвоились в 2001-ом году относительно 2000-ого.
Сохранился ли рост в 2002-ом?
|
A:
|
Мне кажется, я не говорил такого. На самом деле в 2000-ом и 2001-ом продажи увеличились на 40% относительно предыдущих лет.
В 2002-ом уровень продаж вырос на 10% относительно 2001-ого.
|
V:
|
Есть ли у вас зарегистрированные пользователи из стран СНГ?
|
A:
|
В данный момент я не вижу таких в базе данных по продажам, но я уверен,
что должно быть несколько, так как мы получали письма от людей из домена .ru.
Мы имеем несколько продаж в восточно-европейских странах, например, в Словении.
|
V:
|
Хорошо, теперь давай перейдем непосредственно к Dolphin-у.
|
A:
|
ОК.
|
V:
|
Относительно долгосрочных планов... Собираетесь ли вы поддержать другие операционные системы?
|
A:
|
Нет. Нашей целью было стать "лучшими в семействе" средств разработки под Windows.
Если мы начнем создавать портабельные системы, мы слишком распылим свои усилия
и прийдем к конкуренции с другими производителями Smalltalk, такими как VisualWorks.
Я до этого работал над портабельными средствами разработки и знаю какой объем усилий требуется
чтобы сделать что-то, что работает идентично на разных платформах.
Для меня лучше быть преуспеть в том что мы делаем в одной нише,
чем создать некоторый наибольший общий делитель для многих платформ.
|
V:
|
Звучит разумно.
|
A:
|
В конце концов, по крайней мере в данный момент, мы должны суметь извечь прибыль из Windows платформы.
Если мы не сможем это сделать, я не думаю, что поддержка Linux или Mac сильно нам поможет.
|
V:
|
Понятно, следующий вопрос... Как насчет создания динамического компилятора?
|
A:
|
Сейчас у нас нет планов по созданию JIT-компилятора. Мы знаем, что существует множество других вещей,
которые мы можем проделать с интерпретатором Dolphin-а (в основном улучшения в сборщике мусора и обработки блоков),
которые могут ускорить выполнение, вероятно, процентов на 40.
На самом деле Dolphin 6 будет содержать улучшения для блоков (и может быть также для GC, я не уверен).
|
A:
|
Есть несколько областей, где более медленный Dolphin может вызвать проблемы.
Однако, в целом мы находим, что Look & Feel продукта на самом деле намного быстрее,
чем некоторые JIT системы, наподобие VisualWorks.
Частично из-за использования native widgets и также частично из-за очень быстрого механизма внешних вызовов.
|
A:
|
Хотя Dolphin выглядит медленным в микро-бенчмарках,
когда дело доходит до реальных приложений, это перестает быть проблемой.
|
A:
|
Более вероятно, что мы бы захотели использовать чужой JIT-компилятор, чем писать свой собственный с нуля.
Здесь я говорю о возможном будущем использовании .NET и Microsoft Common Language Runtime.
|
V:
|
Я абсолютно с тобой согласен насчет отзывчивости пользовательского интерфейса Dolphin-a.
Правда многие программисты судят языки по целочисленным бенчмаркам...
|
V:
|
Что если какой-нибудь сторонний разработчик напишет компилятор для Dolphin-а,
реализуете ли вы необходимы модификации в виртуальной машине для полноценной интеграции?
|
A:
|
Я предполагаю, что невозможно написать хороший JIT-компилятор без переписывания всей VM.
Наиболее вероятной возможностью было бы, если бы кто-нибудь создал альтернативную VM,
которая работала бы с существующим набором байт-код инструкций.
|
V:
|
ОК, насчет блочных замыканий (block closures)...
|
V:
|
Насколько изменилась виртуальная машина, есть ли улучшения в скорости?
|
A:
|
Новые "полные" блочные замыкания в Dolphin 6 вызвали достаточно большие изменения в VM.
Одно из серьезных преимуществ новых блочных замыканий, является то, что блоки могут быть использованы в большем
числе случаев, чем раньше, без необходимости держать огромные цепочки объектов.
Прежде мы должны были быть внимательными при использовании блоков в некоторых ситуациях во View Composer
в случае, когда они держали большии цепочки живых объектов внутри View. В D6 это уже не проблема.
|
A:
|
Блэр говорит мне, что производительность посылки сообщения улучшена на 35% в D6.
Также, целочисленный тест был на 27% быстрее, но это плохо написанный тест,
потому что он записывает значение во внешнюю переменную блока.
Среднее замедление относительно VisualWorks 7 упало с 3.94 до 3.16.
|
V:
|
Отлично...
|
V:
|
Существуют планы мигрировать к direct-pointer architecture/generational gc?
|
A:
|
Как я уже сказал, да, возможно мы доработаем сборщик мусора и это может включать использование прямых указателей.
Мы еще не имеем жестких планов когда это может быть сделано.
|
V:
|
Хорошо, давай уже завершим с низкоуровневыми вещами...
|