Продолжаем разговор с Всеволодом Леоновым, начатый нами в первой части нашего интервью. Во второй, сегодняшней части, мы поговорим о стереотипах, связанных с Delphi, узнаем, что есть плохого и хорошего в ближайшем конкуренте — Visual Studio и Microsoft вообще. Обсудим, в чем будущее Delphi, походу пройдемся по современной моде, которая порой излишне навязывает внедрение замысловатых шаблонов проектирования и необоснованно-инновационных (в ущерб простое и ясности кода) фреймворков.
Короче говоря, современный Delphi X3 предлагает немного по-другому посмотреть на уже привычную многим стратегию софт-разработки. И хотя сейчас для многих Delphi — это не более чем приятные воспоминания из молодости, — наш сегодняшний гость постарается доказать, что эта технология не только по-прежнему «в седле», но, оставаясь по своему самобытной, имеет все шансы на прекрасное будущее.
под катом я снова передаю слово Всеволоду, а нашим читателям предлагаю активнее делиться мыслями о прочитанном в комментариях.
Скажу прямо, имея некоторый опыт работы в США в разных софтверных фирмах, часто сталкивался у своих тамошних коллег либо вообще с незнанием «что такое Delphi», либо с ярым отстаиванием того, что понятия «коммерческая разработка» и Delphi — суть несовместимы.
Исключительно из своего личного опыта у меня сложилось мнение, что Delphi — это среда разработки (и язык программирования) по большому счету популярная лишь в странах Восточной Европы (в силу нашей образовательной специфики и акцента на Паскаль). Что вы можете сказать на этот счет? Что можно сказать о позициях Delphi на рынках США и Западной Европы?
Абсолютно правильно заметили! В начале 2000-х я работал тренером по Delphi (а также C++, включая MS Visual Studio, MS SQL Server и ряд близких дисциплин), у меня была женщина, которая приехала из США, где работала программистом. Она очень хорошо, даже профессионально знала Visual Basic, но здесь у неё были сложности с поиском работы. Не стоит скрывать, что и сейчас у нас Visual Basic считается чем-то «порочащим честь и достоинство программиста». Конечно, современный Visual Basic.NET по возможностям соизмерим с C#, я лишь показал это как иллюстрацию «культурных различий», простирающихся даже в область ИТ-технологий. Например, исторически C++Builder в России тоже «не котируется», хотя в Японии по своей популярности он близок, если не превосходит Delphi.
Небольшой исторический экскурс по поводу стран Восточной Европы. Система образования бывшего СССР была очень сильна во многих аспектах, но не по части прикладного программирования. В начале 90-х как получить доступ к компьютеру, так и научиться что-то делать в современных средах разработки могли лишь те, кто имел определенную специальность. Целые факультеты «пролетали мимо» фундаментальных курсов по программированию. И наличие Turbo Pascal с низким порогом вхождения, а затем среды Delphi, позволяющей заняться самообразованием в хорошем смысле этого слова, смогли насытить ИТ-отрасль достаточно грамотными разработчиками, а также повысить общенациональный инженерный уровень создания прикладного ПО. Таким образом, для стран бывшего соцлагеря связка Pascal/Delphi резко выдернула экономику из ИТ-небытия за счет очень простого языка программирования и среды визуальной разработки на основе готовых компонентов. Но Delphi всё-таки язык объектно-ориентированный язык программирования (а не object-based), поэтому дальше прикладной ИТ-профессионал не был ничем ограничен, мог свободно пользоваться основными парадигмами ООП, писать сложный объектный код с развитой архитектурой классов, т. е. развиваться дальше.
В первой части интервью вы затронули вопрос взаимоотношений с Microsoft, можно на этом остановиться чуть поподробнее? Вот, например, Skype написан на Delphi, но принадлежит MS, теперь я читаю, что MS набирает Delphi-программистов к себе на работу — очень интересно, как могут вообще сосуществовать в таких замысловатых взаимных хитросплетениях такие, по сути, антагонисты и компании прямые-конкуренты, как вы и MS?
Ответ на вопрос хочу начать с метафоры. Microsoft и Embarcadero (можно даже сказать, Microsoft и Delphi) по стратегическим взаимоотношениям можно сравнить с Россией и Финляндией. Экономические ресурсы несопоставимы, но бизнес-отношения тесно переплетаются. Еще раз хочется напомнить, что Delphi — это, прежде всего, разработка под ОС Windows, причем один и тот же проект будет работать и под Windows 2000, и под Windows 7. Также как и новые уникальные возможности создания интерфейсов в стиле Windows 8. А вот в хоккее Россия и Финляндия — непримиримые соперники, причем с переменным успехом. В области средств разработки под Windows Delphi спокойно может противостоять и выигрывать у Visual Studio, созданной, к слову, на той же идеологической базе (да-да, я имею в виду Андерса Хейлсберга). Здесь у нас единые правила игры, богатый исторический опыт и ряд конкурентных преимуществ.
Есть большой класс систем, кодовая база которых насчитывает более миллиона строк на Delphi, и нет аргументов в пользу перехода на C#/Visual Basic.NET, равно как и на Java или C++. Давайте наберемся терпения и посмотрим, чем закончится очередной чемпионат мира по прикладной разработке, особенно в контексте роста популярности Mac OS, iOS и Android. Это будет звучать несколько упрощенно, но мир ИТ-технологий не может сущестовать по схеме, когда один мега-вендор пытается сесть на все стулья. Потребитель не обязан, выбрав какой-либо бренд в качестве, например, операционной системы, пользоваться браузером только этого же вендора. Или только его платформой СУБД. Более того, такая жёсткая фиксация на одном производителе делает ИТ-рынок слишком монополизированным, а это сразу же начинает влиять на качество продуктов. Я полагаю, Microsoft благосклонно относится к Delphi как средству разработки под Windows.
Тому есть ряд доказательств. Мы, Embarcadero, проводили в России конференцию «Кроссплатформа 2012» (www.cpconf.ru). Как Вы думаете, кто из крупных вендоров первым откликнулся на наше предложение выступить с презентациями? Именно Microsoft! Алексей Шуленин сделал доклад по новым возможностям MS SQL Server 2012, а Дмитрий Сошников рассказал о разработке под Windows Phone. Более того, мы с Дмитрием сделали совместный доклад, где показали разработку тонкого клиента под Windows Phone на Visual Studio, который затем взаимодействовал с сервером приложений, написанном на Delphi. Конечно, как Вы правильно сказали, разобраться в хитросплетениях бывает, подчас, сложно. Но для этого и существуют евангелисты, подавляющая часть которых не стремится рассорить сообщество программистов, но ищут направления взаимовыгодного сотрудничества.
Насколько я понял вашу маркетинговую политику, сейчас вы провозгласили отказ от поддержки независимых разработчиков и малых групп — по большому счету теперь вас интересует только enterprise-сектор. Отсутствие у вас бесплатной версии (как правило, ориентированной именно для этой ниши) лишний раз подчеркивает эту ориентацию. Так ли это?
Здесь я вынужден Вас немного поправить. Мы не провозглашали отказ от поддержки небольших групп и независимых разработчиков.
Была сделана попытка «подловить» меня на слове в рамках одного из моих вебинаров. Я лишь заявил, что компания Embarcadero взяла курс не на эксперименты над своими пользователям, типа внедрения замысловатых шаблонов проектирования, необоснованно-инновационных (в ущерб простое и ясности кода) фреймворков замысловатых шаблонов проектирования, необоснованно-инновационных (в ущерб простое и ясности кода) фреймворков и следованию некой ИТ-моде. Средство разработки для нас не является средством шантажа, неким кнутом, загоняющим разработчиков в предопределенных платформой рамки. Мы совершенно ясно и чётко говорим о том, что стремимся выполнять пожелания максимально большему числу наших пользователей, которые в основной массе — корпоративные разработчики. Зачем, скажите, им ненатуральное разделение представления и кода?
Нет, я не говорю, что это — плохо. Вообще, нет понятия «плохо», но есть — целесообразно. В подавляющем большинстве противоестественное дробление, а потом связывание, но уже в неочевидной, слабоконтролируемой форме вносит больше путаницы, а не ясности в код. Эту моду бойко подхватывают всякие эксперты-консультанты, которые просто рады обвинить прикладного программиста в недалекости, а затем выгодно продать свои уникальные знания. В подавляющем большинстве команды корпоративных разработчиков не имеют отдельно взятой роли «дизайнер интерфейсов», который живет в полной изоляции от среды разработки. То же самое касается и другого модного течения — методология разработки. Сначала прививают комплекс неполноценности — «вы делаете всё не так», а потом засыпают новомодными терминами — test driven development, model driven development, agile и т. д. Embarcadero не пытается под очередным идеологическим «соусом» скормить никзокалорийный программный продукт. Мы же взяли старый-добрый продукт Delphi и, не будучи связанными необходимостью продвигать какую-то конкретную платформу, стали развиваться по наиболее натуральному пути — расширению количества поддерживаемых ОС на классической основе. Мы не учим наших пользователей, но предоставляем им инструмент.
Но вернёмся к изначальной постановке — отсутствия поддержки индивидуальных разработчиков и малых групп. Такая формулировка — часть чёрного пиара, маркетинговой войны и, часто умышленного, введения в заблуждение пользователей. Есть некая необсуждаемая цена ИТ-продукта. Для начинающих она может оказаться недостаточно привлекательной. Но мы изучили реальные потребности конкретных, а не вымышленных программистов, и предлагаем Delphi в редакции Starter, которую можно приобрести от $150 до $200. Эта цена уже значительно ниже по сравнению со стоимостью современного смартфона. Так называемая цена вашего «хобби», если программирование не приносит вам прибыли. И опять же, анонимность интернета провоцирует на всякие слишком эмоциональные высказывания, абстрактную борьбу за справедливость. И уж если Вы — фанат программирования, эксперт в использовании Delphi, то мы рады отметить Вас статусом MVP (most valuable professionals). Вы бесплатно получаете коммерческую лицензию на Delphi в максимальной редакции Architect.
В заключении этого достаточно длинного и пространного ответа хочется сказать, что нужно отделять «поддержку разработчиков» от «продвижения платформы через разработиков». Вот мы действительно поддерживаем наших пользователей за счет поддержки преемственности кода и компонентной базы. Мы делаем миграцию максимально простой и безполезненной. А с точки зрения поставки продуктов, приобретя Delphi XE3, программист бесплатно получает предыдущие версии XE2, XE, 2010, 2009, 2007 и Delphi 7. Можн спокойно «тащить» старый проект на Delphi 7, потихоньку переделывая его на Delphi XE3.
А можно рассказать про российскую «кадровую составляющую» Delphi?
Не секрет, что один из главных идеологов и архитекторов новой кроссплатформенной библиотеки FireMonkey является Евгений Крюков, который живёт и работает в Улан-Уде. Также унаследованное от Borland подразделение в Санкт-Петербурге славно трудится на поприще развития компонентной базы FireMonkey. Более того, в последние годы было проведено расширения питерской команды в прямом смысле этого слова. Мы даже шутим, что Delphi уже наполовину отечественный продукт, что приятно. Злые языки даже говорят, что Embarcadero переносит разработку в Россию для удешевления процесса производства.
Опять же, про Microsoft (никак не можем о них забыть). На одной из конференций AgileDays мне довелось слушать доклад одного из ведущих разработчиков данной корпорации. Он был посвящен их методологии разработки (я бы не сказал, что это был именно Agile), применительно к Microsoft Office. Было представлен конкретно процесс разработки через призму командной работы, многоверсионности, чудовищной ответственности, отсутствия права на серьезную ошибку и правильного планирования входа обновлений. Я не могу ссылаться на кулуарные беседы с этим милым и интересным человеком, но можно легко догадаться, что разработка данного продукта если не контролируется, то активно ведётся именно в России.
Я слышал, что вы постоянно расширяетесь и растёте, хотелось бы каких-то деталей именно про вашу российскую команду. Если не секрет: где и что находится у вас в России, сколько работает человек и чем они занимаются? Можно немного рассказать про себя?
Совершенно открыто могу сказать лишь о московском офисе. Сейчас у нас шесть человек, чего нам вполне хватает. Мы не стремимся развить имиджевую составляющую продуктов, поэтому у нас одна из самых низких долей маркетинга в отрасли. У нас только один маркетолог, на котором висит столько ответственности, что подчас и целому отделу не разгрести. Остальные пять человек — специалисты с профильным ИТ-образованием, трое из которых закончили ВМиК МГУ им. М. В. Ломоносова. На любой позиции — от менеджера по продуктам до специалиста по работе с партнёрами — у нас только те люди, которые сами программировали. Мы вообще работаем как группа спецназ — формально имеем некую должность, но фактически можем прикрыть друг-другу спину в любой ситуации. Вы никогда не услышите — «ой, это не мой продукт». Или «извините, это не в сфере моей компетенции». Стрелять, бегать, перевязывать раны и посылать шифрограммы у нас умеют все. У нас нет дублирования обязанностей, у нас перекрывающиеся компетенции. И Вы знаете из истории случаи, когда небольшая группа супер-профессионалов решала задачи, не посильные целой армии.
Без лишней скромности могу сказать, что владею несколькими специальностями. Я начинал системным администратором на вычислительном центре, параллельно занимаясь прикладным научным программированием. Потом преподавал (включая достаточно жесткий режим работы) в крупнейшем российском образовательном центре «Специалист» (www.specialist.ru) — иногда по 12 академических часов в день. Определенное время работал «чистым кодером» — над задачами, которые мне в виде ТЗ спускали свыше. Это не помешало защитить диссертацию в области «применение ИИ для построения САПР». Был небольшой шаг в сторону — некоторое время занимался прямыми инвестициями.
Теперь «евангелизм» для меня — синергия знаний и опыта, полученных в прошлом. Для меня нет «белых пятен» в ИТ-бизнесе, я знаю и специфику образовательной сферы (от написания учебников и тренингов для тренеров, до психологических аспектов преподавания), я знаю, что чувствует «простой кодер», я сам работал «эникейищком», я, наконец, знаю инвестиционную политику и оценку перспектив с точки зрения бизнеса. Примерно то же самое могу сказать и о своих коллегах, которые являются настоящими многоопытными практиками, а не голосовыми сервисами по озвучиванию чужих презентаций в PowerPoint.
Заключительный вопрос. Уверен, что нас читает огромное количество почитателей Microsoft Visual Studio, которые сейчас снисходительно улыбаются после фраз «о блестящем будущем Delphi»… Что вы можете им сказать, в чем ваша главная фишка? Что вы можете предложить уникального? Чем отличаетесь в лучшую сторону от Visual Studio? Какие у вас шансы в конкурентной борьбе с Microsoft за будущее? Я понимаю, что вкусы у всех разные, но каковы факты?
Снисходительно улыбаться я бы не посоветовал никому. Я люблю уподоблять ИТ-бизнес в целом и средства разработки в их конкурентной борьбе спортивным состязаниям. И вели мы в счёте 3:0, но пошел дождь, противник выпустил на поле молодую, но никому пока не известную звезду. И за 15 минут до конца матча — 3:4. Никто даже из именитых и прославленных тренеров не улыбается снисходительно до финального свистка, ибо знают цену времени. Так же и я говорю — подождите, посмотрим, как дальше пойдет дело. Тем более, что речь не идет об одном матче, мы говорим о марафоне, когда нам всем ещё бежать и бежать. Нельзя, обнаружив себя первым, встать, оглянуться назад и улыбнуться.
Да, я имею в виду некоторых особо расслабленных пользователей Visual Studio. Я пока вообще не вижу ничего из того, что заставило бы меня волноваться за судьбу Dephi. Строго говоря, сама платформа.NET, хоть и имитировала Java, не достигла тех целей, о которых было громогласно заявлено в качестве «альтернативы нативному коду в целом и Delphi в частности». Кто сомневается, проведите опрос среди широких масс программистов.NET — в чем основное преимщуетсво этой платформы? Абсолютное большинство скажет «сборщик мусора» и «красивый язык C#». Но это совсем не то, к чему стремились идеологи и создатели этой платофрмы. Что мы имеем в итоге? Тяжелый гигабайтный фреймворк? Громоздкую IDE, когда разрушившийся от частых сбоев среды проект нельзя собрать руками? Завышенные аппаратные требования, когда на машине, где Delphi даже последней версии буквально летает, Visual Studio стартует со скрипом? Частая смена ферймворков? Вы можете упрекнуть меня в предвзятости, но я очень хорошо знаю Visual Studio и C#, постоянно отслеживаю новости по MSDN, и пока не видел явно веских оснований сомневаться в Delphi. Более того, я наблюдаю творческий путь разработчиков, использующих Visual Studio, и знаю их проблемы.
Сначала это WinForms, потом WPF, затем Silverlight. Потом возвращение к C++ и не до конца понятная стратегия в отношении HTML5. Разработчики — прикладные, с 20 летним стажем и сотнями тысяч строчек за спиной — реально в недоумении. А те, кто остался верен Delphi, мигрировав на Delphi поколения XE, спокойно смотрят в будущее. Здесь и есть «главная фишка», она же «козырной туз». Разница в бизнес-моделях. Для нас главное — средства разработки, поэтому желания разработчиков для нас — закон. Разработчик не хочет, чтобы в машине появилась лишняя педаль, руль превратился в джойстик, а заходить в салон теперь нужно через багажник, но зато теперь можно любоваться звёздами через прозрачную крышу. Пусть это будет старая-добрая Delphi с новой кроссплатформенной библиотекой FireMonkey (генетически близкой к VCL), как есть старый-добрый SQL и ООП в «нативном» коде, не отягощенное «тяжёлыми» фреймворками. Пусть классический код на Delphi будет работать быстро и эффективно на самом широком спектре устройств, не взирая на то, под управлением какой операционной системы они работают.
Но я не хочу казаться классическим евангелистом, забором огораживающим свою территорию и призывающим вооружаться против врагов. Visual Studio — очень знаковый продукт, ключевым образом сформировавших современный технологический ландшафт в области средств разработки. Там есть совершенно уникальные вещи, которые, к сожалению, мы пока воспроизвести не можем. LINQ, Entity Framework, очень хорошо продуманный и изящный язык C# (по сравнению с C++), языковая поддержка параллелизма. Великолепные предметно-ориентированные фреймворки. Поражают темпы развития Visual Studio, иногда кажется, что перед корпорацией Microsoft нет ничего невозможного. Но опять же, уже в порядке позитивной критики, есть отставание от идеологического мейнстрима. Вышла новая, замечательная Windows 8, не похожая ни на что другое. Покажите, расскажите, как нам «жить дальше» и писать новые приложения? Или нет никакой разницы? Тогда давайте стилизовать существующие приложения или делать их с нуля, но по классическому принципу в «нативном» виде с поддержкой стиля Windows 8. Если вы заметили, я сам фанат Windows 8, но вижу разработку под неё через призму соблюдения интересов прикладных разработчиков с годами наработанным багажом исходных кодов и методов программирования в контектсе инструментальных средств.
Еще раз, я ни в кой-мере не пытаюсь «перевербовать» пользователей Visual Studio (хотя наша компания даже давала скидку в 20% на покупку Delphi с поддержкой Mac OS для пользователей Visual Studio). Я сам учил людей C# и курировал дипломное проектирование на Visual Studio, лишь бы студенты хотели программировать. Мне нравится следить за развитием этой мощной, универсальной и выдающейся среды разработки. Я просто за то, чтобы имиджевая составляющая ИТ-технологий стремилась к нулю, а трезвая оценка возможностей — к бесконечности. Утверждение, что «Delphi — умерла» ложно по факту ежегодного выхода новых релизов (2009, 2010, XE, XE2, XE3), а с Visual Studio мы будем соревноваться «по правилам», но уже в современном многополярном мире.
И этот матч ещё не закончен!
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.