AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Script Engines - Wer die Wahl hat hat die Qual!

Script Engines - Wer die Wahl hat hat die Qual!

Ein Thema von Win32.API · begonnen am 17. Jun 2009 · letzter Beitrag vom 17. Jun 2009
Antwort Antwort
Win32.API

Registriert seit: 23. Mai 2005
312 Beiträge
 
#1

Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 11:17
Hallo,

ich stehe gerade vor der Entscheidung mir eine Scriptengine aussuchen zu müssen, welche in einem größeren Projekt verwendet werden soll.

Da ich noch nie intensiv mit einer Scriptengine gearbeitet habe wende ich mich an euch.

Zur zeit stehen diese Scriptengines zur Auswahl:
  • Sysygy Script Engine (von littleDave aus der DP)
  • TMS Scripter Studio
  • RemObjects Pascal Script
  • paxCompiler
  • DelphiWebScript
  • FastScript
Es ist nur eine Auswahl, wenn Ihr noch bessere/nennenswerte Alternativen kennt würde es mich freuen, wenn Ihr sie mir mitteilt.

Die Hauptaufgaben der Scriptengine sind es Daten zu kontrollieren, modifizieren und GUI ausgaben (Logs). Integrierte RegEx-Expressions wären super, sind aber nicht zweingend nötig (können ja selber implementiert werden). Desweiteren wäre Pointer-Arithmetik wünschenswert.

Die Grammatik sollte Pascal ähneln, darf aber ruhig etwas fehler toleranter bzw "scriptartiger" sein (paxCompiler).

Jetzt seid Ihr gefragt, mit welcher Scriptengine habt Ihr gut Erfharungen gemacht (Stabilität, Performance und Usability)? Welche Engine ist euer Favorit und warum?


Grüße Win32.API
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 11:58
Ich hab mal in einem Projekt mit FreePascal als "Script" gearbeitet. Das ist zwar nicht wirklich "Script" aber ging recht gut und vor allen Dingen schnell.

Intern habe ich den Code den der User geschrieben hat in eine EXE kompiliert, die dann per NamedPipe mit dem Hauptprogramm kommuniziert hat. Allerdings könnte man das auch in eine DLL kompilieren, die das Hauptprogramm lädt.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
XiaN

Registriert seit: 14. Jul 2006
19 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 15:40
Also aus Erfahrung kann ich eigentlich nur über TMS und den PaxCompiler berichten.

Der TMS Scripter ist sinngemäß das Wohnzimmer Script. Das merkste sofort, wenn du damit arbeitest.
Alles schön auf Run&Go getrimmt, was ja nicht unbedingt ein Nachteil ist, aber für unsere Zwecke ungeeignet war.

Vorteile
-> Sehr einfache Handhabung und trotzdem guter Funktionsumfang.
-> Funktioniert super in Verbindung mit deren IDE-Klone Komponenten

Nachteil
-> Kein primäres Projekt von TMS. Dadurch keine regelmäßigen Updates und vermutlich ( rein vom Gefühl und dem arbeiten mit den Komponenten ) eine eher "einfache" Umsetzung im Bezug auf die Codebasis.
-> Auch hat das mit den Updates zu Delphi 2009 einige Zeit gedauert.
-> Beim Support biste nur einer von vielen.
( -> Wenn ich mich recht erinnere, konnte man mit denen Events nicht direkt aus dfm und pas benutzen, sondern musste sich selbst darum kümmern, dass Button1OnClick dann auch zugewiesen wurde. Aber da bin ich mir nichmehr ganz sicher )

Momentan arbeiten wir mit dem PaxCompiler ( davor PaxScripter ). Wie du schon angemerkt hast, ist das ein vollwertiger Compiler und kein Scripter mehr. Das merkt man auch deutlich beim arbeiten mit der Komponente.

Vorteile
-> Funktionsmäßig gibts Multilanguage Support ( Basic, JavaScript, Pascal )
-> Der Programmierer selbst übernimmt den Support ( der is 24-7 online ) und kann dir bei Bedarf auch hochtechnische Fragen beantworten.
-> Pascalmäßig gibts nix zu meckern : Du hast bestimmt schon die Hilfe gelesen und der Funktionsumfang is wirklich beeindruckend : Du kannst z.B. in deinen "Scripten" auf alle Variablen und Typen der Hauptanwendung zugreifen usw.
-> Dazu gibts sehr regelmäßig Updates und bei Bugs meist innerhalb von 2-3 Tagen ne neue Version.

Nachteil
-> Die Lernkurve ist alles andere als symetrisch. Die ersten 2-3 Wochen wirst du wie der Prophet vorm Berg stehen. Auch ist das Arbeiten mit Forms ( wenn du die DFM für deine dynamisch via Script erstellten Forms irgendwo seperat hast ) mit einigen Kniffen behaftet.
-> Die regelmäßigen Updates ändern gelegentlich auch interne Abläufe d.h. du musst dein Programm dementsprechend anpassen und darauf achten, wenn du die Komponente updatest
-> Fetter Footprint an die EXE. Mit 3-4mb mehr biste da schon dabei.

Alternativ gibts da übrigens noch den Dream Scripter. Allerdings wurde der Support eingestellt, d.h. es werden auch keine Versionen über Delphi 7 unterstützt. Aber das sind die Urväter aller Delphi Script Componenten. Die waren ihrer Zeit schon arg voraus

Ich seh grad ... Wer is er denn : ? o_O
  Mit Zitat antworten Zitat
Win32.API

Registriert seit: 23. Mai 2005
312 Beiträge
 
#4

Re: Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 16:32
Zitat von chaosben:
Ich hab mal in einem Projekt mit FreePascal als "Script" gearbeitet. Das ist zwar nicht wirklich "Script" aber ging recht gut und vor allen Dingen schnell.

