И снова о Delphi…

Часть 2

По прошествии года с момента приобретения компанией Embarcadero Technologies подразделения CodeGear, отвечавшего за Delphi, C++Builder, JBuilder и Interbase, мы публикуем вторую часть интервью Дэвида Интерсимоне, вице-президента и главного евангелиста по связям с разработчиками компании Embarcadero Technologies. В беседе также участвовал Кирилл Раннев — глава представительства компании Embarcadero в России. Напомним, что в первой части интервью речь шла о новом решении All-Access, о планах развития Delphi на ближайшие годы и о проекте Weaver, посвященном технологии распознавания жестов.

КомпьютерПресс: Дэвид, вы говорили о нескольких параллельно выполняемых проектах, цель которых — дальнейшее развитие средств разработки приложений. Над какими еще проектами, помимо проекта Weaver, ведутся сейчас работы в вашей компании?

Дэвид Интерсимоне: Еще один проект, над которым мы сейчас работаем, называется DelphiX. Его цель — создание технологии так называемой кросс-компиляции. Принцип кросс-компиляции заключается в том, что можно разрабатывать и отлаживать приложение для платформы Windows, а затем, заменив опции проекта, перекомпилировать приложение для другой платформы (получив внутренний код для данной платформы) и даже осуществить удаленную отладку полученного таким образом исполняемого кода. Первыми целевыми платформами для технологии кросс-компиляции будут Linux и операционные системы для Macintosh, а сама технология будет доступна для Delphi и C++.

 

Рисунок

Дэвид Интерсимоне (справа) и Кирилл Раннев

Delphi Ex — это возможность использования технологии кросс-компиляции с полной поддержкой доступа к базам данных, создания многозвенных приложений, поддержки жестов, а также всего, что уже доступно пользователям Delphi и C++Builder.

КП: Означает ли это, что у вас уже есть компилятор Delphi для Mac OS?

Д.И.: Совершенно верно. И пару недель назад на одной из конференций мы демонстрировали приложение, созданное с помощью Delphi и запущенное на компьютере Macintosh.

У нас есть еще один проект, посвященный переработке компиляторов и выполняемый независимо от работ над VCL. Компиляторам Delphi и C++ сейчас 14 и 15 лет соответственно, и их архитектура, рассчитанная на быструю генерацию машинного кода, не претерпела за эти годы существенных изменений, хотя, конечно, мы совершенствовали наши компиляторы все эти годы и пока продолжаем их применять. Но сейчас мы приняли решение создать новые компиляторы с другой архитектурой — они будут состоять из независимой от платформы входной части (front-end), преобразующей код на языке программирования (Delphi или C++) и превращающей его во внутреннее представление в виде абстрактного синтаксического дерева, и внутренней части (back-end), которая осуществляет оптимизацию, создает высокооптимизированный машинный код для конкретной платформы и не зависит от исходного языка программирования. При этом мы по-прежнему будем добиваться высокой производительности компиляторов.

Иными словами, входная часть любого компилятора Delphi или C++ не будет зависеть от платформы и будет полностью поддерживать синтаксис соответствующего языка (в случае C++, как и ранее, будет поддерживаться соответствующий стандарт).

Переход к новой архитектуре компиляторов будет постепенным: так, в упомянутом ранее проекте Weaver мы используем прежние компиляторы, их же мы будем применять ближайшие два года в наших новых продуктах. Новую архитектуру компиляторов мы будем использовать в упомянутом выше проекте DelphiX, посвященном созданию технологии кросс-компиляции, а также при создании 64-разрядных компиляторов.

При создании комиляторов в новой архитектуре мы начнем с 32- и 64-разрядных версий Windows и операционных систем для Macintosh. Но затем мы сможем перейти к процессорам ARM, SPARC и вообще к любым процессорам, поддержка которых нужна клиентам. И пользователи Delphi, для какой бы платформы они ни создавали приложения, должны будут думать только о языке программирования. Всё остальное будет заботой команды, которая разрабатывает компиляторы, — они должны будут создать достаточное количество генераторов машинного кода для нужных процессоров и платформ. При появлении новых процессоров и операционных систем для них будут созданы и компиляторы.

Что касается поддержки новыми компиляторами разных языков программирования, то пока мы сосредоточены только на Delphi и C++, поскольку именно эти языки используются большинством наших клиентов. Но это не значит, что данная технология ограничена двумя языками. Мы можем добавить другие языки, а также много новой функциональности к языку Delphi.

Говоря о компиляторах, нельзя не упомянуть еще об одном проекте — Commodore (названном в честь популярной в начале 80-х годов в США игровой консоли, имевшей 64 Кбайт оперативной памяти). Цель этого проекта — создание 64-разрядных компиляторов на основе новой архитектуры, о которой шла речь ранее. У нас довольно много клиентов, которым нужны 64-разрядные вычисления и доступное для таких вычислений адресное пространство. Это особенно актуально для серверных приложений.

Еще один из выполняемых нами проектов носит название Chromium. Этот проект посвящен поддержке многоядерных и многопроцессорных архитектур, а также способам развертывания приложений. С новой архитектурой компиляторов мы можем осуществлять различные виды оптимизации, добавлять библиотеки времени выполнения, осуществлять дополнительную поддержку синтаксиса с тем, чтобы программисты могли иметь дело с многоядерной системой или многопроцессорной системой. Кроме того, в рамках проекта Chromium мы исследуем возможности развертывания приложений на рабочих станциях, на серверах под управлением различных платформ, в виртуальных средах (например, в виртуальных машинах VMware) или в «облаке», например в Microsoft Azure или с применением служб Amazon. В идеале разработчик должен будет просто соответствующим образом изменить опции проекта. Реально же приложение может быть собрано заново, возможно, с другими составными частями, поскольку в зависимости от среды развертывания в приложении могут быть другие механизмы доступа к данным или способы взаимодействия с другими приложениями.

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

КП: Когда планируется поддержка «облачных» вычислений в средствах разработки Embarcadero?

Д.И.: Это зависит от интересов наших клиентов. Сейчас подавляющее их большинство интересуется главным образом виртуализацией и способностью с ее помощью извлечь максимум из имеющихся компьютеров. Много лет назад, когда для обработки данных использовались мэйнфреймы, основным вопросом была степень загрузки мэйнфрейма — если она была ниже 80-85%, это означало, что вы теряете деньги. Но современные серверы, выпущенные в 1999-2001 годах и позже, относительно дешевы, компании приобретали их в больших количествах, и загружены они были в основном на 10-20%. Поэтому сегодня большая часть наших клиентов консолидирует серверы и использует VMware, Virtual PC или иной механизм, гипервизоры и другие технологии, серверы Citrix. Современные blade-серверы можно относительно дешево расширить, поэтому на такой сервер помещают несколько виртуальных машин и добиваются загрузки в 80-90% — такой же, как ранее у мэйнфреймов. Это выгодно с точки зрения снижения затрат — оборудование используется более эффективно. Именно это сейчас и интересует большинство клиентов.

Тем не менее клиенты уже исследуют возможности применения архитектуры вычислений в «облаке». Ряд компаний готов изменить свою инфраструктуру, поэтому они думают о совместимости приложений с «облачными» вычислениями и выбирают инфраструктуру, готовую к внедрению в «облако» от Amazon, Google или Microsoft. Другие клиенты, например крупные банки или правительственные структуры, которые заботятся о безопасности, никогда не позволят себе разместить свои данные в каком-то внешнем «облаке», как минимум в обозримом будущем. Именно поэтому Microsoft анонсировала инициативу Microsoft Azure, позволяющую клиенту осуществить вычисления в «облаке» внутри его локальной сети. Пока мы изучаем, что представляет собой Azure, как мы можем адаптировать наши среды разработки к созданию приложений для Microsoft Azure, поскольку наиболее вероятно, что для крупных клиентов первая фаза использования вычислений в «облаке» начнется внутри их собственной ИТ-инфраструктуры. Маленькие же компании, которые не хотят иметь головной боли с собственной инфраструктурой, уже пользуются или начнут использовать услуги внешних поставщиков подобных услуг — например в CodeGear для некоторых операций применялась подобная инфраструктура. Пока мы исследуем эти технологии, чтобы быть готовыми к моменту, когда к их внедрению станут готовы клиенты.

Для успешного распространения подобных технологий очень важно, какие стандарты и протоколы будут ими поддерживаться. Похоже, все идет к тому, что очень популярной будет архитектура протоколов REST, как в свое время стал популярным протокол SOAP, позволяющий предоставлять предприятию все необходимые веб-службы. Поддержка SOAP в наших средствах разработки существует давно, поддержка REST в Delphi также будет реализована.

КП: Как вы оцениваете нынешнее состояние бывшего сообщества Borland?

Д.И.: Сообщество разработчиков осталось очень сильным. У нас примерно 3 млн активных пользователей, есть инфраструктура, которую мы все это время продолжали поддерживать, включая поддержку имеющихся лицензий. У Embarcadero не было инфраструктуры, поддерживающей сообщество разработчиков, и мы объединили свою инфраструктуру и данные Embarcadero в сеть Embarcadero Developer Network. Теперь все материалы (видеозаписи, статьи и другие документы) доступны объединенному сообществу, и оно может иметь исчерпывающую информацию о наших технологиях. Так, статья о создании кода SQL будет доступна и сообществу пользователей Delphi, и пользователям RapidSQL. Сейчас мы пытаемся добиться того, чтобы разные члены сообщества могли получить информацию о том, как они могли бы работать вместе, — ведь в нынешнем сообществе, помимо разработчиков приложений, имеются архитекторы и разработчики баз данных, и эти обязанности (например, архитектора и разработчика) часто совмещает один человек. Администраторам же нужно сообщать о том, что происходит с реально работающей продуктивной системой, разработчикам и архитекторам. Чтобы содействовать коммуникациям, возникающим естественным путем, мы объединяем статьи, учебные материалы, информацию о событиях и мероприятиях.

