Почему Harbour ?

Если в двух словах, то: потому что Harbour - современная среда программирования, которая позволяет создавать любые приложения, которые мне нужны, привычными для меня средствами, удобным для меня способом.

Я уже писал здесь об особенностях языка, которые делают его мощным и удобным инструментом. Повторю самые важные моменты опять.

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

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

Родная, встроенная система управления данными. Пользуясь командами и функциями Clipper/Harbour, вы можете создавать, модифицировать, индексировать базы данных, осуществлять в них поиск - т.е. делать все, для чего предназначены базы данных. Причем средства эти - удобные и мощные и высокопроизводительные. Мы часто сталкиваемся с необходимостью использования в программе базы данных и всегда возникает вопрос: что использовать? Нередко приходится встречать программы сторонних производителей, которые мы вынуждены использовать для отчетности перед разными государственными органами, где в качестве СУБД используется или что-то вроде Firebird или даже монстр типа MS SQL, хотя данных, которые там хранятся - кот наплакал. Если бы эти программы делались на Harbour :), все было бы гораздо проще, быстрее, лучше - и не приходилось бы устанавливать у многочисленных клиентов копии этих СУБД, зачастую с нарушением лицензий.

Система расширения, которая позволяет прилинковывать к программе модули, написанные на С, или, наоборот, в приложение, написанное на С, внедрять модули, сделанные на Harbour. Это означает, что вы практически не ограничены в средствах реализации любых задач. Если какую-то вещь трудно реализовать непосредственно на языке Clipper/Harbour, или вам требуется более высокая скорость исполнения какого-то фрагмента, вы можете написать его на C и вызвать как обычную функцию из Harbour-кода. Вы получаете доступ ко всему арсеналу современного ПО, т.к. большинство программных продуктов, предназначенных для использования с конечными пользовательскими программами, имеют C/С++ API, и, значит, могут быть использованы в Harbour программе - для этого надо написать промежуточный модуль на C. Это очень важно, это, повторю еще раз, дает вам неограниченные возможности.

Благодаря этой системе расширения для Harbour уже написано множество дополнительных библиотек и инструментов. Не буду их здесь перечислять, отмечу только те, к которым сам имею непосредственное отношение - HwGUI, Letodb ( клиент-серверная СУБД ) и RDDADS (драйвер для Advantage Database Server ).

Кроссплатформенность. Посмотрите на всем известный Консультант Плюс - они до сих пор не могут создать версию под Линукс; под обычным Wine он не работает, надо покупать Wine от Etersoft - да и в этом случае с появлением обновлений Консультанта появляются и большие проблемы. То же и с Гарантом, и с кучей всякого софта, который нам навязывают государственные организации для предоставления отчетности и для связи с ними. Да и с печально известной 1С, и с Парусом и пр. такая же картина. А вот если бы они использовали Harbour :), проблем с переносом на другие платформы было у них гораздо меньше.

Я пишу и поддерживаю разнообразный софт для предприятия, на котором работаю - это и бухгалтерия, и системы сбора данных с датчиков на производстве, с электросчетчиков и пр. Все эти программы работают и под Windows, и под Linux, где это более целесообразно - в консольном режиме, где это требуется - с GUI. Обеспечить такое разнообразие конфигураций при моих ограниченных силах удается потому, что я использую Harbour.