Intern habe ich den Code den der User geschrieben hat in eine EXE kompiliert, die dann per NamedPipe mit dem Hauptprogramm kommuniziert hat. Allerdings könnte man das auch in eine DLL kompilieren, die das Hauptprogramm lädt.
Auch wenn die Idee gar nicht so schlecht ist, ist es keine akzeptable Lösung für dieses Projekt. Trotzdem danke für deine Rückmeldung.


Zitat von XiaN:
Also aus Erfahrung kann ich eigentlich nur über TMS und den PaxCompiler berichten.

Der TMS Scripter ist sinngemäß das Wohnzimmer Script. Das merkste sofort, wenn du damit arbeitest.
Alles schön auf Run&Go getrimmt, was ja nicht unbedingt ein Nachteil ist, aber für unsere Zwecke ungeeignet war.

Vorteile
-> Sehr einfache Handhabung und trotzdem guter Funktionsumfang.
-> Funktioniert super in Verbindung mit deren IDE-Klone Komponenten

Nachteil
-> Kein primäres Projekt von TMS. Dadurch keine regelmäßigen Updates und vermutlich ( rein vom Gefühl und dem arbeiten mit den Komponenten ) eine eher "einfache" Umsetzung im Bezug auf die Codebasis.
-> Auch hat das mit den Updates zu Delphi 2009 einige Zeit gedauert.
-> Beim Support biste nur einer von vielen.
( -> Wenn ich mich recht erinnere, konnte man mit denen Events nicht direkt aus dfm und pas benutzen, sondern musste sich selbst darum kümmern, dass Button1OnClick dann auch zugewiesen wurde. Aber da bin ich mir nichmehr ganz sicher )

Momentan arbeiten wir mit dem PaxCompiler ( davor PaxScripter ). Wie du schon angemerkt hast, ist das ein vollwertiger Compiler und kein Scripter mehr. Das merkt man auch deutlich beim arbeiten mit der Komponente.

Vorteile
-> Funktionsmäßig gibts Multilanguage Support ( Basic, JavaScript, Pascal )
-> Der Programmierer selbst übernimmt den Support ( der is 24-7 online ) und kann dir bei Bedarf auch hochtechnische Fragen beantworten.
-> Pascalmäßig gibts nix zu meckern : Du hast bestimmt schon die Hilfe gelesen und der Funktionsumfang is wirklich beeindruckend : Du kannst z.B. in deinen "Scripten" auf alle Variablen und Typen der Hauptanwendung zugreifen usw.
-> Dazu gibts sehr regelmäßig Updates und bei Bugs meist innerhalb von 2-3 Tagen ne neue Version.

Nachteil
-> Die Lernkurve ist alles andere als symetrisch. Die ersten 2-3 Wochen wirst du wie der Prophet vorm Berg stehen. Auch ist das Arbeiten mit Forms ( wenn du die DFM für deine dynamisch via Script erstellten Forms irgendwo seperat hast ) mit einigen Kniffen behaftet.
-> Die regelmäßigen Updates ändern gelegentlich auch interne Abläufe d.h. du musst dein Programm dementsprechend anpassen und darauf achten, wenn du die Komponente updatest
-> Fetter Footprint an die EXE. Mit 3-4mb mehr biste da schon dabei.

Alternativ gibts da übrigens noch den Dream Scripter. Allerdings wurde der Support eingestellt, d.h. es werden auch keine Versionen über Delphi 7 unterstützt. Aber das sind die Urväter aller Delphi Script Componenten. Die waren ihrer Zeit schon arg voraus

Ich seh grad ... Wer is er denn : ? o_O
Mein erster Eindruck des TMS Scripters deckt sich zu 100% mit Deiner Aussage. Und nachdem ich mir den PaxCompiler genauer angeschaut habe wäre es reine Geldverschwendung.

Der PaxCompiler ist wirklich herrausragend! Das nenne ich mal Flexibilität! Ich glaube hiermit habe ich meine Entscheidung getroffen, der PaxCompiler ist für meine Bedürfnisse genau das richtige.

Vielen Dank für den Ausführlichen Vergleich der beiden Produkte.

--Win32

PS: Ich habe keine guten Erfahrungen mit Produkten gemacht, die nicht mehr weiterentwickelt werden, desewegen scheidet der Dream Scripter aus.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 16:42
Man kann auch VBScript oder JavaScript vom Microsoft Scripting Host ansteuern.
Vorteil:
es gibt viel Literatur und Webseiten, die sich damit beschäftigen
normalerweise Bestandteil des OS
Nachteil:
Kommunikation mit der Anwendung muss über Übergabeparameter und/oder COM-Objekte erfolgen
Andreas
  Mit Zitat antworten Zitat
PMM

Registriert seit: 17. Feb 2005
101 Beiträge
 
#6

Re: Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 18:14
Also ich arbeite mit RemObjects Pascal Script.
Vorteil: Freeware, Source verfügbar, aktive Community, sehr flexibel anpass-/erweiterbar,...
Nachteile: fallen mir so auf Anhieb nicht ein.
PMM
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: Script Engines - Wer die Wahl hat hat die Qual!

  Alt 17. Jun 2009, 18:25
Zitat von PMM:
Also ich arbeite mit RemObjects Pascal Script.
Vorteil: Freeware, Source verfügbar, aktive Community, sehr flexibel anpass-/erweiterbar,...
Nachteile: fallen mir so auf Anhieb nicht ein.
PMM
Zitat von Win32.API:
Desweiteren wäre Pointer-Arithmetik wünschenswert.
So viel ich weiß, werden Pointers nicht unterstützt.
Thomas
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz