LINC («Logic and Information Network Compiler») — язык программирования четвертого поколения , [1] используемый в основном в компьютерных системах Unisys .
Первоначально LINC был разработан как сокращение (или шаблон) двумя программистами для воспроизведения и автоматизации производства компьютерных приложений для разных компаний, которые имели схожие требования и спецификации. Требования были схожи, поскольку компании следовали общей, общей бизнес-модели.
То есть, эти предприятия имели дело с «товарами», или «деталями», или «поставщиками», или «клиентами» (называемые «компонентами» в терминологии LINC). Они были «изготовлены», или «собраны», или «куплены», или «проданы» (действия, называемые «событиями» в терминологии LINC).
Эти компоненты и события представляли собой «спецификации интерфейса» или «ispecs» и содержали определения базы данных, дизайны экранов и бизнес-правила прикладной системы.
LIRC (Logic and Information Report Compiler) был частью LINC и был разработан, чтобы позволить программисту создавать отчеты (например, «заказы на закупку», «счета-фактуры», «кредитные ноты», «накладные», «счета-фактуры»). Доступ к информации в этих отчетах осуществлялся с использованием различных определяемых пользователем представлений этих компонентов и событий, называемых «профилями».
Поскольку отчеты запускаются как отдельная задача (как отдельный поток выполнения), их также можно записать для работы в качестве фонового процесса; то есть он может сам себя засыпать на определенный период времени или до тех пор, пока его не разбудят, чтобы выполнить некоторую обработку, а затем снова засыпать.
Одной из причин введения этой новой терминологии было сделать систему проще для программистов. Она изолировала их от многих базовых технологий. (Аналогично, для структур управления намеренно использовались разные названия: DO.WHEN вместо IF или LOOP, и LOOK.UP или DETERMINE вместо READ, с автоматически сгенерированными операторами OPEN и CLOSE.)
То, что позволило LINC сделать программистов намного более эффективными, а создаваемые ими прикладные системы более удобными для чтения и обслуживания, и отличало его от просто еще одного языка высокого уровня третьего поколения , было предположением, использованием и полной опорой LINC на все доступные и упакованные в компьютер Burroughs возможности, для которого он был написан: операционная система, язык управления заданиями, язык программирования COBOL, система управления базами данных, определение сети, пользовательский терминал и т. д. (См. также «историю» ниже.)
Начиная с версии 11, его характер изменился. Если раньше спецификации LINC (и LIRC) хранились в файлах исходного кода, то теперь они хранились в базе данных (спроектированной и разработанной с использованием LINC 4GL) и подвергались строгой автоматической проверке. Новая система на основе LINC, в которой хранились спецификации, была названа интерактивной средой LINC или средой разработки LINC (LDE).
Широкое применение терминальной «рисования экрана» (т. е. «макета» экрана ввода данных ЭЛТ ) использовалось для содействия определению системы, например, для определения атрибутов базы данных компонента (имя, длина, буква (число), правила проверки и т. д., а также для определения макетов отчетов).
В начале 1990-х годов был выпущен новый инструмент на базе ПК для разработки спецификаций LINC — LINC Development Assistant (LDA). LDA был написан на смеси Smalltalk и C++, а не на LINC 4GL (последний не предназначался для работы на персональном компьютере). Начиная с версии 17 предполагалось, что вся разработка будет осуществляться с помощью LDA.
Теперь LINC известен как Unisys Enterprise Application Environment (EAE) и может генерировать код COBOL для мэйнфреймов Burroughs & Sperry, Microsoft Windows и различных платформ Unix и Linux . Он также будет генерировать клиентские интерфейсы GUI в
в дополнение к компиляции сгенерированного кода и развертыванию баз данных для соответствия спецификации. Поддерживаемые базы данных включают Burroughs DMSII , Sperry RDMS , Oracle database и Microsoft SQL Server .
Недавнее обновление:
Unisys заменяет EAE на Unisys Agile Business Suite (AB Suite). Язык LDL повышается до LDL+ с новыми объектно-ориентированными функциями. Среда разработки использует Microsoft Visual Studio IDE. Подход Model Driven расширяется с помощью диаграммы классов на основе UML, интегрированной со всем исходным кодом решения, таким образом, что достигается обновление в обоих направлениях. Изменения в бизнес-правилах могут привести к изменениям в представлении UML и наоборот.
AB Suite 4.0 использует Visual Studio 2012 и интегрируется с Team Foundation Server 2012.
AB Suite генерирует либо среду .NET, либо среду ClearPath MCP.
С AB Suite разработчику приходится писать меньше кода, чем в традиционной среде C# или Java. [ необходима цитата ]
LINC был первоначально разработан двумя новозеландскими программистами ( Джил Симпсон [1] и Питер Хоскинс) во время работы в Саудовской Аравии в начале 1980-х годов. Он был впервые разработан исключительно для работы с одной моделью компьютерной системы Burroughs, включающей полностью интегрированную систему:
и т. д.
Система LINC создала исходный код 3rd GL COBOL (приложение), DMSII (определение базы данных), NDLII (описание сети) и WFL (управление заданиями). Операторы управления заданиями впоследствии сами запускались для компиляции других элементов и создания интегрированной системы базы данных, приложений и сети пользовательских терминалов.
Burroughs приобрела права на продажу продукта в 1982 году, в то время как разработка продукта была сохранена за первоначальными изобретателями. Первоначальным требованием было расширить продукт для использования с вычислительными платформами Burroughs среднего и большого масштаба .
После слияния Burroughs с Sperry Corporation и образования Unisys язык был расширен и стал использоваться также на машинах серии UNIVAC 1100/2200 компании Sperry .
Впоследствии в Крайстчерче Джилом Симпсоном был создан новозеландский центр разработки для разработки продукта. Право собственности впоследствии было передано Unisys, а ресурсы центра продукта и мэйнфрейм-компьютеров были переданы Unisys ACUS , «Австралийскому центру программного обеспечения Unisys» в Сиднее, Австралия .
Команда Gil Simpsons из Крайстчерча продолжила работу над созданием языка/базы данных Jade , которая могла импортировать и запускать код LINC на серийном оборудовании.
Сам LINC поддерживается (поддерживалась) на следующих платформах:
Разработка велась компанией ACUS Unisys, но в начале 2008 года была передана от ACUS на аутсорсинг индийской компании. В конечном итоге продукт был продан более чем4000 клиентов по всему миру.
В принципе, LINC не может конкурировать с множеством готовых систем, легко доступных из многих других источников (особенно IBM ). Стоимость покупки и настройки существующего продукта (например, системы розничного банкинга Hogan) воспринимается как менее затратная/рискованная, чем использование LINC для создания с нуля целой бизнес-системы со всеми ее правилами.
Другие недостатки возникают в основном из-за его зависимости от Burroughs DMS и COBOL, которые существенно отличаются от других вычислительных платформ.