|
Algol (Algorithmic Language - алгоритмический язык). Создан в 50-х гг. XX в., использовался при программировании вычислительных задач в математике, физике и т.д.
Algol-60 - международный язык программирования, использовавший стандартную математическую символику и некоторые английские термины. В национальных версиях языка эти термины могли быть изменены, хотя в целях упрощения международного обмена программами этого обычно не делали. Algol принято считать исходной теоретичесой базой для всех остальных входных языков. [1]
Basic (Beginner's ALL-purpose Symbolic Instruction Code - язык символьных конструкций для начинающих) - создан в 1965 г. используется для написания программ решения прикладных задач инженерами и популярен среди пользователей, не являющихся профессиональными программистами. Особенно широкое распространение получил с появлением персональных ЭВМ. [1]
Cobol (Common Business Oriented Language - язык, ориентированный на обработку коммерческой информации) - создан в 1960 г. и использовался для обработки табличной и другой информации. [1]
Codasyl - это язык для описания и манипулирования данных, позволяющий описывать не только иерархические, но и многие сетевые структуры. основой языка Codasyl является понятие набора. Набор представляет собой именованное двухуровневое дерево. Его исходная запись (первый уровень) называется владельцем набора, а порожденные записи (второй уровень) - членами этого набора.
При описании данных приводятся не сами записи, а их типы, называемые также схемами. Примером двухуровневого набора может служить структура, в которой записью-владельцем является счет вкладчика сберкассы, а записями-членами - операции с этим счетом. В схемах записей указываются имена атрибутов, а также типы и форматы их значений (например, имя атрибута - фамилия, имя и отчество вкладчика, тип - алфавитный, формат - 30 букв). Описание схемы набора включает в себя имя набора, после чего объявляется и описывается сначала его владелец, а затем - члены.
Каждый из членов одного набора может быть объявлен владельцем другого набора. Продолжая этот процесс можно описать любую иерархическую структуру. Кроме того, не запрещаются и другие способы комбинаций наборов, благодаря чему создается возможность описывать непосредственно (без предварительного сведения их к иерархическим структурам) достаточно сложные сетевые ресурсы. Например, можно создавать два набора с одинаковыми членами, но разными владельцами, и т.п. В целом процесс описания схем данных с помощью наборов напоминает процесс сборки изделия из готовых конструктивных элементов.
Для указания способов вхождения в базу данных используется понятие так называемого сингулярного набора. Владельцем каждого такого набора объявляется система (операционная система ЭВМ, через которую прикладные программы взаимодействуют с базой данных). В отличие от других наборов, у которых схема набора и описываемый ею двухуровневый иерархический файл различны между собой (в схеме даны имена атрибутов, а в файле - их значения).
Смысл введения сингулярного набора состоял в следующем. Если прикладная программа хочет обратиться к какой-то записи, то для ее полного именования (с целью правильной адресации) следует использовать последовательность имен записей, начиная с члена одного из сингулярных наборов, которые связаны между собой отношениями владелец-член. Например, если в базе данных записана информация об операциях по счетам вкладчиков не в одной, а в нескольких сберкассах, то простейшая схема структуры данных этой базы в приципе задается двуями наборами: в первом владельцем является сберкасса, а член - операция. В языке Codasyl к этим наборам нужно добавить набор, владельцем которого является система, а членом - сберкасса. Этим предопределяется тот факт, что прикладная программа, желая обратиться к какой-то конкретной записи о той или иной операции, должна именовать это обращение последовательностью имен сберкассы, вкладчика и операции. В противном случае обращение может оказаться неоднозначным.
Описание в языке Сodasyl начинается с объявления имени схемы. Далее следует объявдение имени области, за которым следует описание записей, принадлежащих этой области. В одну область проектировщик базы данных помещает те записи, которые по его мнению, будут часто использоваться совместно. Используя подобное разбиение по областям, программы, управляющие размещением данных в памяти, выполняют это размещение так, чтобы данные, принадлежащие к одной области, размещались в запоминающее устройство близко друг к другу (в смысле времени перехода). Описание записей делается средствами, близкими к Коболу.
К Каждому типу записи (или ее элементу) может быть приписан так называемый замок секретности, в качестве которого могут употребляться специальные кодовые слова - пароль или специальная прикладная программа (составляемая владельцем информации). Такая программа определяет некоторую процедуру, разрешающую доступ к данным (например, серию вопросов, на которые программа, обращающаяся к данным, должна дать правильные ответы). При неправильных ответах (в простейшем случае - при незнании пароля) доступ к данным будет закрыт. Замками секретности могут снабжаться также и другие части описаний - схемы, области, наборы (члены набора) и др.
В конце описания описываются наборы (связи между данными). Для каждого набора указывается его имя и указание на характер размещения его членов (они могут помещаться) в память либо в случайном порядке, либо упорядочиваться по ключу, указывается имя владельца набора, а затем - имена членов (с указанием ключа).
Операторы языка Codasyl:
ЯМД - список расширения средств манипулирования данными, которые встроены в Кобол.
Open (открыть) - открывает (т.е. делает доступным прикладной программе) файл или набор, имя которого указывается после имени оператора. Поскольку открытие наборами файла влечен за собой приведение в готовность соответствующего механизма доступа к нему, а этот механизм может подтребоваться другим программам, то после исчерпания потребности в открытом файле (наборе) он закрывается оператором close (закрыть).
Find (найти) - находит в базе данных запись, имя которой приводится в составе оператора, и делает ее текущей записью программы.
Get (взять) - передает в рабочую область программы значения указанных элементов поименованной записи.
Modify (модифицировать) - изменяет значение определенных элементов данных поименованной записи. Новые значения данных берутся при этом из рабочей области программы.
Insert (вставить) - вставляет в указанный набор Codasyl'а в качестве нового члена запись из рабочей области программы.
Обратный оператор Remove (удалить) - удаляет из набора поименованный экземпляр записи.
Store (заполнить) выполняет вставку в базу данных новой записи с организацией всех необходимых связей. В частности таким образом может быть вставлена новая запись - владелец набора.
Обратный оператор Delete (устранить) - удаляет из базы данных указанную запись и уничтожает все ее связи.
Keep (удерживать) - сохраняет настройку механизма доступа к записи с целью устранения повторных обращений.
Обратный оператор Free (освободить) - отменяет действие оператора keep.
Order (упорядочить) - записи в поименованном файле или наборе упорядочиваются по указанному ключу в убывающей или возрастающей последовательности значений. [1]
Fortran (Formula Translation - трансляция формул) - создан в середине 50-х гг. XX в., ориентирован на создание программ проведения расчетов при решении задач, использующих математическое моделирование. [1]
PL-1 - соединяет в себе черты, характерные для языков, предназначенных для научных расчетов, и языков для обработки данных. Это очень мощный в свое время язык, получавший с каждым годом все большее распространение. В PL-1 помимо операций над сколярами употребляются операции над массивами и другими структурами данных.
С помощью подпрограмм такие операции можно было определять и в других языках. Однако в PL-1 они вводились более естественным на тот момент путем, позволяя, в частности, строить наряду с обычными скалярными выражениями выражения (формулы) над структурами данных. В PL-1 значительно расширились средства управления вычислительным процессом. В частности, имелись средства для выделения ветвей процессов, которые могли выполняться независимо (асинхронно) от породивших их процессов, а затем снова сливаться (синхронизироваться) с ними. Файлы в этом языке в некоторых русских публикациях, посвященных языку PL-1, назывались теками. Язык управления данными в PL-1 также отличался богатством своих средств, заимствованных из практики работы с операционными системами. [1]
Источник:
[1] Неизвестен.
|