ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
766
766
EMPFEHLEN
-
Hi...
An diesem Projekt arbeite ich jetzt seit ungefähr einem halben Jahr:
Eine interpretierte Scriptsprache, die direkt auf die .NET Schicht zugreifen kann.
Die ganze Sache nennt sich Command Script 4, befindet sich im Beta Stadium und kann von SourceForge.net/projects/csc4 unter den Bedingungen der LGPL bezogen werden (inkl. Dokumentation).
CSC4 ist als Anwendungs Kontroll- oder Erweiterungssprache zu verstehen. Indem man die Library in Programme einbindet, erlaubt man seinen Benutzern, Erweiterungen zu schreiben oder die Software ihren Wünschen anzupassen.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14
procedure main{ echo("Hi!") var name = prompt("NAME:") if(name = ""){ echo("I'm sure, you have a name...") }else{ echo("Welcome " & name.ToLower) } } procedure prompt(msg){ $Console.Write(msg & "> ") return = $Console.ReadLine() }
Mehr Beispielcode.
Die CSC4Library implementiert eine eigene Stack-basierte virtuelle Maschine mitsamt Bytecode. Neben Command Script 4 kann auch direkt in Bytecode Assembler oder in einer eigenen Sprache programmiert werden.Zu jedem Problem gibt es mindestens eine Lösung.
Zu jeder Lösung gibt es mindestens eine bessere Lösung
-
Nette Sache.
Dennoch drängt sich bei mir ein Gedanke auf: Wieso wieder etwas Neues? Prinzipiell hat man die Möglichkeit, on the fly, .NET Code zu kompilieren. Ergo kann man beispielsweise C# einbinden, kompilieren und ausführen. Aus diesem Grund spricht eine eigene Scriptsprache nicht sehr für sich.
-
Berechtigte Frage.
Es gibt sehr viele Argumente, die gegen die Kompilierung von C# oder VB während der Laufzeit sprechen. Z.B.:- Zeit: Ein CSC4 Script zu kompilieren benötigt um die 30ms, .NET Compiler benötigen wesentlich länger.
- Inkrementelle Kompilierung: Es ist zu jedem Zeitpunkt möglich, eine CSC4 Prozedur zu ersetzen, hinzuzufügen, zu manipulieren oder zu entfernen. Die .NET Compiler müssen jedes mal ein neues Assembly generieren. (-->Speicherbedarf, Overhead bei Verwendung von AppDomains)
- Interaktive Nutzung: CSC4 eignet sich dank eval() Funktion für interaktive Systeme (z.B. Ingame oder Debugging Konsolen)
- Typen müssen beim Übersetzen nicht bekannt sein*. Nachträgliche Änderungen an APIs (z.B. ArrayList anstelle von Array) verlangen keine Änderung am Code.
Zudem lässt sich die Library recht einfach erweitern.In diesem Beispiel wird der "Code" der Prozedur "system" nicht von CSC4 sondern von irgend einem selbst geschriebenen Compiler analysiert/übersetzt.Code :1 2 3 4 5 6 7 8
procedure main{ echo(system("global.welcome")) } config system{ [global] welcome="Hello World!" }
Natürlich hat auch die C#/VB Methode ihre Vorteile: IL Code ist schneller und immer Typsicher.Zu jedem Problem gibt es mindestens eine Lösung.
Zu jeder Lösung gibt es mindestens eine bessere Lösung
Ähnliche Themen
-
Einbinden der Scriptsprache LUA
Von Cymatoxa im Forum JavaAntworten: 2Letzter Beitrag: 04.09.10, 12:52 -
Eigene Scriptsprache(Befehle und Werte mit Leehrzeichen getrennt)
Von FBIagent im Forum C/C++Antworten: 0Letzter Beitrag: 17.04.06, 20:36 -
Nützlichste scriptsprache in Hochsprache
Von js-mueller im Forum Coders TalkAntworten: 5Letzter Beitrag: 07.05.05, 13:03 -
Dynamische Framesets ohne Scriptsprache
Von whatever76 im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 14.03.05, 01:37 -
[Scriptsprache] LUA
Von chris_sit im Forum Sonstige SprachenAntworten: 1Letzter Beitrag: 03.02.03, 17:35





Zitieren
Login





