Как стать автором
Обновить

Комментарии 11

Преимущества в том, что весь функционал реализован внутри одного языка, а не разбросан по разным расширениям.

  • Есть функционал для выполнения http/https-запросов.

  • Есть возможность создавать несколько соединений в одном коде.

  • При выполнении запросов в других БД (Oracle) сам запрос выполняется удаленно, а сюда перекачивается только его результат.

  • Есть возможность разбора xml/html-документов.

Возьмите питон. Там есть все это плюс прорва другого плюс сразу плюс штатно.

Вы, несомненно, правы в отношении питона.

Но и в языке pl_cpl_sql есть тоже свои преимущества.

  • Реализованная на уровне языка поддержка SQL-конструкций. В питоне для этого нужно использовать различные обертки.

  • И сам синтаксис языка, как мне кажется, проще питона. Нет этого обязательного форматирования текста.

Не скажу за питон, но в C# с Dapper вся обертка будет выклядеть как conn.Query("select..."). На выходе получим либо IEnumerable<dynamic>, либо IEnumerable<T>, где T класс, с полями из запроса.

В языке pl_cpl_sql вы можете просто определить cursor с указанными SQL-выражением, а данные из него обработать с помощью оператора for...loop (или open...fetch). А сами конструкции (conn.Query(...), IEnumerable<dynamic> ... или им подобные (из pascal)) при этом будут скрыты внутри интерпретатора. Очевидно, что кода для выполнения действий с данными в языке pl_cpl_sql будет гораздо меньше, чем в C# и питон.

Не понял, почему меньше? IEnumerable это аналог курсора и он как раз сделан как обобщенный интерфейс для foreach в c#. Dapper за ним аналогично скрывает всю работу с базой.

А почему только похож на Oracle PL/SQL? Если бы максимально соотвествовал, то это было бы куда интереснее и востребованнее.

Я пытался повторить синтаксис Oracle PL/SQL, и при этом его улучшить. Что то привнести в него из PL/pgSQL. Сделал безразмерный тип varchar2, добавил тип RECORD, которого не было в Oracle PL/SQL (но был в PL/pgSQL). Добавил работу с JSON. Механизмы конвертации JSON в RECORD и RECORD в JSON. Пакеты для разбора XML и HTML-документов.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации