foxpro что это за программа
Foxpro что это за программа
Зачем мне применять FoxPro, когда все в мире
сейчас пишут или на Delphi или на C++?
Иван Никитин
По данным, приведенным в Microsoft White Pages, средства разработки СУБД распределены среди профессиональных разработчиков США следующим образом:
Как видно, не все разработчики используют Delphi или C++. К тому же вспомним правило про Сенькину шапку. VFP это очень мощное средство разработки СУБД. К тому же, VFP имеет очень перегруженный язык программирования, это результат обеспечения совместимости со старыми версиями. Современный VFP в большинстве случаев может без дополнительных переделок выполнить программы написанные для самого первого FoxBASE или dBase. Редкое средство программирования может похвастаться такой совместимостью.
Однако обратная сторона медали: современный язык xBase, точнее его диалект, используемый в VFP, содержит свыше полутысячи команд, функций и языковых конструкций. Одно и тоже в VFP можно сделать тремя четырьмя способами. Иногда «старое» программирование времен FoxBASE мирно уживается с современным ООП, а иногда ведет себя как кошка с собакой. Очень часто в описаниях языка VFP можно встретить фразу: «Включено для обеспечения совместимости со старыми версиями. Рекомендуется использовать то-то и то-то».
Кроме того, данное заблуждение (см. заголовок) связано с довольно большой популярностью продуктов Borland (ныне Inprise) в нашей стране, и стойкой антипатией к Мастдай. Поверьте мне, в отношении VFP ситуация меняется кардинальным образом, VFP есть та самая жемчужина, сделанная Microsoft, о которой эта прославленная корпорация трубит на каждом углу ;).
Visual FoxPro
IDE: английский, немецкий, испанский
Runtime: все вышеупомянутые, а также французский, китайский, русский, корейский
Visual FoxPro 9.0, пакет обновления 2 (SP2) (11.10.2007)
Visual FoxPro (VFP) — объектно-ориентированный и процедурный язык программирования систем управления реляционными базами данных, разработанный корпорацией Microsoft. Основой для данного программного продукта послужил язык программирования FoxPro. Относится к семейству языков xBase, разработанных на базе синтаксиса языка программирования dBase. Другими членами данного семейства являются Clipper и Recital.
Содержание
Новейшая история
В конце 2002 года было показано, что Visual FoxPro может работать на Linux под Wine, однако это, по существу, нарушает пользовательское лицензионное соглашение (EULA).
В декабре 2005 года, VFP взлетел в Top 20 на TIOBE индекс в первый раз. В марте 2007 года он был в положении 19, что делает его языком группы «B». По состоянию на август 2010 года, VFP (в сочетании с XBase) находится в позиции 25.
В марте 2007 года Microsoft объявила, что не будет VFP 10, соответственно, VFP 9 (выпущен в производство 17 декабря 2004 г.) — последний коммерческий релиз VFP от Microsoft. Поддержка версии 9 продолжается с пакетами обновления, которые были выпущены 8 декабря 2005 и 11 октября 2007 года.
История версий
Совместимость с операционными системами
Версия | VFP 3.0 | VFP 5.0 | VFP 6.0 | VFP 7.0 | VFP 8.1 | VFP 9.0 |
---|---|---|---|---|---|---|
Windows 3.x | Да | Нет | Нет | Нет | Нет | Нет |
Windows NT 4.0 | Да | Да | Да | Да | Нет | Нет [1] |
Windows 95 | Да | Да | Да | Только среда запуска (runtime) | Нет | Нет |
Windows 98 | Да | Да | Да | Да | Только среда запуска (Runtime) | Только среда запуска (Runtime) |
Windows ME | Да | Да | Да | Да | Только среда запуска (Runtime) | Только среда запуска (Runtime) |
Windows 2000 | Да | Да | Да | Да | Да | Да |
Windows XP | Да | Да | Да | Да | Да | Да |
Windows Server 2003 | ? | Да | Да | Да | Да | Да |
Windows Vista | В режиме совместимости | Да | Да | Да | Да | Да |
Windows 7 | Да | Да | Да | Да | Да | Да |
Исполняемые файлы
Версия | Возвращаемое значение VERSION() | Размер EXE-файла | Дата EXE-файла | Размер DLL-файла | Название DLL-файла |
---|---|---|---|---|---|
VFP 9 SP2 with Hotfixes | Visual FoxPro 09.00.0000.7423 for Windows | 5,648 kb | 3 апреля 2009 | 4,624 kb | VFP9R.DLL |
VFP 9 SP2 | Visual FoxPro 09.00.0000.5721 for Windows | 5,648 kb | 16 октября 2007 | 4,624 kb | VFP9R.DLL |
VFP 9 | Visual FoxPro 09.00.0000.2412 for Windows | 5,620 kb | 13 декабря 2004 | 4,600 kb | VFP9R.DLL |
VFP 8 | Visual FoxPro 08.00.0000.3117 for Windows | 5,236 kb | 25 сентября 2003 | 4,200 kb | VFP8R.DLL |
VFP 7 | Visual FoxPro 07.00.0000.9465 for Windows | 4,260 kb | 4 января 2002 | 3,344 kb | VFP7R.DLL |
VFP 6 | Visual FoxPro 06.00.8961.00 for Windows | 4,091 kb | 18 августа 2000 | 3,295 kb | VFP6R.DLL |
VFP 5 | Visual FoxPro 5.0.0.415 for Windows | 4,065 kb | 24 января 1997 | 3,148 kb | VFP500.DLL |
VFP 3 | Visual FoxPro 03.00.00.0711 for Windows | 4,374 kb | 16 декабря 1995 | 3,657 kb | VFP300.ESL |
FPW 2.6a | FoxPro 2.6a for Windows | 2,444 kb | 28 сентября 1994 | 2,946 kb | FOXW2600.ESL |
Дальнейшее развитие
Также 3 апреля 2007 Microsoft ответила на просьбы заявителя таким заявлением от Алана Гривера ( Alan Griver ):
Мы очень хорошо понимаем FoxPro сообщество и, то, что сыграло большую роль в том, что мы объявили 13 марта. Это всегда нелегкое решение — объявить, что мы не собираемся выпускать другую версию продукта, и это первое, что мы рассматриваем очень тщательно.
Мы не объявляем конец проекта FoxPro: очевидно, приложения FoxPro будут продолжать работать. Согласно нашим внутренним оценкам, существует больше приложений, работающих в FoxPro 2.6, чем есть в VFP, а ведь FoxPro 2.6 не поддерживается много лет. Visual FoxPro 9.0 будет поддерживаться Microsoft до 2015 года.
Для Microsoft, чтобы сохранить развитие основы FoxPro, надо обратить внимание на создание 64-разрядной среды разработки, что будет включать почти полностью переписанный основной продукт. Мы также инвестировали в создание масштабируемой базы данных SQL Server, включая свободно доступный SQL Server Express Edition. Что касается формирования партнерских отношений с третьей стороной, о которой мы слышали в интерпретации ряда крупных клиентов FoxPro, — это сделает невозможным использование FoxPro, поскольку он больше не будет от утвержденного поставщика. Мы чувствовали, что выложить среду с открытым исходным кодом на CodePlex, которая уравновешивает потребности как сообщества, так и крупных клиентов — лучший путь вперёд.
We’re very aware of the FoxPro community and that played a large part in what we announced on March 13th. It’s never an easy decision to announce that we’re not going to release another version of a product and it’s one that we consider very carefully.
We’re not announcing the end of FoxPro: Obviously, FoxPro applications will continue to work. By some of our internal estimates, there are more applications running in FoxPro 2.6 than there are in VFP and FoxPro 2.6 hasn’t been supported in many years. Visual FoxPro 9 will be supported by Microsoft through 2015.
For Microsoft to continue to evolve the FoxPro base, we would need to look at creating a 64-bit development environment and that would involve an almost complete rewrite of the core product. We’ve also invested in creating a scalable database with SQL Server, including the freely available SQL Server Express Edition. As far as forming a partnership with a third-party is concerned, we’ve heard from a number of large FoxPro customers that this would make it impossible for them to continue to use FoxPro since it would no longer be from an approved vendor. We felt that putting the environment into open source on CodePlex, which balances the needs of both the community and the large customers, was the best path forward. [5]
FoxPro работает с таблицами формата *.dbf
Visual FoxPro 7.0 снабжено мощным набором мастеров, которые позволяют новичку достаточно быстро создать мощное работоспособное приложение, однако не могу рекомендовать использовать эту возможность людям, желающим, создать рациональное приложение, т.к. мастера используют навороченные библиотеки и не рационально используют память. Программы созданные с помощью мастеров очень грамозки.
FoxPro сильно интегрирован с SQL, позволяет вставлять блоки SQL-комманд непосредственно в тело основного кода и использовать в SQL-запросах собственные (фоксовские) функции. Что позволяет быстро и эффективно обробатывать большие базы, даже если таблицы не индексированы. Кроме того, FoxPro облодает собственными, очень мощными, и главное, удобными средствами работы с БД.
Наиболее крупные БД созданные на FoxPro (из известных автору):
База данных ГУВД г. Москвы.
База данных МГТС.
База данных Пенсионного фонда России.
Это основной язык написания программ Главного Научно-Вычеслительного Центра (ГНИВЦ) Министерства РФ по налогам и сборам
К достоинствам VFoxPro можно так же отнести: возможность создания составного индекса, работа с курсорами (виртуальными таблицами, не отличающимися от обычных, но исчезающих после завершения сеанса работа, т.е. не остаются ни в памяти ни на диске), возможность экспортировать\импортировать данные в\из XML, VFoxPro работает с другими базами по средствам драйвера ODBC, VFoxPro обладает высокой надежностью при работе с БД (в т.ч. и с индексами) и полность соответствует объявленным возможностям.
На VFoxPro можно создавать и клиент-серверные БД, однако в этой области VFoxPro значительно уступает большинству из известных серверов БД.
Резюме VFoxPro мощнейшее средство для работы с локальными базами данных, значительно превосходящее, по эффективности, все остальные системы БД.
Рекомендации для выбора Могу порекомендовать выбрать VFoxPro, тем кому требуется ввести и обрабатывать большие базы данных на локальных компьютерах или в небольших сетях. Т.к. VFoxPro позволяет создавать запросы, практически любой сложности. Разумеется не рекомендую использовать этот язык для составления больших серверных баз и для написания программ не связанных с ведением баз данных.
Ограничения VFoxPro 7.0
Для людей имеющих представление, что такое БД привожу некоторые ограничения для 7-го Фокса (это лучше любых хар-тик), выводы сами напросятся. Для остальных распишу все позже.
Ограничения работы с базами
Максимум записей в файл таблицы. 1 миллиард
Максимальный размер файла таблицы. 2 гигабайта
Максимум символов в записи (MEMO). 65,500
Максимум символов в поле таблицы. 254
Максимальный размер числовых (и с плавающей точкой) полей. 20
Максимум полей записей. 255
Максимум таблиц открывается в одно время. 255
(ограниченно памятью и доступными дескрипторами файла.)
Максимум байтов в индексном ключе в некомпактном индексе. 100
Максимум байтов в индексную ключе в компактном индексе. 240
Максимум открытых индексных файлов в таблице. неограниченно
Максимум открытых индексов во всех базах. неограниченно
Максимум отношений. неограниченно
Максимальные поля, которые могут быть выбраны SQL SELECT. 255
Ностальгия по Visual FoxPro
Успех и закат славы
Введение, или совсем чуть-чуть истории
Разработка приложений, взаимодействующих с базами данных, являлась делом более чем актуальным со времен появления первых систем управления базами данных. В связи с этим ничуть не удивительно, что на рынке средств разработки приложений появилось достаточно много программных продуктов, «заточенных» именно под работу с базами данных. Появлялись эти среды, конечно, в такие стародавние времена, что не всякий старожил форума «Компьютерных вестей» их вспомнит, но, тем не менее, было когда-то и такое славное время.
Давно уже прошло то время, когда среды разработки от Microsoft подвергались повсеместной критике и вызывали желание закрыть их поскорее. Конечно, если сравнивать Visual FoxPro с более современными средами разработки, то можно найти ряд достаточно заметных для глаза несоответствий новейшим стандартам. Но если вспомнить о том, что речь идет о программном продукте, последний раз обновлявшемся несколько лет назад, то можно утверждать, что тогдашним стандартам Visual FoxPro соответствует на 100%.
На самом же деле, среда Visual FoxPro, как и другие продукты, названия которых начинаются с «Visual», весьма дружелюбна к разработчику. Подсветка синтаксиса кода, разнообразные подсказки по ходу написания кода, отладчик (какая же интегрированная среда разработки без него?), визуальный редактор форм, существенно упрощающий жизнь разработчика при проектировании интерфейса. В общем, как ни крути, среда разработки, созданная крупнейшим в мире разработчиком софта, так или иначе должна была соответствовать этому высокому званию.
Нельзя сказать, что с выходом последней версии земной путь Visual FoxPro оборвался. До сих пор по всему миру успешно работают десятки, если не сотни тысяч приложений, написанные с его использованием. Да и новые никто, в общем-то, не запрещает писать, потому что даже сегодня Visual FoxPro отлично подходит для решения многих задач.
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Microsoft Visual FoxPro
Версия 9.0, выпущенная в 2004 году и обновленная в 2007 году, является окончательной версией продукта.
Содержание
История
Развитие
В конце 2002 года было показано, что Visual FoxPro может работать на Linux под Wine, однако это, по существу, нарушает пользовательское лицензионное соглашение (EULA).
В декабре 2005 года, VFP (Visual FoxPro) находился в Top 20 индекса языков программирования TIOBE. По состоянию на август 2010 года, VFP (в сочетании с XBase) находился на 25-й позиции индекса.
В марте 2007 года Microsoft объявила, что не будет выпускать VFP 10; соответственно, VFP 9 (выпущен в производство 17 декабря 2004 г.) — последний коммерческий релиз VFP от Microsoft. Поддержка версии 9 продолжается с пакетами обновления, которые были выпущены 8 декабря 2005 и 11 октября 2007 года.
Разработка продукта MS прекращена с выходом SP2 для версии 9.0.[3].
В конце марта 2007 организовалось движение испаноязычного FoxPro-сообщества MasFoxPro (MoreFoxPro в английском), целью которого стало написание петиции в Microsoft с предложением продолжить работу по обновлению Visual FoxPro или открыть исходные коды.
3 апреля 2007 Microsoft ответила на просьбы заявителя таким заявлением от Алана Гривера (Alan Griver): «Мы хорошо знаем FoxPro-сообщество, и это сыграло большую роль в нашем объявлении от 13 марта. Всегда нелегко объявлять, что мы не собираемся выпускать следующую версию продукта, и к подобному мы подходим очень осторожно.
Мы не объявляем конец FoxPro: очевидно, приложения FoxPro будут продолжать работать. Согласно нашим внутренним оценкам в FoxPro 2.6 работает гораздо больше приложений, чем в VFP, а ведь FoxPro 2.6 не поддерживается много лет. Visual FoxPro 9.0 будет поддерживаться Microsoft до 2015 года.
Чтобы далее развивать FoxPro, нам потребовалось бы приступить к созданию 64-разрядной среды разработки, что привело бы к практически полной переработке продукта. Кроме того, мы инвестируем в Microsoft SQL Server как в масштабируемую СУБД, в том числе поставляя бесплатную редакцию SQL Server Express Edition. Мы рассматривали передачу системы одному из наших партнёров, однако крупные FoxPro-клиенты дали нам понять, что они не будут использовать FoxPro, если эта система перестанет поставляться проверенным вендором. Мы полагаем, что наилучшее решение — выложить открытые исходные коды среды на CodePlex, что уравновесит потребности как сообщества, так и крупных клиентов.»
История версий
Все версии указаны для Windows.
Дата выхода | Версия |
---|---|
June 1995 | Visual FoxPro 3.0 |
October 1996 | Visual FoxPro 5.0 |
October 1997 | Visual FoxPro 5.0a |
18 May 1998 | Visual FoxPro 6.0 |
27 June 2001 | Visual FoxPro 7.0 |
1 February 2003 | Visual FoxPro 8.0 |
7 October 2003 | Visual FoxPro 8.0 Service Pack 1 |
20 December 2004 | Visual FoxPro 9 |
20 December 2004 | Visual FoxPro 9 |
8 December 2005 | Visual FoxPro 9 Service Pack 1 |
16 October 2007 | Visual FoxPro 9 Service Pack 2 |
Достоинства
– интеграция с Microsoft Office 2007;
– возможность совместной работы над проектом;
– поддержка более 40 форматов файлов баз данных;
– интеграция с системой контроля версий Visual Source Safe;
– поддержка технологии OLE Automation;
– возможность разработки серверных приложений;
– большая библиотека с различными примерами кода;
– высокая производительность при работе с таблицами базы данных;
– встроенный словарь данных;
– высокая скорость обработки серверных запросов;
– поддержка графиков и диаграмм.
Недостатки
– для написания серверных приложений используется узкоспециализированный язык программирования FoxPro (диалект языка xBase);
– Microsoft больше не поддерживает данный продукт;
– несовместимость с 64-битными ОС;
– эта IDE поддерживает современные ОС Windows 8 / 10. [Источник 2]
Совместимость с операционными системами
Версия | VFP 3.0 | VFP 5.0 | VFP 6.0 | VFP 7.0 | VFP 8.1 | VFP 9.0 |
---|---|---|---|---|---|---|
Windows 3.x | ДА | НЕТ | НЕТ | НЕТ | НЕТ | НЕТ |
Windows NT 4.0 | ДА | ДА | ДА | ДА | НЕТ | НЕТ |
Windows 95 | ДА | ДА | Только среда запуска (Runtime) | НЕТ | НЕТ | НЕТ |
Windows 98 | ДА | ДА | ДА | ДА | Только среда запуска (Runtime) | Только среда запуска (Runtime) |
Windows ME | ДА | ДА | ДА | ДА | Только среда запуска (Runtime) | Только среда запуска (Runtime) |
Windows 2000 | ДА | ДА | ДА | ДА | ДА | ДА |
Windows XP | ДА | ДА | ДА | ДА | ДА | ДА |
Windows Server 2003 | ? | ДА | ДА | ДА | ДА | ДА |
Windows Vista | В режиме совместимости | ДА | ДА | ДА | ДА | ДА |
Windows 7 | ДА | ДА | ДА | ДА | ДА | ДА |
Образцы кода
Объекты
Обработка данных
Язык также имеет обширные команды управления базами данных и индексирования. Индекс «help» команд в VFP 9 содержит несколько сотен команд и функций. В приведенных ниже примерах показано, как закодировать создание и индексирование таблиц, однако в VFP есть экраны таблиц и баз данных, которые создают таблицы и индексы без необходимости писать код.
Доступ ODBC с использованием пересылки SQL
Итог о продукте
В настоящее время Visual FoxPro не рассматривается профессиональными разработчиками в качестве надежной и удобной IDE для работы с реляционными базами данными. Хотя нельзя сказать, что она полностью утратила свою популярность в связи с утратой поддержки от Microsoft в 2015 году, так как во многих учебных заведениях Испании, Индии, Чили и Аргентины студенты и преподаватели все еще пользуются этим приложением. В свою очередь, отечественные программисты уже полностью перешли на альтернативный продукт от Microsoft SQL Server. [Источник 3]