Смекни!
smekni.com

Языки программирования Altair BASIC (стр. 2 из 3)

Следует отметить, что SQL реализует декларативную парадигму программирования: каждый оператор описывает только необходимое действие, а СУБД принимает решение о том, как его выполнить, т.е. планирует элементарные операции, необходимые для выполнения действия и выполняет их. Тем не менее, для эффективного использования возможностей SQL разработчику необходимо понимать то, как СУБД анализирует каждый оператор и создает его план выполнения.

SQL - язык управления базами данных для реляционных баз данных. Сам по себе SQL не является языком программирования, но его стандарт позволяет создавать для него процедурные расширения, которые расширяют его функциональность до полноценного языка программирования.

Язык был создан в 1970х годах под названием "SEQUEL" для системы управления базами данных (СУБД) System R. Позднее он был переименован в "SQL" во избежание конфликта торговых марок. В 1979 году SQL был впервые опубликован в виде коммерческого продукта Oracle V2.

Первый официальный стандарт языка был принят ANSI в 1986 году и ISO - в 1987. С тех пор были созданы еще несколько версий стандарта, некоторые из них повторяли предыдущие с незначительными вариациями, другие принимали новые существенные черты.

Несмотря на существование стандартов, большинство распространенных реализаций SQL отличаются так сильно, что код редко может быть перенесен из одной СУБД в другую без внесения существенных изменений. Это объясняется большим объемом и сложностью стандарта, а также нехваткой в нем спецификаций в некоторых важных областях реализации.

SQL создавался как простой стандартизированный способ извлечения и управления данными, содержащимися в реляционной базе данных. Позднее он стал сложнее, чем задумывался, и превратился в инструмент разработчика, а не конечного пользователя. В настоящее время SQL (по большей части в реализации Oracle) остается самым популярным из языков управления базами данных, хотя и существует ряд альтернатив.

SQL состоит из четырех отдельных частей:

1. язык определения данных (DDL) используется для определения структур данных, хранящихся в базе данных. Операторы DDL позволяют создавать, изменять и удалять отдельные объекты в БД. Допустимые типы объектов зависят от используемой СУБД и обычно включают базы данных, пользователей, таблицы и ряд более мелких вспомогательных объектов, например, роли и индексы.

2. язык манипуляции данными (DML) используется для извлечения и изменения данных в БД. Операторы DML позволяют извлекать, вставлять, изменять и удалять данные в таблицах. Иногда операторы select извлечения данных не рассматриваются как часть DML, поскольку они не изменяют состояние данных. Все операторы DML носят декларативный характер.

3. язык определения доступа к данным (DCL) используется для контроля доступа к данным в БД. Операторы DCL применяются к привилегиям и позволяют выдавать и отбирать права на применение определенных операторов DDL и DML к определенным объектам БД.

4. язык управления транзакциями (TCL) используется для контроля обработки транзакций в БД. Обычно операторы TCL включают commit для подтверждения изменений, сделанных в ходе транзакции, rollback для их отмены и savepoint для разбиения транзакции на несколько меньших частей.

Следует отметить, что SQL реализует декларативную парадигму программирования: каждый оператор описывает только необходимое действие, а СУБД принимает решение о том, как его выполнить, т.е. планирует элементарные операции, необходимые для выполнения действия и выполняет их. Тем не менее, для эффективного использования возможностей SQL разработчику необходимо понимать то, как СУБД анализирует каждый оператор и создает его план выполнения.

BARSIC (Business And Research Scientific Interactive Calculator) является интерпретируемым языком программирования с псевдокомпиляцией исходного кода в brc-файл (сокращение от BARSIC Compiled). Первоначально возник как надстройка над библиотеками управления научными и учебными установками. В том числе со средствами отображения графиков и проведения вычислений по формулам, задаваемым пользователем. В дальнейшем были добавлены средства визуального проектирования пользовательского интерфейса. Это объектный язык с развитыми средствами процедурного программирования (функции-выражения, подпрограммы с различными модификаторами видимости внешних элементов внутри подпрограмм, модули, структуры) и элементами объектности (набор встроенных предопределённых классов как способ организации удобного доступа к библиотекам). Предполагается добавление пользовательских классов по модели прототипирования.

Среди интерпретируемых языков отличается наличием жёсткой статической проверки типов во всех синтаксических конструкциях за исключением нескольких, специально предназначенных для интерпретации. Динамическая проверка также ведётся. При этом синтаксические конструкции языка выбраны таким образом, чтобы транслятору удалось максимально точно локализовать место синтаксической ошибки. Благодаря этому резко повышается скорость разработки программ и нахождения ошибок.

