[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] webinterface für c/c++ progs



Jens Benecke <jens@jensbenecke.de> writes:

> sub foo($$@%) {
> 	# ist kein Fluch, sondern erwartet zwei scalars, ein Array, einen Hash
> }

Kann man den Paramtern nicht direkt Namen geben?

> #!perl -w
> use strict;

Damit wird Perl einigermaßen erträglich, richtig. Aber wie gesagt, lokale
Variablen und Funktionsprototypen sind eher Kleinkram. Viel größer ist das
Problem, der vielen impliziten Annahmen, die selbst in gutem Perl-Code noch
versteckt sind.

> 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.

C++? Nur, wenn es sich nicht vermeiden lässt. Es gibt so viel bessere Sprache,
die für derartige Projekte besser geeignet sind und dabei auch gleich ein
richtiges OO-Modell bieten und andere sehr wichtige und nützliche Konzepte
unterstützen (z.B. Lazy Evaluation oder Closures), wie z.B. Common Lisp, Ada,
Mozart/Oz und andere. C++ ist zwar weit verbreitet, aber deshalb noch lange
nicht die einzige Sprache, in der man große Projekte angehen kann -- eher ist
C++ sogar eine schlechte Wahl, denn es gibt bis heute so gut wie keinen
Compiler, der den ISO Standard voll umsetzt und der Standard selbst ist
grauenvoll inkonsistent.

> IBMs Tivoli (Systemmanagementtools) basiert fast komplett auf Perl. Nur
> sieht man davon relativ wenig.

Und Tivoli soll nach dem, was ich so aus 2. Hand gehört habe, ziemlich grausig
sein, was die Stabilität betrifft.

> Perl ist halt so beliebt, weil es sehr flexibel ist, weil einfache Sachen

Perl ist so beliebt, weil die Leute nichts besseres kennen und inzwischen
einfach als cool gilt. Perl mit C zu vergleichen und zu sagen, hey, Perl ist
doch so viel besser, zeugt nicht gerade von einer Kenntnis der wirklich
interessanten Alternativen.

> > Wer sich mal mit Smalltalk, Ada, Haskel, OCAML, Mozart/Oz, den
> > Lisp-Dialekten und anderen, oft eher als exotisch titulierten Sprachen,
> 
> 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.

Hast du dich je mit ihnen auch nur im Ansatz beschäftigt? Ada und OCAML sind
z.B. im Laufzeitverhalten der compilierten Programme (Mozart/Oz IIRC ebenso)
voll zu C konkurzenzfähig, also weder langsamer noch speicherhungriger und sie
sind full-featured wie C, C++, Perl oder andere Sprachen und es gibt sogar ein
experimentelles Betriebssystem, dass in Ada geschrieben wurde
(proof-of-concept halt). Das Problem ist eben, dass aus welchen Gründen auch
immer, sich C sehr weit verbreitet hat und viele Leute schlicht zu faul sind,
sich andere Sprachen anzusehen.

Davon mal abgesehen haben zumindest Smalltalk und Ada eine sehr, sehr große
Bedeutung, denn Smalltalk war jahrelang (aktuelle Zahlen kenne ich leider
nicht) so ziemlich die Sprache überhaupt, wenn es um größere in-house Projekte
ging (bei größeren Firmen) und Ada hat vermutlich im Bereich Embedded-Systems
gute Konkurenzchanzen im Vergleich zu C und Assembler (was die Verbreitung
betrifft).

Common Lisp ist ebenfalls gar nicht mal so akademisch und es gibt ein paar
größere Systeme, die komplett in CL geschrieben wurden und auch guten
kommerziellen Erfolg haben/hatten.

OCAML und Mozart/Oz sind allerdings wirklich eher Nischensprachen, da sie in
ihrer heutigen Erscheinung noch ziemlich jung sind (aber durchaus ältere
Wurzeln haben, zumindest OCAML, dass aus Standard-ML hervorgegangen ist).

Solche Aussagen wie die deinige lässt mich zu der Überzeugung kommen, nur
Leute mit einer fundierten Ausbildung (mind. FH-Diplom) sollte man erlauben zu
programmieren (wobei die Ausbildungen an FH und Uni durchaus noch verbessert
gehören und leider auch dort die Leute mit viel zu wenigen Sprachen in
Berührung kommen).

Ein Programmierer, der nicht mind. 3-4 grundverschiedene Sprache kennt (so a
la Ada, Smalltalk, Common Lisp, Mozart/Oz, Prolog), sollte Berufsverbot
kriegen. (Alternativ reicht es natürlich, alle Konzepte, die in diesen
Sprachen so vorkommen, zu beherrschen, aber das ist natürlich schwierig zu
lernen, ohne sich mit konkreten Beispielen zu beschäftigen.)

Für Programmierer ist die Programmiersprache eines der wichtigsten
Arbeitsmittel. Keinem Schreiner überlässt man die Wahl seiner Werkzeuge völlig
frei, der wird in seiner Ausbildung intensiv mit den verschiedenen Vor- und
Nachteilen vertraut gemacht. Nur Programmierer sollen ihre Werkzeuge frei nach
Lust und Laune wählen, ohne Alternativen und die verschiedenen Vor- und
Nachteile wirklich objektiv abschätzen zu können. Kein Wunder, das heute
Software so schlecht ist und alle Welt sich mit "Software kann nie fehlerfrei
sein" versucht aus der Verantwortung zu winden.

Sorry für die lange Mail, aber das musste jetzt mal raus. Da OT, Antworten
bitte an mich persönlich und nicht an die Liste. Danke.

-- 
Until the next mail...,
Stefan.

-- 
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

936 eingetragene Mitglieder in dieser Liste.


Reply to: