1.3 Мб

Октябрь 2011

 


Стратегия Microsoft в отношении Visual FoxPro
Краткий исторический обзор эволюции и стратегии Visual FoxPro в Microsoft за 15 лет

Кен Леви (Ken Levy)
Фирма Microsoft никогда не раскроет исходные коды СУБД VFP, потому что с точки зрения бизнеса нет никакой причины, по которой это следовало бы сделать, и есть целый ряд причин, чтобы этого не делать. Эволюция VFP вступает в следующее десятилетие вместе с новыми и дополненными продуктами, работающими с VFP, с проектами сообщества, такими, как VFPX, и конечно с самим VFP-сообществом.

Стратегия фирмы Microsoft в отношении FoxPro на раннем этапе

Покупка в 1992 году за 173 миллиона долларов фирмы Fox Software оказалась для Microsoft очень дальновидным решением, и это было самое крупное из всех, когда-либо сделанных Microsoft к тому времени, корпоративных приобретений. По-прежнему пользовалась популярностью СУБД dBase фирмы Ashton-Tate, у фирмы Borland имелись СУБД Paradox, а также интегрированная среда разработки PowerBuilder – продукт, главенствовавший тогда среди инструментов для клиент-серверной разработки. От сделки с Fox Software фирме Microsoft нужны были три вещи – коллектив разработчиков Fox, Fox-технология и доля рынка, принадлежавшая покупателям FoxPro и FoxBase. Microsoft только приступила тогда к разработке СУБД Access, и этот продукт в большей степени был нацелен на опытных пользователей, хотя некоторое пересечение все-таки существовало. Язык программирования Visual Basic пока еще переживал свои первые дни.
На пике, – он пришелся на 1995 год, – число FoxPro-разработчиков оценивалось в 500 000, и в наличии имелись миллионы компьютеров, на которых работали FoxPro-приложения (или на базе DOS, или в операционной системе Windows). Только спустя почти 4 года, – не ранее, чем появилась версия VFP 5.0, – стратегия Microsoft стала сосредотачиваться в большей степени на языке программирования VB и в меньшей – на VFP. По сути дела, рост пользовательской базы СУБД VFP и объема ее продаж сменился падением, а как говорят в бизнесе: если вы не растете, вы умираете.
В первые годы после поглощения Fox Software фирма Microsoft вкладывала огромные усилия и массу ресурсов в создание версии VFP 3.0. В Fox-команде насчитывалось примерно 50 человек, и она имела большой маркетинговый бюджет. В последующие годы выросла доля на рынке как СУБД Access, так и языка VB, и они также в некоторых отношениях стали конкурировать с рынком VFP (а также в области информационной поддержки продуктов), и ко времени выхода версии VFP 5.0 многие топ-менеджеры хотели, чтобы Microsoft просто прекратила на этом развитие VFP. Фактически, на некоторое непродолжительное время так и было сделано. Я присутствовал на том совещании, в котором участвовало 40 человек, и где команде разработчиков Fox официально было объявлено о том, что VFP прекратила свое существование. Это совещание проходило в самом начале 1996 года и привело к тому, что компания Gartner Group выпустила собственный отчет, в котором говорилось о кончине СУБД VFP, что серьезно сказалось на ее дальнейших продажах. Однако, члены Fox-команды вместе с сообществом подняли большой шум, объединившись с людьми, вроде Эрика Раддера [Eric Rudder, архитектор версии VFP 3.0, ставший техническим помощником Билла Гейтса (Bill Gates)]. Эрик убедил руководство подразделения, занимавшегося инструментами разработки, продолжать развитие VFP, сократив при этом объем выделяемых ресурсов. На самом деле, главная причина, по которой VFP продержалась еще одно десятилетие, на протяжении которого были выпущены еще 4 версий, связана в большей степени с продажами ОС Windows, нежели с продажами самой VFP. Существует очень много Windows-компьютеров, на которых работают VFP-приложения. Когда Стив Баллмер (Steve Ballmer) скачет как мартышка и выкрикивает «разработчики, разработчики, разработчики», его больше заботит продажа ОС Windows, нежели продажа инструментов разработки.

История Visual FoxPro в фирме Microsoft

Для каждой новой версии VFP, например, для версий 6.0 и 7.0, сокращались объем выделяемых ресурсов, численность коллектива разработчиков и маркетинговый бюджет. Когда VFP включили в коробку с Visual Studio, это была просто общая упаковка, без интеграции. Когда сообщество увидело VFP, работающую в среде Visual Studio, и возможность ее выполнения на базе .NET framework, они также осознали, что если развитие VFP пойдет по такому пути, это очень отрицательно скажется на обратной совместимости FoxPro-кода, и интерактивная среда разработки (IDE) VFP со временем будет утрачена. Фирма Microsoft никогда не задавалась целью разрабатывать одновременно и автономную VFP, и VFP для платформы .NET. Существование новой VFP, предназначенной для платформы .NET, просто отнимало бы ресурсы, выделяемые на развитие языков VB.NET и C#, затрудняло бы продажи Visual Studio и .NET framework и вообще не имело бы никаких полезных результатов, поскольку старый VFP-код нельзя было бы выполнять в том виде, как он есть.
Затем, после появления версии VFP 7.0, решено было сохранить VFP как автономный продукт, не входящий в комплект Visual Studio, поскольку эта СУБД не будет частью платформы .NET. Решение было оправданным и позволило составить для VFP отдельный график поставки новой версии. С выходом каждой новой версии предполагалось, что она является последней. Никто в Fox-команде, ни один человек, не ожидал появления новой версии после выхода VFP 8.0. Продажи с каждым годом продолжали сокращаться, и то же самое происходило с маркетинговым бюджетом. Единственным способом, который позволил бы нарастить и увеличить продажи VFP, было завершение работы над Visual Studio и изъятие бюджета и ресурсов у этого продукта. В самом деле, Visual Studio (а не Delphi или какой-то другой продукт, не принадлежащий Microsoft) была самым серьезным конкурентом VFP. Большинство сотрудников, занимавшихся маркетингом и менеджментом в фирме Microsoft, предпочли бы, чтобы Fox-разработчики использовали Delphi.NET фирмы Borland, а не Microsoft VFP, поскольку тогда их разработки базировались бы на платформе .NET, а не на старой унаследованной модели COM. Модель COM превратилась во врага, от которого надо было уводить людей, точно так же, как сегодня действующим врагом для платформы Microsoft является связка HTML/JavaScript.
Над версией VFP 9.0 работала команда, насчитывавшая не более 8 человек, и даже в этом случае, по мнению сообщества, версия VFP 9.0 оказалась лучшим релизом, нежели версии VFP 7.0 и VFP 8.0. Вскоре после выхода версии VFP 9.0 фирма Microsoft решила создать для свободного распространения Xbase-дополнение (add-on), чтобы поддержать продажи обновления для исходного продукта, а также оптимистическое восприятие VFP. В результате появился план проекта Sedna – предназначенного для скачивания пакета полезных примеров приложений и утилит, сфокусированных на взаимодействии VFP с другими продуктами Microsoft (платформой .NET, сервером SQL Server, пакетом офисных программ Office, операционной системой Windows и так далее). Другой причиной появления проекта Sedna было стремление отсрочить объявление конца VFP, чтобы сохранить продажи версии VFP 9.0, а также защитить Fox-сообщество и рынок труда для разработчиков, использующих этот инструмент.

Отказ предоставить исходный код Visual FoxPro

Обращение к фирме Microsoft с просьбой открыть базовый исходный код Visual FoxPro является всеобщим (и логичным). Вот некоторые догадки относительно того, почему Microsoft никогда не сделает исходный код Visual FoxPro открытым. В VFP присутствуют технологии, например, оптимизированная индексация Rushmore, которые используются в других продуктах этой фирмы – в серверной СУБД SQL Server и в «настольной» СУБД Access. Это не одна и та же база кода на языках C и C++, но многие методики и алгоритмы родом из VFP. Фирма Microsoft смотрит на них как на интеллектуальную собственность, активы, с которыми она не хочет расставаться.
Но две более важные причины не имеют ничего общего с причиной, названной выше. Они связаны с бизнесом. Тогда, как продажи VFP не являются ее главной заботой, внимание фирмы Microsoft сосредоточено на продажах Visual Studio и на том, чтобы была принята вся платформа Microsoft (целый набор продуктов и услуг). Выпуск VFP в виде открытого исходного кода привел бы к сокращению числа VFP-разработчиков, использующих текущую (современную) платформу продуктов Microsoft, но это также может привести к тому, что кто-то или какая-нибудь фирма создадут продукт, соперничающий с продуктами Microsoft. В фирме Microsoft не хотели бы наблюдать, как этот код используется для развития конкурентоспособного продукта, и там также не хотели бы видеть, как создание этого нового продукта вклинивается в продажи Visual Studio или препятствует распространению платформы .NET.

Стратегия Microsoft в отношении Visual FoxPro на завершающем этапе

В последние 5 лет существования Visual FoxPro в фирме Microsoft, когда я был ее последним менеджером по продукции (Product Manager) (маркетинг и сообщество), стратегия сводилась к сбыту VFP членам сложившегося сообщества пользователей (главным образом посредством обновлений), к всемерному сохранению сильного Fox-сообщества, а также к тому, чтобы заставить VFP-разработчиков перейти на другие продукты фирмы Microsoft (платформу .NET и SQL Server). В этой своей роли я всегда видел себя в 2 ипостасях: в одной я представлял фирму Microsoft как ее сотрудник, а в другой – был членом FoxPro-сообщества, который в стенах Microsoft делает для Fox все, что в его силах, ради развития, сохранения, продвижения и помощи VFP и сообществу, насколько это возможно. Примерно половину своего времени я тратил на маркетинг VFP внутри фирмы Microsoft, в штаб-квартире в Редмонде (Redmond) и в периферийных отделениях, на информирование и поддержку позитивного представления о VFP как о живом продукте.
Решения по вопросам VFP-стратегии принимало вышестоящее руководство фирмы Microsoft, а не основная Fox-команда. Никто из членов основной Fox-команды не обладал правом принимать решения, связанные с маркетинговым бюджетом или выделяемыми ресурсами, или определять дальнейшие действия после поставки каждой новой версии. В команде было несколько ключевых фигур, которые, вероятно, совместными усилиями продлили жизнь VFP как минимум на одну дополнительную версию и на несколько лет.
Я думаю, еще одной движущей силой, позволившей на столь долгий срок продлить существование VFP после выхода версии 6.0, была преданность пользователей. Но к моменту выхода версии VFP 9.0 суммарный годовой объем продаж всех версий VFP приносил доход, который был меньше того, что фирма Microsoft получала от продаж Visual Studio за один день. Соотношение затрат на развитие VFP и суммы приносимого ею дохода (return on investment , ROI) было много меньше в сравнении с вложением дополнительных ресурсов в Visual Studio и языки платформы .NET. Плюс, некоторые члены коллектива разработчиков Fox готовы были совершить переход внутри фирмы или покинуть Microsoft, и практически невозможно было найти им квалифицированную замену. Полезно взглянуть на все это с точки зрения перспективы, если вы рассматриваете Visual Studio как продукт, конкурирующий с VFP, хоть бы даже они и принадлежали одной фирме. Вспомните, когда фирма Apple работала одновременно над компьютерами Mac и Lisa, уцелел только один из них. Если говорить о СУБД VFP, она продержалась целое десятилетие после того, как была по существу лишена жизни (и потеряла из-за этого статус стратегического продукта).

Вступая в следующее десятилетие

15-ого января 2010 года заканчивается основная поддержка версии VFP 9.0. Хотя платная расширенная поддержка просуществует еще 5 лет, я не предвижу появления каких-либо дополнительных исправлений (hotfixes) или чего-то еще, что будет сделано для VFP; разве только в исключительном случае, когда проблемы работы VFP в операционной системе Windows 7 не позволят пользователям, эксплуатирующим VFP-приложения, выполнить обновление до последней версии ОС Windows. Некоторые предполагают, что фирма Microsoft убила VFP преждевременно, но можно по-другому взглянуть на закулисную историю и убедиться в том, что VFP просуществовала еще много лет и пережила несколько версий сверх того, что было запланировано. Хотя фирма Microsoft могла бы сделать для VFP больше, реальных шансов для этого у нее просто не было при условии, что она одновременно продвигала на рынке и отдавала ресурсы СУБД Access, языку VB, а затем среде разработки Visual Studio. Только те разработчики, которые пользовались FoxPro, действительно понимают, что это был за продукт, и чем он пока еще является.

Программирование Visual FoxPro
Приемы эффективной работы, часть VI

Джим Бут (Jim Booth)

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

Использование средств перевода Google из программы VFP
Дуг Хениг (Doug Hennig)

Приложение Stonefield Query достаточно легко перевести на другой язык: все строки, отображаемые пользователю, хранятся в ресурсном файле и мы предоставляем редактор ресурсов, который позволяет разработчику перевести строки на другие языки. Это означает, что кто-то должен сделать перевод, а потом поддерживать перевод в актуальном состоянии, по мере выхода новых версий. Сами понимаете, это довольно трудоемкая задача.
Вдохновленный докладом Кристофа Волленхаупта "Googlefy Your Apps"на конференции Southwest Fox 2011, я обратился к Google Translate API для автоматизации перевода и расширения числа языков, на которые мы переводим элементы интерфейса. Решение оказалось довольно простым.

Интересные часы с использованием GDI+X
Бернар Бут (Bernard Bout)

Некоторое время назад я наткнулся интересные часы, созданные средствами HTML5 с использованием элемента canvas. Так как элемент canvas похож на imgcanvas в составе GDI+X, я решил создать похожие часы средствами GDI+X.

Если нужно сделать изменения, откройте вкладку Favourites в вашем редакторе свойств и сделайте необходимые изменения.

Если нужно изменить размер, тогда измените контейнер класса и запустите форму.

На диске, сопровождающем журнал, включена форма с примером использования часов с разными размерами и некоторыми измененными свойствами.

String.Format для VFP
Эрик Селье (Eric Selje)

Если вы не пользовались методом String.Format() в языке C#, это истинное удовольствие. Среди встроенных возможностей VFP нет ничего подобного, но мы, безусловно, можем смастерить свой собственный эквивалент. Он облегчит чтение и сопровождение нашего кода. Данная статья продемонстрирует, почему и как стоит этим заняться.

Насколько это в моих силах, я стараюсь выполнять максимум работы в среде Visual FoxPro, но бывают случаи, когда существует другое инструментальное средство, прямо предназначенное для решения стоящей перед нами задачи, и тогда мы знакомимся с иными возможностями и философией других языков программирования. Недавно я переносил для заказчика данные из настольной СУБД Access в среду SQL Server/ ASP.Net и использовал язык C# для программирования логики веб-страницы. По моему мнению, переход на язык C# является довольно легким для программистов, работающих с Visual FoxPro, поскольку синтаксис достаточно похож, чтобы вы не чувствовали дискомфорта. Работая с языком C#, я начал испытывать привязанность к одному конкретному методу – String.Format(). Эта команда похожа на VFP-команду TRANSFORM(), но обладает много большими возможностями.
 


Возврат на основную страницу

К архивам

© Edel Ltd. Все права защищены. 2011 г.

Hosted by uCoz