В настоящее время наиболее широко используемыми приложениями BARSIC являются учебные модели по физике и математике:

  • доступная в открытом доступе виртуальная лаборатория barsic.spbu.ru (первоначально необходимо инсталлировать на компьютере среду BARSIC с данной странички
  • модели и тесты Интернет-олимпиады по физике по СПб и Северо-Западному региону РФ . К настоящему времени через Интернет-олимпиады по физике на основе тестов и моделей, выполняемых в среде BARSIC, прошло около 5000 человек (только в ноябре 2007 года 1083 человек по 10-м классам и 1246 человек по 11-м классам).

Состав программного комплекса BARSIC

  • бесплатная свободно распространяемая исполняющая среда barsic.exe (и сопровождающие файлы) - 'проигрыватель' файлов BARSIC
  • среда barsicIDE.exe разработки программ-приложений, свободно доступная для некоммерческого использования

Основные особенности языка и среды BARSIC

Программный комплекс BARSIC предназначен для разработки и использования прикладных программ-приложений, работающих под управлением исполняющей среды BARSIC. Основными областями применения комплекса являются разработка программ учебного назначения в области физики, математики, информатики и других областях, а также программ для научных численных математических расчетов и математического моделирования, преимущественно в области физики. Кроме того, комплекс специализирован для создания программ интерактивного управления компьютеризированными экспериментальными установками на основе персональных компьютеров, а также обработки и визуализации получаемых экспериментальных данных и сравнения их с теоретическими зависимостями.

Язык BARSIC, с помощью которого осуществляется программирование программ-приложений, является универсальным объектным языком программирования и содержит развитые средства построения двумерных и трехмерных графиков, анимации изображений, математической обработки данных, управления экспериментом. Среда разработки содержит развитые средства визуального проектирования интерфейса приложений.

Относительная независимость приложений от конкретной версии исполняющей среды дает важное преимущество: добавление новых возможностей в среде автоматически расширяет возможности программы-приложения. Например, работа с файлами, графиками, базами данных, компьютерными сетями и т.д. Самой важной особенностью языка BARSIC является надежность программирования. В BARSIC предусмотрены специальные средства повышения надежности.

Во-первых, выбран такой синтаксис языка программирования, чтобы из-за случайных опечаток во время набора программы минимизировать вероятность возникновения недиагностируемых ошибок. В отличие от BARSIC, такие языки, как FORTRAN, JavaScript, BASIC в очень сильной степени подвержены этим ошибкам из-за правил автоматического приведения типов, а также свободной типизации (для JavaScript и Visual BASIC). В несколько меньшей степени эти ошибки характерны для C и C++, а в еще меньшей степени – для Java (за исключением работы со строками, где такие ошибки для Java типичны) и Object PASCAL (Delphi).

Во-вторых, синтаксис языка программирования BARSIC построен на принципе максимальной понятности для человека и принципе автодокументирования программного кода. Это означает, что сам текст программы в подавляющем большинстве случаев дает возможность понять, что имел в виду программист. Поэтому в программах, написанных на BARSIC, почти не надо вставлять комментарии, что не только экономит время, но и избавляет от неприятной нетворческой работы, которую так не любит большинство программистов. Во всех других известных нам языках программирования этот принцип не выполняется.

В-третьих, в BARSIC на уровне среды встроена система перехвата и обработки так называемых исключительных ситуаций. При этом если программист заранее не предусмотрел действий при возникновении деления на ноль, ввода вместо числа другого символа и т.п., программа не завершит работу в аварийном режиме, как бывает в большинстве программ, написанных на других языках программирования. Среда BARSIC выдаст диагностику ошибки, после чего можно будет повторить ввод с исправлением неправильно введенных значений или символов и продолжить работу. Обработка исключительных ситуаций имеется в большинстве современных языков программирования, но BARSIC обеспечивает дополнительную защиту от исключений на уровне исполняющей среды даже в тех случаях, когда программы, написанные на C++ или Object PASCAL, окажутся неработоспособны.

В-четвертых, в интегрированную среду BARSIC встроена поддержка работы с пользовательским интерфейсом методом визуального проектирования. Это делает BARSIC средой RAD (Rapid Application Development) —средством сверхбыстрой разработки программ.

Языки программирования и интегрированные среды

По словам создателя первой интегрированной среды FRAMEWORK, интегрированная среда —это такая прикладная программа, что пользователь, запустив ее в начале рабочего дня, находит в ней все необходимые для работы ресурсы и поэтому не выходит из интегрированной среды до самого конца рабочего дня. Конечно, это определение не очень корректно и несколько идеализирует ситуацию, но его общий смысл достаточно ясен.