Каковы плюсы и минусы RemObjects PascalScript по сравнению с DWS script?

Я планирую включить pascal script в мое приложение. Он не требует какого-либо доступа к сети, просто доступ к классам в моем приложении. Он должен быть быстрым (скомпилированным). Я вижу, что существует несколько сценариев, некоторые из них являются интерпретаторами, но среди компиляторов RemObjects pascal script и Delphi Web script (DWS), кажется, мощным и активно преследуемым.

Может ли кто-нибудь предложить преимущества одного над другим, пожалуйста? Благодаря

Ответы

Ответ 1

Это сводится к этому, imho:

  • Delphi Web Script активно и агрессивно развивается.

  • PascalScript в значительной степени бездействует с точки зрения разработки и усовершенствования.

Тем не менее, DWS - это проект сообщества, который в основном разрабатывается одним (очень талантливым и компетентным) парнем. PascalScript поддерживается RemObjects.

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

В обоих случаях предоставляется источник, поэтому даже если "официальная поддержка" высохла, вы не потеряете полностью.

Насколько я понимаю, механизм DWS - это более понятная реализация, чем PascalScript, которая может упростить "самоподдержку", в таких случаях важно то, к чему вы привыкли, (я ранее работал над совершенно другим Script, который, как я понимаю, больше похож на DWS, чем PascalScript).

Наконец, я в настоящее время работаю над проектом, который использует PascalScript и на этом этапе намерен как можно скорее перейти на DWS.

Ответ 2

Я использую Pascal Script Rem Objects уже несколько лет, и, на мой взгляд, он лучший. Что касается документации, ознакомьтесь с руководствами по программированию Pascal. В script нет странных синтаксических или функциональных вызовов. Отвечая на вышеупомянутый ответ 0, нет необходимости в общедоступной документации, если вы знаете Delphi. Я не столкнулся с одним случаем, когда это было бы необходимо. Написано 2 статьи о том, как реализовать скриптинг в приложении. Как импортировать классы, методы и функции, а также несколько примеров. Для чего-либо еще достаточно обычной документации Delphi. Однако с DWS необходимо иметь явную документацию, потому что синтаксис совершенно другой. Необходимость использования TProgramInfo и IInfo делает сценарии странными и утомительными.

Я использую Rem Objects Pascal Script для управления функциональностью IVR телефонного звонка, аналогично реализации порта Asterisk AGI. Где каждый входящий вызов Asterisk, порождает сокет для моего сокета сервера. Обычно я запускаю до 2000 скриптов. Каждый Script загружается, компилируется и выполняется и может легко обрабатывать до 45 входящих вызовов в секунду. Каждый Script управляет ответом, воспроизведением файлов, сбором DTMf, записью и т.д. Для всех вызовов. Извините за длинный ответ, но я не могу сказать достаточно о том, как работает хороший Pascal Script. Спасибо Rem Objects и Carlo Kok. Какой замечательный продукт. Они не могут активно делать обновления, может быть, потому что это необязательно. Он отлично работает!!! PS. Еще одна замечательная особенность заключается в том, что скрипты, скомпилированные в байт-код, не могут быть легко переделаны. Поэтому ваш код безопасен. Кроме того, при необходимости вы можете предварительно скомпилировать сценарии и выполнить их во время выполнения, не компилируя их. Тем не менее, это не было нужно для меня, потому что я могу справиться много. Может быть, когда-нибудь, надеюсь, мне придется предварительно скомпилировать. Это означает, что мы обрабатываем гораздо больше 45 в секунду.

Ответ 3

Возможно, рассмотрим третий вариант. Я знаю, что OP специально спрашивал о PascalScript и DWS, но я бы рекомендовал посмотреть TMS Scripter Studio или TMS Scripter Studio Pro в качестве возможных решений. Вы получаете оба интерпретатора Pascal и BASIC, которые я смог использовать, когда конечный пользователь не заинтересован в изучении Pascal, но имеет фон VB.

Ответ 4

Вы говорите, что это должно быть быстро, и, когда вы быстро решаете, вы не можете победить PaxCompiler. Это не бесплатно, но стоит подумать. Набор функций уникален, и он активно развивается уже много лет.

Ответ 5

Три главных причины, по которым я первоначально обращался за DWS, были следующие:

  • в DWS вы можете/могли объявить целые новые классы в script с наследованием, метаклассами и т.д. и не были ограничены теми классами, которые вы выставили/импортировали.
  • более ограничительная модель воздействия (скрипты могут получить доступ только к тому, что вы выставляете), это позволяет в любое время использовать песочные боксы и безопасное завершение сценариев.
  • упрощенная, более читаемая структура исходного кода, с простой, без байт-кода модель исполнения, которая сравнительно упрощена для расширения, отладки и поддержки.

Обратите внимание, что я практически не использовал "Web" сторону DWS вообще.

Ответ 6

Самая большая проблема с Pascal Script заключается в том, что для самого языка имеется нулевая документация. И я имею в виду нуль. Существуют различные общие сайты Pascal, которые относятся к классу sort-kinda-apply, но не совсем, конечно, и есть другие неполные специальные учебные пособия, сделанные разными людьми. Но когда дело доходит до реальной, всеобъемлющей документации, это в значительной степени шутка. Чтобы написать некоторые "расширенные" сценарии для InnoSetup, мне пришлось посмотреть на источники и выяснить, что делает компилятор.

Я думаю, что любой, кто считает использование Pascal Script, должен пересмотреть pronto. Без общедоступных документов это почти бесполезно. InnoSetup не должен его использовать, ИМХО, это такая боль, когда вы хотите делать простые вещи, которые никто не беспокоил, написав учебник для (пока).

Ответ 7

У меня есть скрипт tms в течение 3 лет, и он отлично работает хорошая документация, хорошая поддержка, продолжайте развивать производитель, быстрый парсер, объединенные вместе, являются причинами, которые я выбираю для нашего программного обеспечения bpms.