Открыть сервис

PowerScript

PowerScript — это скриптовый язык программирования, разработанный компанией PowerSoft (впоследствии приобретённой Sybase, Inc., а затем SAP SE) для создания клиент-серверных приложений с графическим интерфейсом. Является основным языком среды разработки PowerBuilder, ориентированной на построение корпоративных информационных систем, работающих с реляционными базами данных (СУБД). Отличается событийно-ориентированной парадигмой, тесной интеграцией с визуальным дизайнером интерфейсов и мощными встроенными возможностями доступа к данным.

История

Язык PowerScript был представлен в 1991 году вместе с первой версией PowerBuilder. Разработка велась под руководством сооснователя PowerSoft Дэвида Литвака. Основной целью создания нового языка было обеспечение быстрой разработки (RAD — Rapid Application Development) настольных приложений, взаимодействующих с базами данных через SQL.

В 1994 году компания Powersoft объединилась с Watcom International Corporation, что привело к интеграции в среду разработки компилятора C++ (Watcom C/C++) и мощного SQL-движка (Watcom SQL, позже Sybase SQL Anywhere). Это укрепило позиции PowerBuilder и PowerScript как одного из стандартов для корпоративной разработки в 1990-х годах.

В 1995 году компания Sybase приобрела Powersoft. В рамках Sybase язык продолжал развиваться: были добавлены поддержка ActiveX, OLE, COM/DCOM, позднее — .NET-взаимодействие и веб-сервисы (в версиях PowerBuilder 10–12). Значительное обновление синтаксиса и функциональности произошло в версиях 9 (2003) и 12 (2009).

После поглощения Sybase корпорацией SAP в 2010 году разработка PowerBuilder и PowerScript была продолжена. Последние версии (с 2015 года) ориентированы на поддержку облачных вычислений, REST API и современных стандартов кодирования. Язык сохраняет совместимость с унаследованным кодом.

Синтаксис и конструкция

PowerScript — строго типизированный язык с сильным влиянием синтаксиса BASIC и Pascal, но с элементами C. Код нечувствителен к регистру (case-insensitive). Каждая инструкция завершается точкой с запятой (;). Блоки кода выделяются отступами (обычно 4 пробела) или ключевыми словами (например, IF … THEN … END IF).

Основные типы данных

ТипОписаниеПример
IntegerЦелое число (32 бита)integer n = 10
LongДлинное целое (64 бита)long n = 100000
RealЧисло с плавающей точкой (32 бита)real r = 3.14
DoubleЧисло с плавающей точкой двойной точности (64 бита)double d = 1.234e-5
StringСтрока символов в кодировке ANSI/Unicode (до 2 ГБ)string s = "Hello"
DateДата (год-месяц-день)date d = 2025-01-01
TimeВремя (часы-минуты-секунды-миллисекунды)time t = 12:30:00
DateTimeДата и времяDateTime dt = DateTime(2025-01-01, 12:30:00)
BooleanЛогический типboolean b = TRUE
BlobДвоичный объект (изображения, файлы)blob b

Управляющие конструкции

Условный оператор: ``powerscript IF age > 18 THEN status = "Adult" ELSE status = "Minor" END IF ``

Циклы: ```powerscript // Цикл FOR FOR i = 1 TO 10 sum += i NEXT

// Цикл DO WHILE i = 1 DO WHILE i <= 10 sum += i i++ LOOP

// Цикл DO UNTIL i = 1 DO UNTIL i > 10 sum += i i++ LOOP ```

Функции и процедуры

Функции объявляются с помощью ключевого слова FUNCTION, процедуры — SUBROUTINE. Функции возвращают значение указанного типа. ```powerscript // Функция FUNCTION double CalculateDiscount(double price, integer percent) RETURN price * (1 - percent / 100.0) END FUNCTION

// Процедура SUBROUTINE LogMessage(string msg) MessageBox("Log", msg) END SUBROUTINE ```

Обработка исключений

В PowerScript существует блок TRY … CATCH … FINALLY: ``powerscript TRY result = 10 / divisor CATCH (DivideByZeroException e) MessageBox("Error", "Деление на ноль") FINALLY // код, выполняемый в любом случае END TRY ``

Работа с базами данных

Взаимодействие с СУБД осуществляется через объект Transaction. Стандартный шаблон подключения: ``powerscript Transaction tr tr = CREATE Transaction tr.DBMS = "ODBC" tr.DataBase = "MyDatabase" tr.Server = "localhost" tr.UserID = "sa" tr.Password = "secret" CONNECT USING tr; // Выполнение SQL-запроса string sql = "SELECT * FROM Employees" // ... DISCONNECT USING tr; DESTROY tr; ``

Архитектура приложений

PowerScript-приложения строятся на основе визуальных и не визуальных объектов, которые объединяются в проекты:

Области применения

Основное назначение PowerScript — разработка корпоративных информационных систем (ERP, CRM, учётных систем) для средних и крупных организаций. Язык используется:

Преимущества и недостатки

Преимущества

Недостатки

Интересные факты

Сравнение с другими языками

ХарактеристикаPowerScriptVisual Basic (6.0)Java (Swing)C# (.NET)
ПарадигмаСобытийно-ориентированнаяСобытийно-ориентированнаяОбъектно-ориентированнаяОбъектно-ориентированная
Работа с БДВстроенный DataWindowADO/DAOJDBCADO.NET
ПлатформыWindows, Linux (через PBVM)WindowsКроссплатформенныйКроссплатформенный (.NET Core)
Сложность изученияНизкаяНизкаяСредняяСредняя
СтоимостьВысокаяБесплатно (до 1998)Бесплатно (OpenJDK)Бесплатно (Visual Studio Community)

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →