meine einbettbare Skriptsprache - Fragen zwecks Open Source



  • xxxxskriptxxxxx schrieb:

    p.s.: große Funktionsnamen sind wegen Firmenrichtlinie, das färbt eben auch privat ab.

    Ach du sch****, das ist ja richtig übel und so etwas hinterm Dorf.
    Der weltweite Standard ist, dass Funktionsnamen klein geschrieben werden.
    Nur Klassennamen und Makros werden groß geschrieben.

    Also wenn deine Scriptsprache eine große Verbreitung erreichen soll, dann solltest du die Richtlinie der Dorffirma im Dorf lassen und dich an den weltweiten Standard halten Funktionsnamen klein zu schreiben.

    Ich möchte auch gar nicht wissen, was für eine kleine Klitsche das ist. Euer Chef sollte defintiv nochmal in die Schulung geschickt werden.

    Ansonsten wäre mir bei einer Scriptsprache Sicherheit & Sichtbarkeit wichtig.



  • Security schrieb:

    Der weltweite Standard ist, dass Funktionsnamen klein geschrieben werden.
    Nur Klassennamen und Makros werden groß geschrieben.

    Blödsinn. Du lebst wohl richtig hinterm Mond.



  • Security schrieb:

    xxxxskriptxxxxx schrieb:

    p.s.: große Funktionsnamen sind wegen Firmenrichtlinie, das färbt eben auch privat ab.

    Ach du sch****, das ist ja richtig übel und so etwas hinterm Dorf.
    Der weltweite Standard ist, dass Funktionsnamen klein geschrieben werden.
    Nur Klassennamen und Makros werden groß geschrieben.

    Also wenn deine Scriptsprache eine große Verbreitung erreichen soll, dann solltest du die Richtlinie der Dorffirma im Dorf lassen und dich an den weltweiten Standard halten Funktionsnamen klein zu schreiben.

    Wo kann ich denn den weltweiten Standard nachlesen?



  • Starglider schrieb:

    Security schrieb:

    xxxxskriptxxxxx schrieb:

    p.s.: große Funktionsnamen sind wegen Firmenrichtlinie, das färbt eben auch privat ab.

    Ach du sch****, das ist ja richtig übel und so etwas hinterm Dorf.
    Der weltweite Standard ist, dass Funktionsnamen klein geschrieben werden.
    Nur Klassennamen und Makros werden groß geschrieben.

    Also wenn deine Scriptsprache eine große Verbreitung erreichen soll, dann solltest du die Richtlinie der Dorffirma im Dorf lassen und dich an den weltweiten Standard halten Funktionsnamen klein zu schreiben.

    Wo kann ich denn den weltweiten Standard nachlesen?

    Z.B. hier:
    http://de.wikibooks.org/wiki/Java_Standard:_Variablen_und_Bezeichner#Java_Code_Konventionen

    @hustbear
    Hör auf zu trollen.



  • Security schrieb:

    Starglider schrieb:

    Security schrieb:

    xxxxskriptxxxxx schrieb:

    p.s.: große Funktionsnamen sind wegen Firmenrichtlinie, das färbt eben auch privat ab.

    Ach du sch****, das ist ja richtig übel und so etwas hinterm Dorf.
    Der weltweite Standard ist, dass Funktionsnamen klein geschrieben werden.
    Nur Klassennamen und Makros werden groß geschrieben.

    Also wenn deine Scriptsprache eine große Verbreitung erreichen soll, dann solltest du die Richtlinie der Dorffirma im Dorf lassen und dich an den weltweiten Standard halten Funktionsnamen klein zu schreiben.

    Wo kann ich denn den weltweiten Standard nachlesen?

    Z.B. hier:
    http://de.wikibooks.org/wiki/Java_Standard:_Variablen_und_Bezeichner#Java_Code_Konventionen

    Das ist aber Java, warum nicht die hier? http://google-styleguide.googlecode.com/svn/trunk/cppguide.html
    Da wird z.B. kein CamelCase für Methodennamen vorgeschlagen, sondern die Trennung der Worte mit Unterstrich als Infix z.b. object.do_something_special();
    Was ich dort auch toll finde, ist die Markierung von Membervariabeln mit einem Unterstrich als Postfix und nicht mit einem Prefix oder gar m_ als Prefix.

    Ich glaube nicht, dass es in C++ einen weltweiten Standard gibt. Wenn dann eher so eine Mischmasch aus verschiedenen Konventionen. Bei einigen Sachen wie dem Anfang von Klassen- und Methodennamen ist man sich da sicher, wie auch bei Konstanten, aber sonst ist das ein wilder Mix in meinen Augen.

    Ich lasse mich aber auch gerne eines besseren belehren.



  • Was ich wichtig finde ist dass die Sprache die verschiedensten C++ Referenztypen vernünftig binden kann.

    int& foo(int& a)
    {
        return a;
    }
    
    int* foo2() 
    {
        static int staticInt;
        return &staticInt;
    }
    
    int* foo3()
    {
        return new int();
    }
    
    std::shared_ptr<int> foo4()
    {
        return std::make_shared<int>();
    }
    

    würde ich gerne alle elegant binden können.
    Da versagen die meisten Sprachen da sie den Wirrwarr in C++ nicht kennen.

    Ein Interface möchte ich als User beim binden einer Funktion nicht implementieren müssen.
    Das möchte ich bitte so haben:

    bind("foo", &foo);
    


  • @Ethon: danke fürs Feedback.
    Zu dem Vorschlag mit bind() - die Idee gefällt mir gut.

    Deinen ersten Punkt versteh ich nicht ganz - kannst du das noch etwas näher ausführen?
    Im Skript habe ich als Datentypen string, int und float zur Verfügung. Was bringt mir ein int* oder ein int& oder gar ein shared_ptr?

    Beispielsweise der Aufruf der Funktion ReadString um einen Wert von der Konsole zu bekommen im Skript:

    $s:=ReadString();
    

    und in C++ die Implementiertung der ReadString Funktion:

    // ReadString
    ValueTypeInfo RegisteredFuncReadString::Execute(RuntimeInfo& runtimeInfo, const std::vector<ValueTypeInfo>& args)
    {
        ValueTypeInfo res;
        std::cin>>res.sVal; // Wert setzen
        res.type=VTString; // Typ setzen
    
        return res;
    }
    

    Die Funktion muss also eine Liste von Parametern übernehmen (in dem Beispiel 0), und gibt einen Wert (in dem Fall den eingelesenen string) zurück. Sowohl Parameter als auch Rückgabewert sind vom Typ "ValueTypeInfo", der die Information beinhaltet, ob es ein int, float oder string ist, sowie den Wert dazu.
    In welcher Weise soll ich nun ein "int* foo3()" integrieren, und welchen Sinn hat das?



  • Upps, habe nicht mitbekommen dass deine Skriptsprache so primitiv ist.
    Spätestens aber wenn die Sprache komplexer wird (man Objekte über die Sprachgrenzen transportieren kann) ist es wichtig die ganzen Lebenszeitarten von C++ zu respektieren. Macht keine mir bekannte Skriptsprache vernünftig.



  • Ethon schrieb:

    Upps, habe nicht mitbekommen dass deine Skriptsprache so primitiv ist.
    Spätestens aber wenn die Sprache komplexer wird (man Objekte über die Sprachgrenzen transportieren kann) ist es wichtig die ganzen Lebenszeitarten von C++ zu respektieren. Macht keine mir bekannte Skriptsprache vernünftig.

    ok, aber nein, sowas kompliziertes war nicht ganz mein Anwendungsfall 😉
    Scheinst aber Ahnung zu haben - hast schon mal selbst eine Skriptsprache geschrieben?



  • Security schrieb:

    @hustbear
    Hör auf zu trollen.

    Wo trolle ich denn bitte?



  • xxxxskriptxxxxx schrieb:

    Ethon schrieb:

    Upps, habe nicht mitbekommen dass deine Skriptsprache so primitiv ist.
    Spätestens aber wenn die Sprache komplexer wird (man Objekte über die Sprachgrenzen transportieren kann) ist es wichtig die ganzen Lebenszeitarten von C++ zu respektieren. Macht keine mir bekannte Skriptsprache vernünftig.

    ok, aber nein, sowas kompliziertes war nicht ganz mein Anwendungsfall 😉
    Scheinst aber Ahnung zu haben - hast schon mal selbst eine Skriptsprache geschrieben?

    Was ist dein Anwendungsfall?
    Ja, ein paar.



  • Starglider schrieb:

    Security schrieb:

    Starglider schrieb:

    Wo kann ich denn den weltweiten Standard nachlesen?

    Z.B. hier:
    http://de.wikibooks.org/wiki/Java_Standard:_Variablen_und_Bezeichner#Java_Code_Konventionen

    Das ist aber Java, warum nicht die hier? http://google-styleguide.googlecode.com/svn/trunk/cppguide.html

    Das spielt keine Rolle, Java ist eine Weltsprache mit einem hier definierten Standard bezüglich der Konvention. Sie ist gut und man sollte sich an diese halten, da sie auf alle weiteren Sprachen problemlos übertragen werden kann.

    hustbaer schrieb:

    Security schrieb:

    @hustbear
    Hör auf zu trollen.

    Wo trolle ich denn bitte?

    Du trollst hier ständig, weswegen ich bei dir sowieso von einem Forentroll ausgehe. Also lass das.



  • Wenn du meinst...



  • Ethon schrieb:

    xxxxskriptxxxxx schrieb:

    Ethon schrieb:

    Upps, habe nicht mitbekommen dass deine Skriptsprache so primitiv ist.
    Spätestens aber wenn die Sprache komplexer wird (man Objekte über die Sprachgrenzen transportieren kann) ist es wichtig die ganzen Lebenszeitarten von C++ zu respektieren. Macht keine mir bekannte Skriptsprache vernünftig.

    ok, aber nein, sowas kompliziertes war nicht ganz mein Anwendungsfall 😉
    Scheinst aber Ahnung zu haben - hast schon mal selbst eine Skriptsprache geschrieben?

    Was ist dein Anwendungsfall?
    Ja, ein paar.

    war für ein embedded linux für ein display: bei jedem gui element konnte man etwas code hinterlegen, um das aussehen von gewissen programmzuständen abhängig zu machen. z.b. im fehlerfall ein feld rot blinkend im sekundentakt, grün wenn alles ok ist, oder ähnliches. sollte auch vom kunden skriptbar sein.


Anmelden zum Antworten