tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
766
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Sunray
    Sunray Sunray ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Ort
    Schweiz
    Beiträge
    190
    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

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    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.
     

  3. #3
    Avatar von Sunray
    Sunray Sunray ist offline Mitglied Gold
    Registriert seit
    Sep 2003
    Ort
    Schweiz
    Beiträge
    190
    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.
    *Ausnahme: ein Typ muss beim Übersetzen vorhanden sein, wenn er in TypeCasts, Konstruktor- oder Statischen Aufrufen verwendet wird.

    Zudem lässt sich die Library recht einfach erweitern.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    procedure main{
        echo(system("global.welcome"))  
    }
     
    config system{
        [global]
        welcome="Hello World!"
    }
    In diesem Beispiel wird der "Code" der Prozedur "system" nicht von CSC4 sondern von irgend einem selbst geschriebenen Compiler analysiert/übersetzt.

    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

  1. Einbinden der Scriptsprache LUA
    Von Cymatoxa im Forum Java
    Antworten: 2
    Letzter Beitrag: 04.09.10, 12:52
  2. Antworten: 0
    Letzter Beitrag: 17.04.06, 20:36
  3. Nützlichste scriptsprache in Hochsprache
    Von js-mueller im Forum Coders Talk
    Antworten: 5
    Letzter Beitrag: 07.05.05, 13:03
  4. Dynamische Framesets ohne Scriptsprache
    Von whatever76 im Forum HTML & XHTML
    Antworten: 3
    Letzter Beitrag: 14.03.05, 01:37
  5. [Scriptsprache] LUA
    Von chris_sit im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 03.02.03, 17:35