Почему FoxPro еще в силе
Часто Visual FoxPro лучше всего подходит для выполнения задания.
Эндрю МакНейл
На днях у меня состоялась
интересная беседа о Visual FoxPro с конечным пользователем, работающим у
моего заказчика. Он все еще имел дело с ранним вариантом нашего продукта, в
котором использовалась исполняемая версия VFP 6. Он спросил меня "А что, VFP
еще применяется? Разве Microsoft не прекратил его поддержку?"
Мой ответ: Разумеется, VFP еще в силе. В нашей новой версии применяется
Visual FoxPro 8. Microsoft упоминает эту версию в приоритетных списках "что
мы поддерживаем " до 2010 ( см. http://support.microsoft.com/default.aspx?scid=fh;[ln];LifeDevTool
Fam). Они вовсю трудятся над новой версией. И так далее.
Возможно, вам тоже приходилось сталкиваться с подобными вопросами, и это
довольно грубый ответ. Да, Visual FoxPro это старый продукт. Не многие
продукты переживают более пяти или шести версий. Но FoxPro все еще в силе, и
если краткие замечания Кена Леви о возможностях версии 9 что-нибудь да
значат, то он продолжает развиваться и расти. Это о многом говорит FoxPro и
его команде. И как только вам покажется, что предел его возможностей
достигнут, из-за угла появляется нечто новое и доказывает, что вы
ошибаетесь.
Так почему многие все же задают такие вопросы? Ощущения. Некоторые
производители не хотят производить впечатление, что они используют старые
технологии, поэтому они продвигают SQL Server или интеграцию продукта на
базе Web. Приложение все еще может быть написано на Visual FoxPro, но это
ухудшает его продвижение.
Сегодняшние технологии тоже меняются. Пользователи ищут для своих решений
разные платформы (такие как карманные компьютеры или Web). Каждая новая
платформа предполагает применение новой технологии. Но, в конце концов,
большинство приложений имеют дело с одним: данными.
В течение обычной рабочей недели мне приходится пользоваться множеством
различных инструментов. Канули в прошлое те дни, когда я проводил 90
процентов своего времени, работая в командной строке. Но мои занятия
по-прежнему связаны с данными -- информацией с сайтов Интернета,
документами, электронными таблицами, и, конечно же, базами данных. В
распоряжении разработчика теперь имеется не один инструмент для работы со
всем этим. Для моделирования, управления, программирования и опять-таки,
манипулирования данными применяются разные инструменты.
Когда дело доходит до работы с данными, лишь немногие инструменты в
состоянии обеспечить такую же гибкость, как FoxPro. Когда-то это была база
данных с некоторыми программными возможностями, а теперь она превратилась в
программный инструментарий с мощной поддержкой баз данных. Однажды мой
коллега заметил, что " на рынке FoxPro занимает одну нишу; но когда этой
нишей являются данные, он одерживает чистую победу". Такое объяснение
довольно трудно давать клиентам, особенно крупным. Что может убедить, так
это быстрота разработки и легкость наращивания.
Одной из самых сильных сторон FoxPro являются возможности работы с данными.
Недавно я столкнулся с ситуацией, когда администратор баз данных разрушил
базу клиента, построенную на SQL Server, применив сложный оператор SQL
DELETE. Мы получили доступ к тем же самым данным с помощью команды Remote
View в Visual FoxPro, запустили тот же код SQL, и получили результат, как и
ожидалось. У этого же клиента были построены небольшие приложения FoxPro для
доступа к тем данным SQL Server, к которым производитель не предоставил
доступа, без оказания влияния на более крупное приложение. И это не
единичный случай.
Маркетинг, восприятие и личные предпочтения затеняют выбор "инструмента
дня". Маркетинг говорит клиентам: "Данные? Используйте SQL Server.
Программирование? .NET." Но помимо возможностей .NET, унаследованных от C++,
VB, и C#, существуют вещи, которые эта концепция не может реализовать так же
хорошо, как FoxPro. Одним из таких примеров являются традиционные настольные
приложения, которые до сих пор требуются многим компаниям. Другим примером
служит использование в качестве подручного инструмента для немедленного
выполнения каких-то заданий. Трудно продать FoxPro для применения в крупных
проектах, особенно в сегодняшнем мире .NET, однако когда речь идет о
получении результатов быстро и эффективно, он может оказаться подходящим
инструментом, как для корпоративных, так и для индивидуальных разработчиков.
Мне думается, что именно в этом, и заключается основное преимущество VFP.
Его сильную сторону составляет возможность выполнения множества различных
работ, таких как построение приложений, выполнение функций промежуточного
программного слоя и манипулирование данными.
Как же изменить восприятие? С продуктом, приближающимся к своей 9-ой версии,
это не просто. Но это не остановит людей, которые способны заставить его
взлетать. Когда его показывают тем, кто все отрицает, они начинают менять
свое восприятие, каждый раз это делает хотя бы один.