Vor- und Nachteile diverser Script- und Programmiersprachen



  • Hallo zusammen!

    Mich würde doch mal interessieren, was ihr an verschiedenen Script- und Programmiersprachen gut und was schlecht findet.
    Was wünscht ihr euch für eure Lieblingssprache?
    Was könnt ihr auf den Tod nicht ausstehen?

    Ich programmierer zur Zeit /* gaaaanz beiläufig, daher relativ langsam */ an einer Scriptsprache und möchte die natürlich so gut wie möglich planen 🙂

    Mir persönlich gefallen z.B. nicht-typgebundene Variablen sehr, so dass man nicht immer darauf achten muss wo man die Variable wie benutzt, dass man nichts überladen muss und dass man den aktuellen Typ abfragen kann.
    In LUA ist es sehr bequem, Funktionen zu übergeben. Auch die Tupel dort gefallen mir sehr, z.B. "a, b, c = funktion();" oder "a, b, c = d, e, f;". Auch finde ich tables sehr interessant: "variable['abc'] = 2;" kann dann über "variable.abc" erreicht werden.
    PHP habe ich auch sehr gerne, allerdings vermisse ich da eindeutig Multithreading 🕶
    Reguläre Ausdrücke sind natürlich ein Muss.
    Bei Scriptsprachen vermisste ich besonders einen Preprocessor à la C++!
    Perl hat Ansatzweise eigene Scopes, so dass man z.B. mit 'my' eine lokale Variable deklarieren kann.
    eval() darf auch nicht fehlen! Auch runtime-includes, da man so z.B. leicht dynamische Module realisieren kann.
    Einfache Callbacks wie bei LUA sind genial: Man übergibt die Funktion und das war's. Keine Parametertypen, kein Rückgabetyp. Die Anzahl der an die Funktion übergebenen Parameter lässt sich zur Laufzeit ermitteln.
    Was mir an Scriptsprachen wiederum gefällt ist, dass sie auf mehreren System laufen, sofern ein Interpreter vorhanden ist. Andererseits stört es mich, dass ich z.B. bei PHP regelrecht zu offenem Quellcode gezwungen werde (die Alternative sind ein teurer Encoder oder unschöne PHP-Module).
    Dynamische Arrays, unbedingt!
    Die Klasse in PHP sind... naja. In LUA gibt es keine. In C++ sind sie ganz ordentlich, aber die Objekte kann man nicht mehr modifizieren (Variablen hinzufügen oder entfernen).
    Besonders mag ich auch die === und !== Operatoren von PHP. (0 == FALSE) -> TRUE, (0 === FALSE) -> FALSE.
    Was ich in PHP ein wenig vermisse ist ein ||-Operator, der kein Boolean zurückgibt, sondern den ersten Wert, welcher zu (bool)TRUE gecastet wurde - oder eben FALSE, wenn das für keinen der Fall ist.
    Referenzen sind in PHP relativ schwammig finde ich. Man weiß nie genau wie sie reagieren. Wenn ich beispielsweise eine Referenz auf ein Array-Element mache, und dieses Element dann über die Referenz ändere, dann wird das Array-Element auch eine Referenz...
    try...catch - es muss ein Jahr gedauert haben, bis mir wirklich klar war, was ich damit anfangen kann. Nun, da es auch in PHP5 präsent ist, kann ich es nicht mehr wegdenken 🙂
    Ich weiß nicht wieso, aber mir gefallen mit "--" statt mit "//" eingeleitete Kommentare besser. Leider beißt sich das mit dem Decrement-Operator, den es in LUA und Haskell, woher ich die Syntax kenne, nicht gibt.
    (s)printf (oder ähnliches) ist auch nicht wegzudenken, sonst kann man Zeilenweise Code schreiben, nur damit die Ausgabe passt!
    Implizite und explizite Typkonvertierungen sich auch wichtig. In PHP kann man beihnahe durch alle Typen kreuz und quer casten [von Klassen und Ressourcen mal abgesehen]. int -> array, string -> array, array -> boolean - irgendwas kommt schon dabei raus.
    Namespaces zum Organisieren von Klassen, Funktionen und Variablen sind auch nicht mehr wegzudenken. Gefällt mir immer wenn ich "x_y_z" als "x::y::z", oder besser "x.y.z", schreiben kann.
    In C++ strengt auch die Portabilität etwas an - vor allem die unterschiedliche Größe und Speicherdarstellung von Typen.
    Das Speichernahe arbeiten in C++ macht wiederum besonderen Spaß und fehlt mir in Scriptsprachen völlig. Hilfe, bin ich ein Hacker? 😮 :p
    Was ich bei PHP besonders mag ist, dass wenn ich schnell einen Algorithmus irgendwas berechnen lassen will, diesen in kürzester Zeit realisieren und verwenden kann. In C++ müsste ich wieder auf alles mögliche achten, definieren, deklarieren, Prototypen, Konvertierungen, dynamische Arrays. Bestes Beispiel: Ich wollte mal eben einen Algorithmus durchlaufen lassen, den ich mir für ein WoW-Addon ausgedacht habe, womit ich im Kampf möglichst exakt an die Gesundheit des Ziels kommen kann. Nach kurzer Zeit hatte ich die Ergebnisse, welche auch erstaunlich genau waren: http://www.icefinch.net/wow.php

    Aber genug für's erste, jetzt seid ihr dran!

    Grüße,
    Neku



  • Hi ich finde die Idee garnicht so schlecht... Folgendes:
    Der -- und ++ Operator sollte vorhanden sein als Kommentare eigenen sich:
    ', #, //...
    Zu den Rest:
    Schau mal bei Wikipedia es gab dort eine Seite wo eine große Anzahl von "Hello, World!" Programmen in verschiedensten Sprachen geschrieben war. Such dir die Codeteile die dir gut gefallen raus und mix vielleicht nen bisschen.

    Wenn du das alles wirklich ernst meinst:
    Mach die Sprache Open Source und stell sie z.B. bei sourceforge rein so wird sie vielleicht eine Chance haben Mächtig/Bekannt zu werden außerdem interessiert mich der Code 😃

    Zu der Sache mit dem Encoder du kannst ja für den Anfang nen ganz billigen Compiler basteln der den Code erst verschlüsseln und wenn er aufgerufen wird wieder entschlüsseln oder so.

    Was ich gut finden würde:
    - Einfach zu erlenen
    - Auf möglichst vielen Platformen identisch lauffähig
    - Möglichst viele Möglichkeiten mitbringen verschiedene Probleme zu lösen etwa: Netzwerkprogrammierung, usw...
    - Auf dem Stand der Zeit

    Viel Spaß, halt uns auf dem laufenden

    Gruß



  • Dummie schrieb:

    Hi

    Hi. 😃

    Dummie schrieb:

    Der -- und ++ Operator sollte vorhanden sein als Kommentare eigenen sich:
    ', #, //...

    # ist Preprocessor, ' ist für Strings.
    Die einzigen Kommentar-Ops die ich bisher eingeplant habe: //, /*, #!

    Dummie schrieb:

    Zu den Rest:
    Schau mal bei Wikipedia es gab dort eine Seite wo eine große Anzahl von "Hello, World!" Programmen in verschiedensten Sprachen geschrieben war. Such dir die Codeteile die dir gut gefallen raus und mix vielleicht nen bisschen.

    An Hello-World-Programmen sieht man nicht wirklich viel, aber die Idee ist trotzdem gut *Wikipedia öffne*

    Dummie schrieb:

    Wenn du das alles wirklich ernst meinst:

    Kommt drauf an ob ich zum einen die Zeit hab (C++ ist extrem Zeitaufwendig) und ob ich irgendwann jemand finde den ich gut kenne, der gut C++ kann und mit dem ich das zusammen machen könnte.

    Dummie schrieb:

    Mach die Sprache Open Source und stell sie z.B. bei sourceforge rein so wird sie vielleicht eine Chance haben Mächtig/Bekannt zu werden außerdem interessiert mich der Code 😃

    Ich mag OpenSource nicht und ich werde auch keine OpenSource-Programme erstellen, bis mir einer sagen kann was das bringen soll. Ich kann nicht Monate in ein Projekt investieren für nichts - darunter leidet mein RL schwerst 😞 Wenn es sich aber irgendwie lohnen würde wäre ich wohl dabei 🙂

    Dummie schrieb:

    Was ich gut finden würde:
    - Einfach zu erlenen
    - Auf möglichst vielen Platformen identisch lauffähig
    - Möglichst viele Möglichkeiten mitbringen verschiedene Probleme zu lösen etwa: Netzwerkprogrammierung, usw...
    - Auf dem Stand der Zeit

    Je mehr Möglichkeiten eine Sprache hat, desto schwerer ist sie zu erlernen. Aber leichte als C++ sollte es schon sein 🙂 Die Syntax ist bisher so ne Mischung aus LUA und PHP, aber ohne $ vor Variablen. Es gibt nicht wirklich Typen, nur Objekte. Objekte muss ich noch durchdenken - wurschtel mich gerade durch Scopes.
    Möglichst viele Plattformen, klar -> aber mit wachsender Größe natürlich zunehmend schwerer. Trotzdem werden Scripte nicht auf jedem System gleich laufen, z.B. wenn es um Pfadangaben geht oder Dinge, die etwas tiefer ins System gehen.
    "Viele Möglichkeiten" sind mein Hauptziel. Es geht mir ein wenig auf die nerven, dass ich für jeden Anlass eine andere Sprache verwenden oder gar lernen muss:
    C++ braucht man oft, das ist klar.
    Websites -> PHP, Javascript
    Games -> LUA
    mIRC -> MSL
    IRC-Bots -> TCL
    GUI-Applikationen -> z.B. C++
    Cross-Platform -> Java oder gewurschtel in C++
    Multithreading -> z.B. C++
    Binary -> z.B. C++

    Das sollte dann am Ende so aussehen:
    Script -> kompiliertes Script (Bytecode, der interpretiert wird) -> Binary (also der Interpreter mit kompiliertem Script hinten dran, natürlich plattformspezifisch).

    An Ideen mangelt es nicht, aber ich will auch nicht so überstürzt loslegen wie letztes Mal. Da klappte zwar schon Wertzuweisung und echo, aber wirklich durchdacht war da nichts 🙄 Aber das ist ne Weile her und man lernt ja stets dazu.
    Aktuell macht mir eine eigene Stringklasse zu schaffen, welche verschiedene Encodierungen incl. Unicode unterstützen soll. Diese riesigen Übersetzungstabellen, Normalisierungen, etc. *würg*.

    und Danke für deine Antwort 🙂
    Ich kann ja mal die PDF zu den Ideen rund um Scopes online stellen wenn das fertig durchdacht ist. Die Syntax erschlägt einen zwar im ersten Moment, aber als Anfänger braucht man das auch nicht all zu oft. (.var, ..var), (:var, ::var, :::var, ...) *G*



  • Neku schrieb:

    Dummie schrieb:

    Hi

    Hi. 😃

    Dummie schrieb:

    Der -- und ++ Operator sollte vorhanden sein als Kommentare eigenen sich:
    ', #, //...

    # ist Preprocessor, ' ist für Strings.
    Die einzigen Kommentar-Ops die ich bisher eingeplant habe: //, /*, #!

    #! ist das Shebang-Zeichen unter Linux, nicht wirklich sinnvoll das als Kommentar zu verwenden 😉 ( http://de.wikipedia.org/wiki/Shebang )

    Ansonsten stellt fuer mich Python das Maß aller Dinge dar, was ich bisher an Programmiersprachen kennen gelernt habe. Das bietet eigentlich auch _nahezu_ alles, was du so aufgelistet hast.
    Allerdings hab ich mir LISP noch nie angeschaut 😉

    Ansonsten haben wir das Thema bereits unter:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-144430.html

    allerdings ists dort ziemlich OT geworden.



  • Neku schrieb:

    Ich mag OpenSource nicht und ich werde auch keine OpenSource-Programme erstellen, bis mir einer sagen kann was das bringen soll. Ich kann nicht Monate in ein Projekt investieren für nichts - darunter leidet mein RL schwerst 😞 Wenn es sich aber irgendwie lohnen würde wäre ich wohl dabei 🙂

    hihi ... sitzt du mit Supermandress und Maske vor dem PC oder wie meinst du das mit dem RL? Ich hab schon von Leuten gehört die das Programmieren zu ihrem Beruf gemacht haben 😉
    Aber was ich mich wirklich frage, wenn du nicht an OpenSource interessiert bist, wie sieht denn dann deine Zielgruppe aus für die du diese neue Sprache entwickeln willst. Bisher hört sich das ganze doch eher nach einer Entwicklung an, was dir am besten gefällt. Was wiederum nicht heisst, dass das anderen gefallen muss. Insofern wär doch OpenSource gar nicht mal so dumm oder?



  • Neku schrieb:

    Ich mag OpenSource nicht und ich werde auch keine OpenSource-Programme erstellen, bis mir einer sagen kann was das bringen soll.

    nur so kann deine neue sprache bekannt und eventuell beliebt werden. bei dem wust an programmiersprachen, die es gibt, haste keine andere chance.



  • Blue-Tiger schrieb:

    Neku schrieb:

    Dummie schrieb:

    Hi

    Hi. 😃

    Dummie schrieb:

    Der -- und ++ Operator sollte vorhanden sein als Kommentare eigenen sich:
    ', #, //...

    # ist Preprocessor, ' ist für Strings.
    Die einzigen Kommentar-Ops die ich bisher eingeplant habe: //, /*, #!

    #! ist das Shebang-Zeichen unter Linux, nicht wirklich sinnvoll das als Kommentar zu verwenden 😉 ( http://de.wikipedia.org/wiki/Shebang )

    Ansonsten stellt fuer mich Python das Maß aller Dinge dar, was ich bisher an Programmiersprachen kennen gelernt habe. Das bietet eigentlich auch _nahezu_ alles, was du so aufgelistet hast.
    Allerdings hab ich mir LISP noch nie angeschaut 😉

    Ansonsten haben wir das Thema bereits unter:
    http://www.c-plusplus.net/forum/viewtopic-var-t-is-144430.html

    allerdings ists dort ziemlich OT geworden.

    Deswegen erlaube ich ja #! als Kommentar - damit es unter Linux gewohnt verwendet werden kann 😉

    Python hab ich gestern auch entdeckt. Häte nicht gedacht, dass es soetwas schon gibt. Aber Programmiersprachen, in denen man Einrückungen verwenden muss, mag ich nicht - ist wohl Ansichtssache.

    Danke für den Link, werde mir das mal durchlesen.

    mortino schrieb:

    Neku schrieb:

    Ich mag OpenSource nicht und ich werde auch keine OpenSource-Programme erstellen, bis mir einer sagen kann was das bringen soll. Ich kann nicht Monate in ein Projekt investieren für nichts - darunter leidet mein RL schwerst 😞 Wenn es sich aber irgendwie lohnen würde wäre ich wohl dabei 🙂

    hihi ... sitzt du mit Supermandress und Maske vor dem PC oder wie meinst du das mit dem RL? Ich hab schon von Leuten gehört die das Programmieren zu ihrem Beruf gemacht haben 😉
    Aber was ich mich wirklich frage, wenn du nicht an OpenSource interessiert bist, wie sieht denn dann deine Zielgruppe aus für die du diese neue Sprache entwickeln willst. Bisher hört sich das ganze doch eher nach einer Entwicklung an, was dir am besten gefällt. Was wiederum nicht heisst, dass das anderen gefallen muss. Insofern wär doch OpenSource gar nicht mal so dumm oder?

    Naja, wenn man größere Projekte alleine programmiert, dann wird das schon ziemlich zeitintensiv. In der Vergangenheit hab ich teilweise täglich von morgens bis abends programmiert [ausgenommen natürlich Schultage]. Ich hab auch schon Monate mit Reverese Engineering verbracht, was noch länger dauert, da man erstmal von Assembler in C++ übersetzen muss, um dann erst selbst Features coden zu können. Von irgendwas muss ich ja auch leben 😉
    Andere Programmierer frage ich natürlich auch, was sie an einer Programmiersprache bevorzugen und was nicht - so versuche ich einen möglichst guten Mittelweg zu finden. Ich hab die letzten zwei Tage damit verbracht über Namespaces zu diskutieren und bin noch lange nicht fertig 🙂
    OpenSource hat mich bisher [für eigene Projekte] nicht wirklich überzeugt. Ich frage mich inzwischen auch, ob das angefangene Informatikstudium eine so gute Idee war, denn dank OpenSource gibt es ja so ziemlich alles kostenlos.

    @net: Wie gesagt, ich schließe OpenSource nicht aus, aber bevorzuge es aber auch nicht. Ich kann mich jederzeit umentscheiden.



  • Neku schrieb:

    Mir persönlich gefallen z.B. nicht-typgebundene Variablen sehr, so dass man nicht immer darauf achten muss wo man die Variable wie benutzt, dass man nichts überladen muss

    Oh Gott. Damit öffnest du Priogrammierfehler aber alle Tore. Ich weise irrtümlich einer Zählvariabelen eine zeichenkette zu, merke es nicht und suche Stunden lang den Fehler. Da kommt freude auf. Wenn du jetzt auch noch darauf bestehst, dass man Variablen auchnicht deklarieren muss, dann aber guten Nacht.



  • Gast Luckie schrieb:

    Neku schrieb:

    Mir persönlich gefallen z.B. nicht-typgebundene Variablen sehr, so dass man nicht immer darauf achten muss wo man die Variable wie benutzt, dass man nichts überladen muss

    Oh Gott. Damit öffnest du Priogrammierfehler aber alle Tore. Ich weise irrtümlich einer Zählvariabelen eine zeichenkette zu, merke es nicht und suche Stunden lang den Fehler. Da kommt freude auf. Wenn du jetzt auch noch darauf bestehst, dass man Variablen auchnicht deklarieren muss, dann aber guten Nacht.

    naja, strings und nichtstrings trennen wir mal. strings bekommen ein $ an den variablennamen angehängt.
    ich sag nur
    ***** 38911 bytes free *****



  • volkard schrieb:

    ***** 38911 bytes free *****

    stimmt genau. die zahl haste dir aber gut gemerkt...



  • Gast Luckie schrieb:

    Neku schrieb:

    Mir persönlich gefallen z.B. nicht-typgebundene Variablen sehr, so dass man nicht immer darauf achten muss wo man die Variable wie benutzt, dass man nichts überladen muss

    Oh Gott. Damit öffnest du Priogrammierfehler aber alle Tore. Ich weise irrtümlich einer Zählvariabelen eine zeichenkette zu, merke es nicht und suche Stunden lang den Fehler. Da kommt freude auf. Wenn du jetzt auch noch darauf bestehst, dass man Variablen auchnicht deklarieren muss, dann aber guten Nacht.

    Deklarieren muss man auch nicht. Hast du schonmal mit einer solchen Sprache gearbeitet? z.B. LUA? Wenn man damit arbeitet, dann verhält man sich schon beim Programmieren anders uznd achtet auf soetwas. Bei deinem Beispiel etwa wirst du wohl für die Zählvariable ++ verwenden, was bei einem String in einer Exception enden wird.
    Ich überlege aber auch, wie man auf Wunsch möglichst einfach sicherstellen kann, dass eine Variable einen bestimmten Typ hat. Theoretisch könnte man eine Ergänzung zu Casts machen, welche eine Exception wirft, sobald eine Variable nicht beinen bestimmten Typ hat.
    Bei PHP, LUA, Javascript & co funktionieren nicht-typgenubdene Variablen doch wunderbar.

    volkard schrieb:

    Gast Luckie schrieb:

    Neku schrieb:

    Mir persönlich gefallen z.B. nicht-typgebundene Variablen sehr, so dass man nicht immer darauf achten muss wo man die Variable wie benutzt, dass man nichts überladen muss

    Oh Gott. Damit öffnest du Priogrammierfehler aber alle Tore. Ich weise irrtümlich einer Zählvariabelen eine zeichenkette zu, merke es nicht und suche Stunden lang den Fehler. Da kommt freude auf. Wenn du jetzt auch noch darauf bestehst, dass man Variablen auchnicht deklarieren muss, dann aber guten Nacht.

    naja, strings und nichtstrings trennen wir mal. strings bekommen ein $ an den variablennamen angehängt.
    ich sag nur
    ***** 38911 bytes free *****

    Da fehlt mir wohl ne Story - worum geht's?



  • In PHP kann man beihnahe durch alle Typen kreuz und quer casten [von Klassen und Ressourcen mal abgesehen]. int -> array, string -> array, array -> boolean - irgendwas kommt schon dabei raus.

    ich finde eine Sprache sollte nur erlauben was auch Sinnvoll ist.
    wie sinnvoll ist den int -> array ? 123456 -> [1],[2],[3],[4],[5],[6] wer braucht sowas?
    string -> array: ein String ist ja schon ein Array von Chars.
    array -> boolean: 😕 😕



  • Neku schrieb:

    Bei deinem Beispiel etwa wirst du wohl für die Zählvariable ++ verwenden, was bei einem String in einer Exception enden wird.

    keine exceptions, sorg einfach dafür dass ++ immer definiert ist. ein zahl wird um 1 hochgezählt (auch floats, also nicht um 0.00000001 oder sowas). bei zeichenketten zählste das letzte element hoch, ist es 'Z' dann wird's 'A' und es gibt einen überlauf zum vorletzen element. bei struct und arrays zählt ++ alle members hoch usw...

    Neku schrieb:

    Da fehlt mir wohl ne Story - worum geht's?

    commodore basic v2



  • DEvent schrieb:

    In PHP kann man beihnahe durch alle Typen kreuz und quer casten [von Klassen und Ressourcen mal abgesehen]. int -> array, string -> array, array -> boolean - irgendwas kommt schon dabei raus.

    ich finde eine Sprache sollte nur erlauben was auch Sinnvoll ist.
    wie sinnvoll ist den int -> array ? 123456 -> [1],[2],[3],[4],[5],[6] wer braucht sowas?
    string -> array: ein String ist ja schon ein Array von Chars.
    array -> boolean: 😕 😕

    Falsch.
    int -> array erzeugt ein Array, dass den int-Wert als einziges Element hat.
    string -> array macht das Gleiche mit einem String.
    array -> boolean verwende ich recht häufig bei "if (array)".(bool)array)". (bool)array ist FALSE, wenn das Array leer ist, ansonsten TRUE.

    net schrieb:

    Neku schrieb:

    Bei deinem Beispiel etwa wirst du wohl für die Zählvariable ++ verwenden, was bei einem String in einer Exception enden wird.

    keine exceptions, sorg einfach dafür dass ++ immer definiert ist. ein zahl wird um 1 hochgezählt (auch floats, also nicht um 0.00000001 oder sowas). bei zeichenketten zählste das letzte element hoch, ist es 'Z' dann wird's 'A' und es gibt einen überlauf zum vorletzen element. bei struct und arrays zählt ++ alle members hoch usw...

    Neku schrieb:

    Da fehlt mir wohl ne Story - worum geht's?

    commodore basic v2

    Dass Zahlen bei ++ um 1 erhöht werden ist klar. Ob ich Zahlen in Integers ind Floats trenne weiß ich noch nicht. LUA hat z.B. einen einzigen Zahlentyp und ich muss mir noch überlegen, welche Vor- und Nachteile ein solcher Typ hat. Das mit den Strings finde ich ne sehr komische Idee. Exception halte ich hier für angebracht. Wer dennoch einen solchen String möchte, kann ja das String-Objekt ändern oder ein neues davon ableiten. Die Idee für Arrays finde ich interessant.

    Commodore? das war eindeutig vor meiner Zeit 🙂



  • Gast Luckie schrieb:

    Neku schrieb:

    Mir persönlich gefallen z.B. nicht-typgebundene Variablen sehr, so dass man nicht immer darauf achten muss wo man die Variable wie benutzt, dass man nichts überladen muss

    Oh Gott. Damit öffnest du Priogrammierfehler aber alle Tore. Ich weise irrtümlich einer Zählvariabelen eine zeichenkette zu, merke es nicht und suche Stunden lang den Fehler. Da kommt freude auf.

    Die Prüfungen werden von der Compilezeit auf die Laufzeit. Wenn der Fehler auftritt, dann tritt er auf, egal, ob er zur Compilezeit festgestellt wurde oder erst zur Laufzeit und er ist in beiden Fällen gelich leicht oder schwer zu finden. (Solange wir von einer strengen Typisierung ausgehen.)
    Das Problem ist, dass das ganze nur in sehr selten auftretenden Situationen passiert. Das heißt der Fehler bleibt möglicherweise sehr lange unentdeckt.



  • Neku schrieb:

    Deswegen erlaube ich ja #! als Kommentar - damit es unter Linux gewohnt verwendet werden kann 😉

    Ui, ganz schlechte Idee. 👎



  • nman schrieb:

    Neku schrieb:

    Deswegen erlaube ich ja #! als Kommentar - damit es unter Linux gewohnt verwendet werden kann 😉

    Ui, ganz schlechte Idee. 👎

    Jop echt schlechte Idee.

    @Neku: Nee genau andersrum, '#' muss als Kommentar erlaubt sein, damit man '#!' als
    Shebang benutzen kann!

    '#' ist imo sowieso das beste Kommentarzeichen für einzeilige Kommentare.



  • Neku schrieb:

    Das mit den Strings finde ich ne sehr komische Idee. Exception halte ich hier für angebracht.

    dann mach es doch so, dass ein ++ auf einen string ein leerzeichen anhängt.

    btw: exceptions sind eine blöde erfindung. gerade bei scriptsprachen nervt sowas nur denn ein script soll immer laufen, egal wieviele fehler drin sind. mach stattdessen lieber ausgaben nach stderr oder eine debug-konsole. natürlich brauchste auch ne möglichkeit zur laufzeit fehler zu erkennen bzw. zu behandeln aber da gibts ja bessere möglichkeiten z.b globale flags, spezielle rückgabewerte usw.



  • net schrieb:

    aber da gibts ja bessere möglichkeiten z.b globale flags, spezielle rückgabewerte usw.

    Was?
    Das ist doch gerade ein Vorteil von Exceptions, dass ich eben nicht mehr auf den
    Rückgabewert prüfen muss!

    net schrieb:

    denn ein script soll immer laufen, egal wieviele fehler drin sind. mach stattdessen lieber ausgaben nach stderr oder eine debug-konsole

    Also ich will nicht, das mein Script immer läuft. Was soll das für einen Vorteil haben? -
    Egal ob jetzt 2 zeiliges Bash Script oder tausend Zeilen Python Projekt.

    Und Ausgeben nach stderr ersetzen bestimmt keine Exceptions, sondern ergänzen sie.



  • icepacker schrieb:

    Das ist doch gerade ein Vorteil von Exceptions, dass ich eben nicht mehr auf den Rückgabewert prüfen muss!

    exceptions sind für besonders schlimme fehler, wenn ein programm nicht mehr weiterlaufen kann weil richtig was kaputt ist. sie reissen das programm aus seinem gewohnten ablauf, wie eine interrupt routine o.ä. für einfache fehler z.b. wenn irgendeine aktion schief läuft, ist es doch einfacher, irgendeinen status abzufragen.

    icepacker schrieb:

    Also ich will nicht, das mein Script immer läuft. Was soll das für einen Vorteil haben?

    dann führt das script den anderen, möglicherweise korrekten, code noch aus. würde ein script bei einem fehler abbrechen wär das nicht mehr der fall.


Anmelden zum Antworten