BARSIC (Business And Research Scientific Interactive Calculator) є інтерпретується мовою програмування з псевдокомпіляції вихідного коду в brc-файл (скорочення від BARSIC Compiled). Спочатку виник як надбудова над бібліотеками управління науковими та навчальними установками. У тому числі із засобами відображення графіків і проведення обчислень за формулами, заданим користувачем. Надалі були додані кошти візуального проектування призначеного для користувача інтерфейсу. Це об'єктний мову з розвиненими засобами процедурного програмування (функції-вирази, підпрограми з різними модифікаторами видимості зовнішніх елементів всередині підпрограм, модулі, структури) і елементами об'єктно (набір вбудованих зумовлених класів як спосіб організації зручного доступу до бібліотек). Передбачається додавання призначених для користувача класів за моделлю прототипирования.
Серед різних мов відрізняється наявністю жорсткої статичної перевірки типів у всіх синтаксичних конструкціях за винятком кількох, спеціально призначених для інтерпретації. Динамічна перевірка також ведеться. При цьому синтаксичні конструкції мови обрані таким чином, щоб транслятору вдалося максимально точно локалізувати місце синтаксичної помилки. Завдяки цьому різко підвищується швидкість розробки програм і знаходження помилок.
В даний час найбільш широко використовуються додатками BARSIC є навчальні моделі з фізики і математики:
Склад програмного комплексу BARSIC
- безкоштовна вільно поширювана виконуючого середовища barsic.exe (і супроводжуючі файли) - 'програвач' файлів BARSIC
- Середа barsicIDE.exe розробки програм-додатків, вільно доступна для некомерційного використання
Основні особливості мови і середовища BARSIC
Програмний комплекс BARSIC призначений для розробки і використання прикладних програм-додатків, що працюють під управлінням виконуючого середовища BARSIC. Основними областями застосування комплексу є розробка програм навчального призначення в області фізики, математики, інформатики та інших областях, а також програм для наукових чисельних математичних розрахунків і математичного моделювання, переважно в області фізики. Крім того, комплекс спеціалізований для створення програм інтерактивного управління комп'ютеризованими експериментальними установками на основі персональних комп'ютерів, а також обробки і візуалізації отриманих експериментальних даних і порівняння їх з теоретичними залежностями.
Мова BARSIC, за допомогою якого здійснюється програмування програм-додатків, є універсальним об'єктним мовою програмування і містить розвинені засоби побудови двовимірних і тривимірних графіків, анімації зображень, математичної обробки даних, управління експериментом. Середовище розробки містить розвинені засоби візуального проектування інтерфейсу додатків.
Відносна незалежність додатків від конкретної версії виконуючого середовища дає важливу перевагу: додавання нових можливостей в середовищі автоматично розширює можливості програми-додатки. Наприклад, робота з файлами, графіками, базами даних, комп'ютерними мережами і т.д. Найважливішою особливістю мови BARSIC є надійність програмування. У BARSIC передбачені спеціальні засоби підвищення надійності.
По-третє, в BARSIC на рівні середовища вбудована система перехоплення і обробки так званих виняткових ситуацій. При цьому якщо програміст заздалегідь не передбачив дій при виникненні поділу на нуль, введення замість числа іншого символу і т.п. програма не від'ôднаôтесь роботу в аварійному режимі, як буває в більшості програм, написаних на інших мовах програмування. Середа BARSIC видасть діагностику помилки, після чого можна буде повторити введення з виправленням неправильно введених значень або символів і продовжити роботу. Обробка виняткових ситуацій є в більшості сучасних мов програмування, але BARSIC забезпечує додатковий захист від винятків на рівні виконуючого середовища навіть у тих випадках, коли програми, написані на C ++ або Object PASCAL. виявляться непрацездатні.
По-четверте, в інтегровану середу BARSIC вбудована підтримка роботи з призначеним для користувача інтерфейсом методом візуального проектування. Це робить BARSIC середовищем RAD (Rapid Application Development) -Засіб надшвидкої розробки програм.
Мови програмування та інтегровані середовища
За словами творця першої інтегрованого середовища FRAMEWORK, інтегроване середовище це така прикладна програма, що користувач, запустивши її на початку робочого дня, знаходить в ній всі необхідні для роботи ресурси і тому не виходить з інтегрованого середовища до самого кінця робочого дня. Звичайно, це визначення не дуже коректно і кілька ідеалізує ситуацію, але його загальний зміст досить ясний.
Одне з активно розвиваються напрямків, візуальне проектування-повністю засноване на використанні можливостей інтегрованого середовища. Користувач в інтерактивному режимі вибирає необхідні для його програми об'єкти мови програмування і встановлює між ними зв'язки. Популярність таких мов як Visual BASIC (Microsoft), а також Object PASCAL (середовища Delphi і Kylix, Borland), виник не випадково. Навіть недосвідчений програміст, який не знає крім BASIC інших мов програмування і ніколи не програмував під Windows, може за два-три дні за допомогою Visual BASIC створити прикладну програму, що працює під Windows. А ось програмісту високого класу, які не програмувати до того під Windows, за допомогою C ++ часто доводиться для створення такої ж програми затратити тижні, а то і місяці. Правда, Visual BASIC має низку істотних обмежень. За допомогою середовищ візуального проектування можна створювати досить складні програми, не набравши з клавіатури жодного рядка коду.
Однак у всіх програм, створених на основі традиційних мов програмування процедурного типу, є один і той же недолік. Для них виконуваний код це одне, а оброблювані програмою дані -зовсім інше. Дійсно, код програми міститься в файлі з розширенням EXE, а дані -або в спеціальних файлах даних (як правило, в текстовому або двійковому вигляді у внутрішньому поданні комп'ютера), або вводяться з клавіатури або з будь-якого іншого зовнішнього пристрою.
А тепер запитаймо себе: як бути, якщо користувач повинен дати виконуваній програмі інформацію, яку можна розглядати як "добавку" до тексту програми? Наприклад, ми хочемо, щоб на екрані був побудований графік функції, і в подібній програмі забезпечуємо всі необхідні сервісні можливості. Однак формулу для функції повинен задати сам користувач, і заздалегідь невідомо, яка вона буде.
Цілком очевидно, що подібного роду завдання можна вирішувати тільки за допомогою системи-інтерпретатора. Але "за все доводиться платити". Компілятор переводить текст програми в виконуваний код, який може працювати і без програми-компілятора. Програми ж, створені на основі мов інтерпретує типу, можуть виконуватися тільки під управлінням програми-інтерпретатора. Крім того, вони працюють повільніше скомпільованих, так як інтерпретація займає додатковий час. Однак у багатьох випадках це несуттєво.