Freiwillig: Kleines Experiment/Umfrage

Sunray

Erfahrenes Mitglied
Hi,

Das hier ist eine Art Experiment. (Ihr verpasst absolut nichts, wenn ihr jetzt aufhört, weiterzulesen)

Seit einigen Tagen spiele ich mit einem, vielleicht recht absurden Gedanken.
Ich möcht hier nichts Genaueres sagen. Es handelt sich um eine Art "Script-Sprache".

Wenn ihr keine 2-3 Minuten Zeit habt, danke ich euch, dass ihr bis hier gelesen habt.

Betrachtet doch mal:
http://klausercaarberg.ch/content/code/sample1_test.html
(Etwas stimmt mit dem vBcode nicht: http://klausercaarberg.ch/content/code/sample1_test.html)
ohne irgendwelche Erwartungen, Vorurteile.

Mich interessiert vorallem, wie diese paar Zeilen auf jemand anderen wirken.
Ein heilloses Chaos? Unsystematisch angeordnete Zeichenfolgen?
 
Zuletzt bearbeitet:
Die Domain wird wohl verunstaltet wegen des .tt, welches als Top-Level Domain hier eher unerwünscht ist. In deinem Fall greifts fälschlicherweise :).

Für alle, die richtige URL ist: http://klauser.ttcaarberg.ch/content/code/sample1_test.html

Die Seite habe ich mir jetzt selber noch nicht genauer angeguckt.

Peter
 
Hallo,

Sieht für mich irgendwie aus wie eine Template Sprache. Auf den ersten Blick finde ichs ziemlich "aufwendig". Wenn ich das richtig verstanden hab, dann baust du hiermit "Nur" einen String zusammen -- und dafür wärs mir eigentlich zu aufwendig.

Code:
e]$tmp = "XXXXX	ONLINE ("
e]time "d"
e]$d = $return
e]time "T"
e]$T = $return
e]$tmp =& $d
e]$tmp =& " "
e]$tmp =& $T
e]$tmp =& ")"
e]$tmp =& $br
e]$tmp =& "SubNet	OFFLINE"
e]echo $tmp
e]echo ""
Das ewige e] wirkt irgendwie unbeholfen - ich seh richtig die Substring funktionen drüberlaufen ;). Meiner Meinung nach wärs zum Beispiel mit

Code:
e[$tmp = "XXXXX	ONLINE ("
  time "d"
  $d = $return
  time "T"
  $T = $return
  $tmp =& $d
  $tmp =& " "
  $tmp =& $T
  $tmp =& ")"
  $tmp =& $br
  $tmp =& "SubNet	OFFLINE"
  echo $tmp
  echo ""
]e
schon etwas übersichtlicher. Aber wie gesagt, insgesamt find ichs zu Aufwendig - du kannst mich aber gerne vom Gegenteil überzeugen :)
 
Zuletzt bearbeitet:
*g* Augenkrebs kommt hin :)

Nein, im Ernst -> viel zu aufwendig, noch mehr Sonderzeichen als Perl und das ganze schreit daher extremst nach Fingerbruch.

Aus nem Source sollte eigentlich auf den ersten Blick herausgelesen werden können, was er prinzipiell tut. Ist hier definitiv nicht der Fall. Muss man sich schon genauer angucken um zu wissen, was da Sache ist. So gesehen würd ich das sofort wieder in die Versenkung zurücklegen.

mfG,
Nitro

Zusatz:
Ich bin ein Freund der objektorientierten Programmierung. Aus diesem Standpunkt heraus hat diese "Skriptsprache" eh schon verloren.
 
Die Source ansich finde ich zweitrangig wenn die Möglichkeiten
gross sind.

Bei einer ScriptSprache ist für mich grosse Freiheit wichtig. Sowas finde
ich z.b bei Ruby.

Die Source von Ruby sieht auch für viele etwas "seltsam" aus, aber tut ihre
sache sehr gut (leicht lesbar und sehr dynamisch).

Ich wünsche dir viel Spass bei der Entwicklung des Interpreters, rate dir aber
an vorher dir genau die Konkurrenten anzuschauen und eventuelle Probleme
mit diesen, und gute gewünschte Features jener anzueignen.

Es wird sehr schwer werden auch nur annhähernd mit diesen Scriptsprachen
(Ruby, Perl, Python) zu konkurrieren da diese schon sehr gut sind.

Dazu musst du recht schnell viele Mitstreiter finden die viel Zeit investieren.
 
Genau so hab ich mir das vorgestellt. Danke.

Die Blocks in einem Script werden Zeilenweise über Regular Expressions interpretiert und dann ausgeführt.


@Andreas Gaisbauer:

Ja, genau. Es geht darum einen String zusammenzusetzen.
Da gebe ich dir Recht. Ist schon etwas aufwändig.
Und es kommt noch schlimmer:
Hinter jedem
Code:
$var =& $var2
steckt das
Code:
%Text: set "LINKSource" $var
%Text: set "LINKSet" $var2
%Text: link $LINKSource $LINKSet
%Text: set "tmp" $return

Zuerst wollte ich das mit den Bedingungen auch so lösen. Ich hatte aber nicht den richtigen Einfall dazu also wird jede Zeile für sich alleine interpretiert. Steht ein "e]" davor, wird überprüft ob diese Bedingung zutrifft. Wenn ja, wird es weggeschnitten und die Zeile von neuem interpretiert.

Eine Zeile wird intern als "Expression"-Objekt gehandelt. Ich kann einem Ausdruck also auch Informationen mitgeben. Wie würde ich dieses Problem am effizientesten lösen. Bedingung: Die Befehle können nicht vorverarbeitet werden.

Durch die e]'s kann jeder Ausdruck für sich alleine stehen.
Der Vorteil:
Code:
if "e" $echo "=" "True"
Befehl
e]echo "Befehl kommentieren"
Befehl2
e]echo "Befehl2 kommentieren"
Befehl3
e]echo "Befehl3 kommentieren"
Befehl4
e]echo "Befehl4 kommentieren"
#usw.

Für das krebserregende Einfärben des Codes möchte ich mich hier entschuldigen.
Objektorientiert wäre schön, ich bezweifle jedoch, dass ich etwas anständiges auf die Beine stellen kann.

@Christian Fein:
Hab mir Ruby mal angesehen. Ist etwas "speziell"


http://klausercaarberg.ch/content/code/sample1_history.html <-- Diese Befehle werden bei einem erfolgreichen Start wirklich ausgeführt.
 
Zuletzt bearbeitet:
Auch wenn es etwas OT ist, ich kann mir den Code nicht ansehen (Opera 7.23). Es wird alles angezeigt, bis auf den Code.
Btt: Wenn du die "Sprache" für dein Projekt wirklich brauchst, ist es löblich. Aber wenn du eine neue Sprache schreiben willst, hast du imho keine Chance.
 
Wird das nicht sehr sehr langsam wenn hinter jedem AUsdruck eine RegEx steht? Ok, wenn performance für dein Project unwichtg ist, dann ists egal - aber ansonsten...
 

Neue Beiträge

Zurück