Новую версию средства разработки от Microsoft — Visual Studio 2010 — в России представлял один из ведущих технических специалист компании Брайан Харри. Он имеет почетный корпоративный титул Technical Fellow (“технический парень”) и вообще является признанной “легендой” в сообществе Windows-разработчиков. Ведь именно Брайан Харри был в числе создателей одного из первых средств поддержки групповой разработки Visual SourсeSafe, которое Microsoft приобрела в середине 1990-х и включила в свой первый Visual Studio 97. Вот уже почти 20 лет Брайан Харри специализируется именно в этом направлении, возглавляя в последние годы группу создателей Visual Studio Team Foundation Server (TFS). Во время его визита в Москву с этим авторитетным экспертом побеседовал обозреватель PC Week/RE Андрей Колесов.
PC Week: Когда Microsoft объявила о поддержке концепции управляемого кода на базе .NET Framework, то многие ожидали, что первоначальный состав языков Visual Studio — C# и VB.NET — будет расширяться, в том числе за счет быстро набирающих популярность скриптовых языков. Но этого до сих пор не происходит. Почему?
Брайан Харри: Да, действительно, лет десять назад в составе Visual Studio было больше языков. И были планы расширения состава языков для среды .NET, но практика показала, что это не так просто сделать, да и не очень нужно. Но вот как раз в версии 2010 появился новый язык — F#. Хочу сразу обратить внимание: он включен в пакет не из соображений его популярности, а по причине своей перспективности. F# — это наша реализация языка OCaml, но поверх .NET Framework. Хотя OCaml был создан четверть века назад, он не может похвастаться широкой известностью, но мы уверены, что именно сейчас потребность в нем будет быстро расти.
Этот язык, относящийся к категории объектно-ориентированных языков функционального программирования, был разработан с ориентацией на повышение безопасности и надежности программного кода. И еще одна его важная особенность — высокие возможности по распараллеливанию вычислительных процессов. Актуальность этих проблем уже сейчас высока и будет только повышаться в дальнейшем. F# будет очень полезен в программах научно-технического назначения. Эта категория ПО еще лет пятнадцать назад ушла на второй план задач программирования, но сейчас спрос на него будет расширяться.
Но нужно понимать, что F# — некоторый эксперимент. Мы будем его пропагандировать и вкладывать средства в его развитие, но если в какой-то момент поймем, что программистское сообщество его “не принимает”, сделаем соответствующие выводы. Жизнеспособность любой инновации определяется не его создателем, а теми, кто этим новшеством будет пользоваться.
Что касается, популярных скриптовых языков, то мы активно инвестируем в их развитие; в частности, речь идет о Ruby и Iron Python. Но пока мы не включаем их в Visual Studio, хотя такой вариант вполне возможен в будущих его версиях.
PC Week: Microsoft часто упрекают в ориентации на поддержку собственной платформы, в недостаточных возможностях гетерогенной разработки. Но, кажется, в этой версии корпорация сделала шаги именно в этом направлении?
Б. Х.: Да, в состав Visual Studio 2010 вошел целый набор технологий Teamprise Client Suite, приобретенных нами в конце 2009 г. у компании SourceGear. Как видите, мы их включили в продукт довольно быстро. Данные средства позволяют интегрировать Visual Studio с ведущими Java-инструментами. Такой шаг с нашей стороны — это признание того, что серьезные корпоративные проекты ведутся довольно часто с применением и .NET, и Java. Могу также сказать, что будем предлагать инструменты разработки приложений для облачной среды Azure с применением Eclipse. Кроме того, у нас есть проект по обеспечению поддержки создания Web-приложения на базе Silverlight в Eclipse.
Но надо сказать, что поддержка гетерогенной разработки уже давно обеспечивается на уровне ключевого звена коллективной работы — TFS, независимо от использования того или иного инструментария.
PC Week: Visual Studio — это мощный многофункциональный инструмент. Но некоторые вещи в нем, которые относятся вроде бы к категории тривиальных, вызывают заметное недовольство пользователей. Например, это касается возможностей компиляции кода “на лету”. Что вы можете сказать по этому поводу?
Б. Х.: В этой версии мы не реализовали в полном масштабе компиляцию в фоновом режиме. В Visual Studio 2010 получили некоторое развитие средства проверки синтаксиса “на лету”, но я бы не сказал, что они радикально изменились по сравнению с версией 2008. На что действительно стоит обратить внимание именно в данной варианте, так это на новый движок интеллектуального редактирования кода с расширенными возможностями поиска.
PC Week: В последние годы, говоря о средствах разработки, подразумевают почти исключительно сообщество профессиональных программистов. Но ведь есть еще и очень важный сегмент “начинающих и любителей”. Не слишком ли сложно для поставщика инструментов поддерживать и ту и другую категорию программистов?
Б. Х.: Это действительно важная проблема. Мы распространяем, причем бесплатно, специальные версии Express для начинающих. Это вариант базового комплекта Visual Studio. Но должен признаться, что поддерживать такой широкий спектр пользователей с разным уровнем подготовки очень сложно. Мне кажется, что пока нам это удается.
PC Week: В нашей стране сейчас активно обсуждается тема создания благоприятной среды для реализации инновационных разработок, в том числе молодыми энергичными техническими специалистами. В этой связи вопрос к вашему личному опыту: как вам удалось создать в свое время Visual SourсeSafe, который взяла на вооружение сама Microsoft? Неужели исследовательские центры корпорации не смогли сделать инструмент, который оказался по силам небольшой команде совсем молодых людей?
Б. Х.: Я учился в Университете Северной Каролины, но ушел оттуда с четвертого курса, потому что очень хотелось заниматься новыми разработками. Сначала я трудился в стартапе DaVinci System, где делал ПО для работы с электронной почтой. Там мне и двум моим приятелям-коллегам пришла в голову идея создать инструмент коллективной работы для Windows, которая как раз тогда начала быстро набирать популярность среди разработчиков ПО. И мы в 1992 г. под этот проект создали собственную компанию One Tree Software — классический пример “стартапа в гараже”, правда, мы больше работали на кухне. А через два года нашу фирму вместе с продуктом приобрела Microsoft. Я думаю, что успех был обеспечен тем, что мы одними из первых рискнули сделать графический интерфейс — конкурирующие продукты для управления версиями тогда использовали управление командной строкой. Получилось решение, которым мог пользоваться программист любого уровня, а не только крутой профессионал.
Почему Microsoft не создала такой инструмент сама? Это общая стратегия всех крупных ИТ-компаний — сочетание собственных внутренних исследований и использование независимых стартапов. Возможно, сама корпорация даже не включала в план своих разработок создание инструмента управления версиями, а ждала, когда кто-то из “молодых, но резвых” сделает подходящий вариант.
PC Week: С вашим именем связывают также создание одного из первых центров разработки Microsoft вне Редмонда.
Б. Х.: Действительно, Microsoft исторически придерживалась концепции единого капмуса, чтобы каждый разработчик мог дойти до любого коллеги пешком. Но мне в 2002 г. пришлось по личным причинам вернуться в Северную Каролину. Как раз там корпорация решила создать центр разработки, где была сформирована группа из примерно 50—60 человек, которые приступили к работе над Team Foundation Server и Visual Studio Team System.
PC Week: Есть ли какая-то технологическая связь между тем Visual SoureSafe и нынешним TFS?
Б. Х.: Нет, эта два качественно разных решения. Но мы изначально делали TFS таким образом, чтобы его было легко осваивать программистам, применяющим SourceSafe. Мы сохранили преемственность синтаксиса, использовали в TFS аналогичную модель управления версиями. Но все же реализация полностью другая. Достаточно сказать, что SourceSafe — это клиентская программа, которая работает с общей файловой системой, а TFS — настоящее трехуровневое серверное решение с использованием SQL Server, c Web-доступом.
PC Week: Но ведь TFS — это не просто компонент Visual Studio, но и самостоятельный продукт. Находит ли он спрос на рынке в таком качестве? Применяют ли его, скажем, пользователи Rational?
Б. Х.: Да, и не только Rational. Мы знаем коллективы разработчиков, использующих в своих проектах исключительно Java и при этом применяющих TFS.
PC Week: Понятно, что каждому конкретному программисту не нужны все возможности такого мощного пакета, как Visual Studio. Но в то же время: все ли полезные функции он использует в полной мере?
Б. Х.: По моим оценкам, профессиональный разработчик задействует до 50% функционала Visual Studio. Это очень высокий процент для столько сложного и многогранного продукта. Но есть отмеченная вами проблема: многие не знают о том, что нужное ему средство лежит совсем рядом. Этот традиционный вопрос решается теперь не только проведением курсов обучения и различного рода семинаров, но и через интернет-сообщества.
Но, разумеется, нужно работать и над повышением качества самого продукта. Мы сейчас очень серьезно озабочены вопросами улучшения пользовательского интерфейса. С одной стороны, мы включаем туда более интеллектуальные средства поиска нужных функций, расширяем возможности настройки интерфейса. С другой стороны, изучаем качественно иные парадигмы взаимодействия разработчика с пакетом, в частности вариант Ribbon, реализуемый в Microsoft Office.
PC Week: Спасибо за беседу.