
Am 30.12.2014 um 15:59 schrieb Renee B:
On 30.12.2014 15:28, Lothar Kimmeringer wrote:
Am 30.12.2014 um 13:51 schrieb Renee B:
Also dann am Besten aufhören C zu programmieren weil es wohl nicht bekannt ist dass Pufferüberläufe passieren können? Tatsaechlich bin ich dieser Meinung. Ausser dem geschmaelertem Ego des Programmierers gibt es eigentlich keinen Grund, auf eine Managed Sprache zu verzichten, sei es C#, Java, etc. die von vornherein solche Dinge vermeidet. Auf Treiberebene programmieren heutzutage wirklich die wenigsten.
Dann auch aber auch Schluss mit C# (kann im unsicheren Kontext ebenfalls Pufferüberläufe haben), Java (Pufferüberläufe mittels JNI), Python, ...
Das faellt jetzt aber unter "Real Programmers can program FORTRAN in any language".
Perl hat keine Pufferüberläufe,
Wer Java und JNI als Beispiel nennt, muss das Perlaequivalent dann aber auch akzeptieren ;-)
Ich rede nicht vom "golfen", sondern von gezielt weniger Schreibarbeit. Bleiben wir beim "List flattening":
methoden_aufruf( @alle_argumente )
ist kürzer als
methoden_aufruf( $alle_argumente[0], $alle_argumente[1], $alle_argumente[2], ...)
und besser lesbar, besser wartbar, ...
Mag sein. Problematisch wird es aber eben bei weniger ein- deutigen Dingen wie methoden_aufruf(a, b, c) bei dem c von b[1] "ueberschrieben" wird, wenn b eine Liste darstellt (mein Perlknowhow ist eingerostet, man mag es mir nachsehen, wenn ich syntaxmaessig nicht richtig schreibe). Oder eben gar statt quote(a) ein quote(a,b)-Aufruf wird, was das Problem bei dem quote-Fall ueberhaupt erst hervorgerufen hat. Da bin ich eben eher der Freund von einem Abbruch mit Fehler statt dem Versuch, das irgendwie trotzdem ausgefuehrt zu bekommen. Aber so ist Perl eben, die fuer mich relevante Information, dass OTRS von den Problemen - zumindest nach aktuellem Wissensstand - nicht betroffen ist, habe ich. So bleibt mir nur noch ein gutes neues Jahr zu wuenschen. Gruesse, Lothar