Сейчас нередко обсуждается метод исследования, называемый археологией программного обеспечения (software archeology). Это метод изучения и понимания существующих систем с целью их совершенствования, и наиболее эффективен он в случае, если с системой совместно работают профессионалы в области разработки программного обеспечения и профессионалы в области баз данных. У нас есть возможность помочь и тем и другим — инструменты найдутся для всех.

КП: Каким вы нашли российское сообщество разработчиков?

Д.И.: Они требовательны, как и любое сообщество разработчиков на планете. Разработчики живут в сложных условиях, выполняя сложную работу в очень короткие сроки, с минимальным количеством денег и минимальным объемом помощи, применяя технологии, которые постоянно меняются, устаревают, заменяются новыми. Поэтому их всегда интересует, когда именно то или иное нововведение станет доступным, — ведь часто оказывается, что некоторые из них были нужны еще вчера. А еще их интересует, как понять комплексную архитектуру, каков правильный подход к построению систем.

КП: А что происходит с технологическими и торговыми партнерами? Как вы их привлекаете в сообщество?

Д.И.: Моя задача как ответственного за связи с разработчиками — быть уверенным в том, что наша экосистема, в том числе и продукты наших партнеров — независимых производителей, сопровождалась маркетинговыми и учебными материалами. Экосистема — это консультации, эксперты, которые могут помочь клиентам, информационное наполнение Embarcadero Developer Network. Сейчас у нас более тысячи технологических партнеров, произведено около 10 тыс. VCL-компонентов, большинство из которых обновлено до версии Delphi 2009 и поддержки Unicode. У нас есть консультанты и эксперты в области моделирования данных, администрирования баз данных, у нас по-прежнему хорошие отношения с Sun, IBM (поскольку мы поддерживаем СУБД DB2). Мы ISV-партнеры Microsoft, у нас есть доcтуп к технологиям Microsoft, поскольку нам нужно поддерживать клиентов этой компании. У нас хорощие отношения с Apple и поставщиками дистрибутивов Linux, с Sybase и Oracle.

Кирилл Раннев: С точки зрения продаж мы стараемся продолжать быть сильными и коммуникативными. У нас есть группа людей, называемых PartnerTech. Большая часть из них — внутренние инженеры по продажам и консультанты, а также менеджеры по продуктам, технические менеджеры, в том числе в компаниях-партнерах. В этой группе мы создаем раз в две недели веб-событие, на котором рассматривается специфическая проблема какого-либо клиента, поскольку у наших клиентов проблемы могут быть довольно сложными и иногда возникают необычные ситуации, которые сложно предусмотреть. И группа PartnerTech работает вместе над проблемой, и я оцениваю работу этой группы и ее коммуникативные возможности очень высоко.

Или, к примеру, возьмем Дмитрия Кузьменко из компании IBase. Его компания — сугубо коммерческая, но при этом он проводит много исследований, например специфическое тестирование производительности, исследования в области оптимизации резервного копирования, и производимые им материалы очень полезны и востребованы сообществом пользователей Interbase.

Д.И.: Замечательно, когда в сообществе есть такие партнеры, которые помогают нам поставлять подобную информацию. Иногда лучше, если она произведена независимой компанией, а не исходит непосредственно от нас.

Вообще очень здорово работать в компании, производящей инструменты для разработчиков программного обеспечения и баз данных, администраторов, дизайнеров. Мы — software tools company. Это очень простое утверждение.

К.Р.: Хочу сказать еще кое-что о нашей компании. Помните самое первое имя компании Borland? Она называлась Borland International. Но компания Embarcadero Technologies еще более интернациональна, чем компания Borland была в течение всего своего существования. Внимание к вопросам интернационализации в Embarcadero гораздо выше. Приведу один пример. После многих лет безответных просьб разработчиков о поддержке Unicode в Delphi решение этой проблемы было первым, что было сделано компанией Embarcadero после приобретения CodeGear. Эта проблема была в центре внимания всей группы, отвечающей за базы данных. Возможно, вы помните времена, когда все поля баз данных должны были иметь имена из восьми латинских букв, но сейчас разработчики и пользователи во всем мире требуют, чтобы разные объекты баз данных имели названия на национальных языках, и приоритет в решении этой задачи означает, что Embarcadero — действительно международная компания.

Д.И.: Продукты компании Embarcadero хорошо продавались в США, продукты подразделения CodeGear — в других странах. Когда компании объединились, мы получили целый мир. И, несмотря на кризис, мы строим будущее и стараемся помочь нашим клиентам получить преимущества от открывающихся возможностей. Сегодня многие компании используют разработку приложений и автоматизацию, чтобы делать с меньшими затратами как можно больше всего — обрабатывать больше информации, использовать меньше персонала, и это происходит в разных странах. А для успешной автоматизации как раз и нужны инструменты для разработчиков.

КП: Дэвид, Кирилл, большое спасибо вам за интересное интервью! Позвольте от имени нашего издания и наших читателей пожелать вашей компании успехов и на российском рынке, и в мире. А мы, в свою очередь, будем ждать от вашей компании новых продуктов и технологий.

 

Вопросы задавала Наталия Елманова

 

В начало В начало

КомпьютерПресс 8'2009


Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует