On Thu, Oct 11, 2001 at 04:03:11PM +0200, Stefan Nobis wrote: > Genauso wie man C in sicherheitskritischen Bereichen vermeidet. Erzeuge mir mal einen buffer overflow in Perl. In C geht das _deutlich_ einfacher. :) > Ein Kernproblem von Perl: Zu viele implizite Annahmen werden in > Quelltexten niemals explizit ausformuliert. Dazu dann Kleinigkeiten wie > Funktionen, deren Parameterliste man nicht explizit angegeben kann, sub foo($$@%) { # ist kein Fluch, sondern erwartet zwei scalars, ein Array, einen Hash } > Variablen, die explizit und manuell lokal gemacht werden müssen und noch #!perl -w use strict; zwingt dich u.a., für jede globale Variable einen scope anzugeben, wenn sie denn global ist. z.b. $main::variable. > Aber mal anders gefragt: Kennst du denn Perl-Projekt nennenswerter > Größenordnung, also z.B. jenseits der 100.000 Zeilen Grenze? Und wie hoch Ja. www.mp3.com. Komplett Apache, Perl, MySQL. Und die haben _sicher_ mehr als 100.000 Zeilen da reingesteckt. Um die nächste Frage vorwegzunehmen: Es gibt einen Dateisystemtreiber für Linux in Perl. Der performt sogar ganz ordentlich. Sehr viel Systemwartung und Managementkrempel in IBMs Grossrechner und AIX-Kisten wird auch mit Perl gemacht. Und die übernächste: Nein, ich kenne kein Officepaket in Perl. Wozu auch. Für sowas benutzt man C++. Interpretierte Sprachen bringen da wenig Vorteile. > ist der Anteil der Sprache Perl in dieser Größenordnung von > Softwareprojekten? IBMs Tivoli (Systemmanagementtools) basiert fast komplett auf Perl. Nur sieht man davon relativ wenig. > Umgekehrt könnte ich behaupten, von Perl sind nur die Leute begeistert, > die praktisch keine andere Programmiersprache kennen (oder, harmlos.. > ..zu und auch Java und C++ sind da eher mit Vorsicht zu genießen). Perl ist halt so beliebt, weil es sehr flexibel ist, weil einfache Sachen *EINFACH* sind - und komplizierte Sachen immerhin noch möglich. Sehr viele Zweizeiler in Perl wären in C 20-50zeiler und würden ohne höllische Achtung gleich die nächsten fünf root exploits via buffer overflow o.ä. mitschleppen. > Wer sich mal mit Smalltalk, Ada, Haskel, OCAML, Mozart/Oz, den > Lisp-Dialekten und anderen, oft eher als exotisch titulierten Sprachen, > ernsthaft auseinandergesetzt hat, wird über die Verfechter von Perl/C und > Co. nur noch traurig den Kopf schütteln können. Hm... Smalltalk kenne ich, aber habe rel. wenig Praxis. Was mich noch fasziniert hat sind Sprachen wie Prolog. Gib das gewünschte Ergebnis vor ("ich bin fertig, wenn:") und lass den Interpreter sich einen Weg dahin suchen. Der Ansatz ist anders und damit sind diese für spezielle Aufgaben viel besser geeignet - der Bundesbahn-Fahrplan ist z.B. ein Prologprogramm. Ansonsten: Alle die o.g. Sprachen sind für spezielle Anwendungen oft sicherlich besser geeignet als C & Co. Aber es wären trotzdem nie meine Einstiegssprachen geworden, selbst wenn ich die Wahl gehabt hätte. > Aber in einem Punkt hast du Recht: Die Programmiersprache alleine macht's > natürlich noch lange nicht. Das sowieso. -- Jens Benecke ········ http://www.hitchhikers.de/ - Europas Mitfahrzentrale Crypto regulations will only hinder criminals who obey the law.
Attachment:
pgpfMaW0hRX7W.pgp
Description: PGP signature