Clarion является коммерческим, патентованный, язык четвертого поколения программирования (4GL), мульти-парадигмы , языка программирования и интегрированная среда разработки (IDE) от SoftVelocity используется для приложений баз данных программы. Он совместим с индексированным методом последовательного доступа ( ISAM ), языком структурированных запросов ( SQL ) и методами доступа к данным объектов данных ActiveX (ADO), читает и записывает несколько форматов настольных баз данных с плоскими файлами, включая ASCII , значения, разделенные запятыми (CSV), DOS (двоичный), FoxPro, Clipper , dBase и некоторые реляционные базы данных через ODBC , Microsoft SQL Server , Sybase SQL Anywhere и Oracle Database за счет использования ускоренных собственных драйверов баз данных и XML , Clarion можно использовать для вывода в HTML , XML , обычный текст и Portable Document Format ( PDF ), среди прочего.
Парадигмы | Императивный , структурированный , объектно-ориентированный |
---|---|
Семья | Паскаль |
Разработчик | Jensen & Partners International (JPI), Clarion International, SoftVelocity |
Впервые появился | Апрель 1986 г . |
Стабильный выпуск | 11 / Октябрь 2018 |
Платформа | IA-32 |
Операционные системы | DOS , Windows |
Лицензия | Проприетарный |
Веб-сайт | www |
Среда разработки Clarion (IDE) работает на языке Clarion. IDE предоставляет средства генерации кода через систему шаблонов, которые позволяют программистам описывать программу с абстрактного уровня выше, чем операторы кода. Затем генератор преобразует этот более высокий уровень в код, который, в свою очередь, затем компилируется и связывается с использованием обычного компилятора и компоновщика. Этот уровень генерации иногда называют программированием 4GL. Использование слоя генерации необязательно. Можно создавать программы полностью на уровне кода (так называемый уровень 3GL), минуя все средства генерации кода.
Если шаблоны используются для генерации кода, тогда программисты могут внедрять свой собственный код в сгенерированный код для изменения или расширения функций, предлагаемых уровнем шаблона. Этот процесс внедрения кода можно выполнить, просматривая сгенерированный код окружения. Такое смешение кода шаблона и сгенерированного кода позволяет обновлять настройки шаблона и регенерировать код без потери встроенного кода.
Шаблоны (из которых создается код) предоставляются в исходной форме, и разработчики могут создавать свои собственные шаблоны. Многие шаблоны были написаны разными разработчиками: некоторые из них предлагаются как коммерческие надстройки, а некоторые бесплатны.
Существует три основных продукта Clarion: Professional Edition, Enterprise Edition и .NET.
История
Первым выпуском языка Clarion был продукт DOS под названием Clarion 1.0, который впервые был выпущен в апреле 1986 года. Clarion был создан Брюсом Баррингтоном, одним из основателей медицинской фирмы «HBO & Company» (позже приобретенной McKesson Corporation , [1] ] ) и небольшую команду разработчиков. Целью Баррингтона было создание языка, который был бы компактным и выразительным и позволил бы максимально использовать отображаемый в памяти экран IBM PC за счет создания дизайнера экрана. Версия 1 произвела псевдокод ; в первоначальный выпуск входили дизайнер экрана, интерпретатор, редактор и отладчик. Первоначально он поддерживал базы данных, состоящие из файлов DAT, которые были проприетарным форматом файлов ISAM от Clarion. Брюс Баррингтон основал Barrington Systems и выпустил версию 1.0.
Clarion 1.0 требовал использования электронного ключа в то время, когда отраслевые настроения были настроены против электронных ключей. Это было компенсировано возможностью создавать приложения без лицензионных отчислений. Ключ был опущен в версии 1.1.
В то время продавалась еще более базовая версия. Названный Personal Developer, он строго ограничивал возможности пользователя, но подходил для очень простых приложений баз данных. Это стоит намного меньше, чем Professional Developer 1.x.
Версия 2.0, выпущенная в мае 1988 года, получила название Clarion Professional Developer (CPD) и включала компонент под названием Designer, который включал словарь данных. CPD сгенерировал код Clarion на основе содержимого этого словаря и шаблона, называемого «файлом модели». Поскольку файл модели был текстовым файлом, его можно было модифицировать (ограниченными способами) для создания собственного кода. Файл модели был реализован с использованием парадигмы «просмотр и форма», при которой данные изначально отображаются пользователю в поле списка, а обновление выполняется через форму, вызываемую с помощью кнопок, связанных со списком. Дизайнер создал все необходимое для кода CRUD (создание, чтение, обновление, удаление), и разработчики могли улучшать функции, вставляя код в определенные точки сгенерированного кода или вручную кодируя новые процедуры. Clarion Professional Developer также представил модули расширения языка (LEM), которые могут расширять язык с помощью модулей, скомпилированных на других языках, которые были построены в формате LEM. Clarion Software и многие сторонние разработчики инструментов создали LEM для всех целей, включая расширение для подключения к другим базам данных, таким как dBase , Clipper и Paradox .
CPD 2.x был решением для базы данных со всем необходимым для экранов, отчетов, баз данных и файлов справки. Версия Clarion 2.x для конечных пользователей, Clarion Personal Developer, также была выпущена для бизнес-пользователей для создания личных приложений. Примерно тогда же Clarion выпустила Clarion Report Writer. Он был создан как автономный продукт для конечных пользователей Clarion Personal Developer и пользователей программ, написанных разработчиками с помощью CPD, так и как встроенная программа в комплекте с Clarion Professional Developer версии 2.1, выпущенной в 1989 году.
В 1991 году Баррингтон лицензировал технологию компиляции у компании Jensen & Partners International (JPI).
JPI была основана в 1987 году Нильсом Йенсеном, который ранее (1979 или 1981) был одним из основателей Borland . Филипп Кан был маркетологом, который построил Borland на основе компилятора Turbo Pascal за 99 долларов . Нильс и его команда работали над новой технологией компилятора в Borland, когда Кан решил купить Wizard C и назвать его Turbo C. Нильс и несколько других разработчиков покинули Borland и основали JPI, где они продолжили работу над своей технологией компилятора под названием TopSpeed. , которую они купили у Borland за 1,7 миллиона долларов.
Clarion Database Developer 3.0 (CDD) был выпущен в 1993 году. Это был революционный продукт, добавляющий множество функций и технологий, позволяющих создавать программы с пользовательским интерфейсом Common User Access (CUA), подобным Windows . Многие изменения CDD хорошо вписываются в парадигму программирования Windows и закладывают основу для будущего продукта Clarion для Windows.
CDD IDE была совершенно новой и основана на JPI IDE. Он включал в себя множество инструментов профессионального качества для программирования: редактор, систему проектов, компилятор, компоновщик, визуальный отладчик. Исчез p-код CPD. Компилятор JPI для языка Clarion создал настоящий машинный код .exes , LIB и библиотеки динамической компоновки (DLL). Двоичные файлы могут быть скомпилированы для защищенного режима, позволяющего программам DOS использовать расширенную память, преодолевая барьер в 640 КБ.
Язык Clarion 3.0 был улучшен многими способами, например: новые типы данных (CSTRING, PSTRING, DATE, TIME, USHORT, ULONG), система файловых драйверов (например, Btrieve, Clarion, Dbase, FoxPro, Paradox), очереди (таблицы) были улучшена обработка экрана для CUA. Генерация кода моделями была заменена шаблонами, которые имели больше функций и были расширяемыми. Это позволило сгенерировать гораздо более надежный и сложный код.
Со всей этой новой силой пришли сложности. Многие существующие пользователи сочли переход на CDD трудным. CPD был простым и легким в использовании, что привлекало многих непрограммистов, которые могли создавать программы, отвечая на вопросы. CDD больше подходил для профессиональных программистов. Программы все еще можно было разрабатывать так же легко, но размер и обширные возможности IDE делали ее сложной.
Первые 5 выпусков исправлений CDD содержали ошибки до такой степени, что их нельзя было использовать, что заставило так много пользователей отказаться от продукта, что это стало почти катастрофой для компании. Clarion продолжал работать над CDD, и к версии 3.007 его можно было использовать.
Версия 3.1 под названием Clarion для DOS (CFD) была выпущена в 1995 году. Она оказалась намного более стабильной, но к тому времени к инструментам разработки DOS не было особого интереса. Важной особенностью был файловый драйвер TopSpeed, формат файла ISAM, позволяющий содержать все индексы и несколько файлов данных в одном файле на диске.
За это время отношения между Clarion Software и JPI стали более тесными, и 30 апреля 1992 года Clarion объединилась с JPI, чтобы сформировать юридическое лицо, которое в конечном итоге будет называться TopSpeed Corporation. Сотрудники Центра разработки TopSpeed в Лондоне приступили к работе над CDD и устранили многие ошибки.
TopSpeed выпустил Clarion для Windows версии 1.0 (также известный как CW 1.0) в январе 1995 года. Последний выпуск 1.003 был выпущен в июне 1995 года. Среда IDE была полностью написана как графический интерфейс Windows и могла создавать исполняемые файлы Win16 EXE и DLL для работы в Windows 3.x. Язык содержит множество улучшений, необходимых для поддержки пользовательского интерфейса Windows, управляемого событиями. Разработчик Clarion может легко создать многопоточное приложение MDI. CW 1.0 продолжил гибкость базы данных, добавленную в CDD, а также добавил драйвер ODBC, позволяющий подключаться к базам данных SQL или любому источнику, поддерживаемому ODBC.
Модель монолитного шаблона DOS была значительно улучшена в CW 1.0 и заменена моделью, которая позволяла окну использовать несколько шаблонов (шаблоны расширения, управления или процедуры). Например, в DOS процедура экрана может поддерживать просмотр одной таблицы данных. В CW 1.0 окно могло использовать несколько шаблонов управления обзором, каждый из которых отображал отдельную таблицу. Это изменение дизайна стало значительным улучшением возможностей генерации кода Clarion.
Clarion для Windows версии 1.5 (также известный как CW 1.5) был выпущен в сентябре 1995 года, а последний выпуск 1.502 - в январе 1996 года. В этой версии добавлена поддержка создания собственных двоичных файлов Win32 для Windows 95 и Windows NT 4. Тот же исходный код может быть нацелен на Win16 или Win32. IDE осталась 16-разрядной, но в нее были добавлены 32-разрядные компиляторы, компоновщик и отладчик.
Clarion для Windows версии 2 (также известный как CW20) был выпущен в июне 1996 года, а последний выпуск 2.003 - в марте 1997 года. CW20 добавил в язык классические возможности объектно-ориентированного программирования , включая наследование, инкапсуляцию, виртуальные методы и перегрузку. CW20 расширенная поддержка 32-битной версии, добавленная поддержка ActiveX и расширенная поддержка SQL.
Clarion 4 (он же C4) был выпущен в декабре 1997 года, а последний выпуск 4.002 - в мае 1998 года. TopSpeed решил пропустить ужасную версию номер три (официальное объяснение состояло в том, что CW 1.5 "должен был быть CW 2.0", поэтому CW 2.0 "должен был иметь был CW 3.0 ", так что давайте просто назовем следующую версию 4). Из-за того, что разработка DOS прекратилась, название упало с названия "для Windows".
C4 поставляется с новым набором шаблонов и библиотекой классов Application Builder Classes (ABC). Исходный набор шаблонов генерировал процедурный код, который становился все более сложным. Набор шаблонов ABC генерировал гораздо меньше кода и использовал библиотеку классов, которая содержала большую часть логики для окон, браузеров, форм и т. Д. C4 улучшил ООП, добавив конструкторы и деструкторы (без параметров).
Clarion 5 (также известный как C5) был выпущен в мае 1998 года, а последняя версия 5.0B - в июне 1999 года. Продукт был разделен на версии Professional и Enterprise.
Clarion 5.5 (он же C55) был выпущен в августе 2000 года, а последний выпуск 5.507 - в январе 2002 года. C55 добавил интерфейсы в ООП.
Clarion 6.0 (он же C6) был выпущен в ноябре 2003 года и добавил прямую поддержку вытесняющей многопоточности .
Clarion 6.1 был выпущен в мае 2004 года.
Clarion 6.2 был выпущен в мае 2005 года.
Clarion 6.3, выпущенный в январе 2006 г. Это последний выпуск 16-разрядной среды разработки Clarion, за исключением исправлений. Использование 16-битной IDE вызвало некоторые проблемы с использованием текущих технологий Windows (ActiveX, OCX, COM, DOC, ...); однако обратите внимание, что Clarion серии 6.x создает собственные исполняемые файлы Win32 (32-разрядные exes и / или dll). Предыдущие версии производили как 16-битные, так и 32-битные исполняемые файлы, поддержка 16-битных версий была исключена из продукта конечного пользователя с версией 6.0 Clarion.
13 апреля 2009 года SoftVelocity выпустила Clarion 7 (он же C7). Новая среда IDE будет выглядеть знакомой пользователям SharpDevelop , SoftVelocity получила коммерческую лицензию на код SharpDevelop и интегрировала технологию генерации кода и приложений Clarion, исправила и расширила базовые функции. Основные новые функции (помимо стандартных современных функций IDE, отсутствующих в C6) включают систему сборки, основанную на MSBuild, и обратную совместимость со всеми выпусками Clarion до Clarion для Windows 1.5.
Clarion по-прежнему является средой разработки Win32, но доступна бета- версия языка .NET Framework под названием Clarion # . И Clarion #, и C7 используют одну и ту же среду IDE, хотя в настоящее время они поставляются как отдельные продукты. В отличие от Clarion 7 и более поздних версий, Clarion # еще не имеет редактора словарей или генератора приложений. Ожидалось, что одна среда разработки Clarion7 + / Clarion.Net будет поддерживать разработку как для Win32, так и для .NET. Однако, учитывая, что прошло по крайней мере 14 лет с тех пор, как Clarion.Net был объявлен без золотого выпуска, будущее Clarion.Net неясно.
В новой среде IDE (в режиме Clarion #) сохраняется возможность создания приложений .NET с помощью VB.NET и C #.
12 сентября 2011 года SoftVelocity выпустила Clarion 8. Она продолжает линию Clarion 7 (последней версией была C7.3).
В августе 2014 года был выпущен C9.1 Gold.
В ноябре 2015 года был выпущен Clarion 10.
В октябре 2018 года был выпущен Clarion 11.
C10 был переработан для создания на .NET 4
Известность
Clarion исторически известен как один из первых инструментов компьютерного программирования 4GL, впервые разработанный в 1980-х годах.
Критика
Пробная версия недоступна
По состоянию на 2016 год не существует пробной версии какой-либо редакции Clarion. Таким образом, невозможно создать простую программу «Hello World» в Clarion без предварительной покупки лицензии.
Нестандартная документация
Документация Clarion соответствует разным стандартам, при этом возможности «уровня предприятия» и «.NET» объединены в один универсальный источник справки.
Это может привести к тому, что некоторые функции будут описаны в справке (вместе с фрагментами кода), где этой функции нет в конкретном используемом продукте. Например, документация Clarion.Net включена, даже если продукт Clarion.Net не установлен. Однако документация, относящаяся к одному продукту, четко обозначена как таковая.
Документация отстала от продукта, и ясно, что она не пересматривается полностью с каждым выпуском. Например, в документации «Clarion 9» есть многочисленные ссылки на «Clarion 7». Эта проблема проявляется также на уровне «Учебник» и «Пример приложения».
Свойства языка
Clarion - это императивный язык программирования, поддерживающий синтаксис объектно-ориентированного программирования. Язык нечувствителен к регистру. Окончание строки рассматривается как неявный терминатор оператора, если не используется явный символ продолжения строки. Метки данных и программ всегда объявляются в столбце 1, код всегда с отступом от столбца 2 и далее. Дальнейшие отступы необязательны. Синтаксис кода больше всего напоминает БЕЙСИК и Паскаль по структуре, хотя язык сильно отличается от них.
Блоки кода обычно имеют неявное начало (слово BEGIN не используется) и либо явный, либо неявный конец.
Например;
Если x = 5 у = г * 3конец
Вместо оператора END можно использовать точку.
Если x = 5 у = г * 3.
Код можно объединить в одну строку с помощью оператора; разделитель (или в случае оператора IF, THEN).
Если x = 5, то y = z * 3.
Обратите внимание на период, которым завершается блок операторов IF.
Использование шаблонов
Clarion генерирует свой код с помощью шаблонов. Код, созданный с помощью шаблонов, имеет тенденцию быть очень надежным, особенно если шаблон использовался в течение некоторого времени.
Шаблоны поставляются в исходной форме и могут редактироваться, однако редактирование шаблонов доставки не рекомендуется. Код, сгенерированный шаблонами, может быть расширен или изменен путем создания дополнительных настраиваемых шаблонов или встраивания определенного кода.
Шаблоны могут создавать любой текстовый файл и не ограничиваются операторами языка.
Широкий выбор сторонних расширений, межъязыковая поддержка
Язык Clarion может взаимодействовать с библиотеками DLL, созданными на других языках. Он совместим с библиотеками, использующими метод Pascal или метод передачи параметров C. Вызовы интерфейса прикладного программирования ( API ) Windows могут выполняться непосредственно с языка.
Гибкость базы данных
Clarion ориентирован на данные, что означает, что он предназначен для использования широким кругом поставщиков баз данных и ориентирован на данные.
Этот фокус данных начинается со словаря данных, который является методом формального объявления таблиц данных. Этот словарь затем широко используется шаблонами при создании программы. Изменения на уровне словаря могут каскадно попадать в программу, вызывая автоматические изменения в программе.
Словарь данных предоставляет независимый от поставщика метод объявления таблиц, что, в свою очередь, означает, что изменение программы от одного поставщика базы данных к другому является относительно простым, в пределах ограничений, которые предоставляет выбранная база данных.
Clarion поддерживает как базы данных SQL, так и хранилища данных, отличных от SQL. Встроена поддержка популярных типов файлов ISAM (dBase, Btrieve и т. Д.), А также предусмотрены две проприетарные файловые системы ISAM (Topspeed (TPS) и Clarion (DAT)).
В программном коде таблицы - это собственный тип данных. Доступ к таблицам обеспечивается стандартным интерфейсом DLL (называемым драйвером базы данных ), который отделяет программу от выбранного хранилища данных. Эта абстракция позволяет выбранному бэкэнду изменяться либо без, либо с минимальными изменениями в программе.
Clarion изначально поддерживает множество форматов баз данных, включая, помимо прочего:
ASCII Basic BTrieve Clarion (.DAT) TopSpeed (.TPS) Clipper DBaseIII DBaseIV DOS FoxPro / FoxBase Ms-SQL (T-SQL) ODBC Pervasive SQL SQLLite MySQL Oracle ADO
Драйвер ODBC позволяет получить доступ к любому источнику ODBC. Firebird и Postgres - популярные варианты, доступ к которым осуществляется через ODBC.
Кроме того, благодаря своей способности легко взаимодействовать с любой библиотекой классов .NET, он может использовать любые новейшие технологии с точки зрения базы данных, включая ASP.NET и любые другие, доступные Microsoft, включая Windows Communication Foundation, Windows. Communication Foundation и Windows Workflow Foundation любой версии.
Обучение
Clarion - это простой язык, похожий на BASIC или Pascal, но с добавленными объектами и классами.
Словарные способности
Во всех областях «разделов объявления данных словаря данных», а именно «раздела глобальных данных», «раздела объявления данных для конкретного модуля» и «разделов объявления данных локальных данных» - когда вы объявляете простой или сложный тип данных или переменную, вы также можете объявить ее «подсказку или метку», «маску» или «картинку», независимо от того, доступны ли они только для чтения, должны ли они пропускаться в форме, на переднем плане и на заднем плане. цвета, прозрачность и множество других атрибутов.
Если эта переменная вводится в форму в среде IDE Clarion, она принимает эти свойства, и они отражаются автоматически. Словарь данных (или «база данных» в терминах SQL) содержит информацию о данных и о том, как они должны быть представлены в приложениях, которые используют объявление «базы данных».
Чем больше времени разработчик Clarion тратит на определение словаря данных, тем больше времени он сэкономит позже, когда генератор приложений 4GL выдает выходные данные, обычно списки данных с полными возможностями CRUD, проверкой и автоматическим поиском из «дочерних» таблиц.
Привет мир
Пример программы "Hello World" в Clarion:
ПРОГРАММА КАРТА КОНЕЦ КОД СООБЩЕНИЕ ('Hello World!', 'Clarion') ВОЗВРАЩАТЬСЯ
Программирование для непрограммистов
Пример кода, показанный в примере «Hello World», представляет собой пример написанного от руки кода, который компилятор Clarion легко скомпилирует. Однако большинство разработчиков не пишут целые программы на уровне кода, а используют шаблоны для генерации кода.
Благодаря этой способности описывать программу на более высоком уровне, чем код, Clarion был наиболее популярен как среди непрограммистов, так и среди программистов с ограниченными навыками или способностями. Непрограммисты могут создавать сложные программы, основанные на данных, без написания языкового кода или путем добавления лишь минимального количества собственного кода.
Глобальная карта
Одна функция Clarion называется Глобальная карта .
Внутри него объявляются определения процедур, включая, при необходимости, объявления внешних DLL или библиотек, написанных на языках, отличных от Clarion. Для использования приложением Clarion. Clarion также может создавать библиотеки DLL, которые могут использоваться внешними приложениями, отличными от Clarion, в полной мере используя все возможности Clarion 4GL и просто подключаясь к созданным процедурам.
В рамках этой MAP он может использовать все объявления Windows-API, используя, при необходимости, недокументированные типы данных, которые являются ядром операционной системы (ОС) Windows .
Взаимодействие с библиотеками .NET
Поскольку Clarion # основан на .NET версии 4 (той же версии, которая использовалась для разработки IDE Clarion 10), он позволяет разработчику использовать другие библиотеки .NET.
Преимущество прямого использования Clarion # заключается в том, что при компиляции Clarion # DLL создается файл LIB, совместимый с Clarion для Windows, и позволяет программе Clarion для Windows вызывать функции .NET в Clarion # DLL таким же образом, как и для других Библиотеки DLL Win32.
Если разработчик Clarion хочет использовать код, скомпилированный с использованием других языков, он может использовать неуправляемый экспорт - пакет NuGet, разработанный Робертом Гизеком ( https://www.nuget.org/packages/UnmanagedExports ). Неуправляемый экспорт позволяет разработчику предоставлять функции, разработанные с использованием .NET, для нативных языков в Windows. Это полезно для тех, кто должен поддерживать продукт Clarion, но не имеет возможности обновить сторонние инструменты из-за отсутствия поддержки. Большинство сторонних инструментов можно легко переписать на .NET.
Рекомендации
- ^ "История лидера медицинских услуг МакКессона: Наша история" . Маккессон. Архивировано из оригинала на 2012-03-13 . Проверено 14 марта 2012 .
- Бизнес-альянс Topspeed и Wise Solutions
- Моделирование данных и проектирование баз данных
- Интернет-издание Topspeed Ships Clarion
- Версии Clarion
- InformationWeek Clarion сокращает объем программирования
Внешние ссылки
- Официальный сайт SoftVelocity
- Официальный блог разработчиков SoftVelocity
- Официальные веб-форумы SoftVelocity, заархивированные 12 мая 2008 г. на Wayback Machine
- Интернет-журнал по разработке программного обеспечения Clarion
- ClarionLive! Еженедельный веб-семинар Clarion, проводимый разработчиками Clarion
- Центр управления данными: базы данных и таблицы ЛЮБОГО формата (TPS-DAT-CSV-SQL-MDB-XLS и т. Д.) Для ВСЕХ (включая Clarion) пользователей программного обеспечения - не более ...
- Система установки SetupBuilder для разработчиков программного обеспечения Clarion
- Thin @ Thin Client для разработки бизнес-интернет-приложений SaaS с помощью Clarion
- Comp.Lang.Clarion UseNet Group
- Clarion Integrator .Net
- Clarion FreeImage, элемент управления изображением, использующий библиотеку FreeImage
- Шаблоны Clarion, некоторые бесплатные, а некоторые платные