Article View: bln.comp.lang.opal
Article #179Re: Vorteile von Opal gesucht!
From: Olaf Brandes
Date: Fri, 21 Nov 1997 00:00
Date: Fri, 21 Nov 1997 00:00
142 lines
7728 bytes
7728 bytes
Moin Alex,
alexbged <alexbged@linux.zrz.tu-berlin.de> writes:
> Als Erstsemester in Informatik wurde ich vor kurzer Zeit zum ersten
> Mal mit Opal und Oasys konfrontiert und gebe zu, ich war ziemlich
> geschockt. In letzter Zeit programmiere ich h�ufig (mit Hilfe des
> Developer Studios einer gro�en Firma X) C++ unter Windows 95 und bin
> recht zufrieden. Wenn n�tig kann man sich durch die ausf�hrliche
> Online-Hilfe klicken und findet oft einen Tip, der weiterhilft. In
> dieser Hinsicht wird man bei Opal entt�uscht. Es gibt erst gar keine
> Hilfe !
Das OCS/OASYS-System ist sicherlich nicht das benutzerfreundlichste
der Welt. Eine Anzahl kommerzieller Produkte kann es sich erlauben,
mehr Zeit in die Entwicklung einer guten Oberflaeche zu stecken.
> Ich habe zu diesem Thema bereits einen Artikel in
> bln.lv.tub.informatik1 geschrieben, um mein Unbehagen z.B. wegen der
> Art der Wertzuweisung auszudr�cken. Nat�rlich gibt es noch weitere
> Dinge, die mich an Opal st�ren, unter anderem das Fehlen von
> Variablen und Konstanten, das die Eingabe von Zahlenwerten
> umst�ndlich macht und eine potentielle Fehlerquelle
> darstellt. ("x"!).
Es gibt keine Wertzuweisung im eigentlichen Sinne in funktionalen
Sprachen. OPAL ist diesbezueglich keine Ausnahme, sondern lediglich
ein Repraesentant eines Programmiersprachen-Paradigmas, das sich von
demjenigen imperativer Sprachen wie C oder Modula unterscheidet.
Wahrscheinlich willst Du nicht das Fehlen von Konstanten in OPAL
monieren -- diese gibt es naemlich sehr wohl --, sondern das Fehlen
der Moeglichkeit, Zahlen direkt zu notieren. Diese Eigenschaft von
OPAL wird nicht nur von Dir als Designfehler betrachtet, ist aber IMHO
halb so schlimm.
Dasz OPAL keine Variablen kennt, ist nicht richtig. Wahrscheinlich
meinst Du eher, dasz es nicht die Verwendung von Variablen in der Art
erlaubt, wie Du es von imperativen Sprachen gewohnt bist. Dies ist
kein Spezifikum von OPAL, sondern aller funktionaler
Programmiersprachen, s.o.
> Um es kurz zu machen: Ich habe vieles entdeckt, was mir bei Opal
> fehlt und dadurch gar nicht oder nur sehr umst�ndlich zu realisieren
> ist. Allerdings ist mir noch nichts aufgefallen, was Opal anderen
> Sprachen voraus hat, bzw. was mit einer OOP nicht auch zu
> realisieren w�re. Da stellt sich mir die Frage: Was ist an Opal,
> da� es Leute gibt, die darin etwas positives sehen ?
Grundsaetzlich zeichnen sich Programmiersprachen unserer Dekade idR
dadurch aus, dasz sie allgemein gehalten sind und folglich dazu
taugen, Problemloesungsverfahren fuer gegebene Probleme zu
implementieren. Dies ist logischen, funktionalen, objektorientierten
und imperativen Programmiersprachen (mehr oder weniger) gemein.
Abgesehen von der gewoehnungsbeduerftigen Notation numerischer
Konstanten hast Du in Deinem Text ausschlieszlich Eigenschaften von
OPAL kritisiert, die typisch fuer funktionale Programmiersprachen
sind. Deine Frage ist also diejenige nach der Daseinsberechtigung
funktionaler Programmiersprachen.
Ein paar Vorteile funktionaler Programmiersprachen sind:
- Effiziente Implementierungen auf hohem Abstraktionsniveau. Dieser
Punkt betrifft vor allem klassische Algorithmen, also eher nicht die
Bereiche Ein-/Ausgabe oder das Ansteuern einer
Hardwarekomponente. Dennoch lassen sich auch bspw. graphische
Oberflaechen mit hohen Abstraktionsniveau und sehr elegant
realisieren.
- Hoehere Sicherheit durch das Typsystem. In typkorrekten funktionalen
Programmen sind im Schnitt weniger Konzept- und
Implementierungsfgehler als in typkorrekten imperativen Programmen.
- Aus diesen Punkten resultiert eine hoehere Produktivitaet. Ein
OPAL-Programm mit ein paar tausend Zeilen z.B. ist leichter wartbar
als ein vergleichbares C- oder C++ - Programm, das ein paar tausend
Zeilen mehr haben mueszte, um dasselbe zu leisten.
Beispielsweise verwendet die wahrscheinlich bekannte Firma ERICSSON --
nicht ohne Stolz -- eine selbstentwickelte Sprachen namens ERLANG, die
im Kern funktional ist, zugleich aber sehr einfache Ein-Ausgabe
ermoeglicht, um Software fuer Telekommunikationsgeraete zu
entwickeln. Das ist zwar ungewoehnlich, musz sich aber wohl auszahlen,
sonst wuerden sie das nicht machen.
> Mir hat mal jemand geantwortet, ein Vorteil w�re die M�chtigkeit der
> Sprache, die sie durch ihre enge Bindung an die Mathematik erh�lt
> (hoffentlich sinngem�� zitiert). Kennt jemand ein Beispiel ?
Das ist eher Gegenstand der Lehre im Hauptstudium.
> Es w�rde mir wirklich helfen, auch eine sinnvollle Seite an Opal zu
> entdecken, damit ich nicht mit Frust z.B. dem morgigen Tag
> entgegensehen mu�, an dem ich Aufgaben in Opal l�sen und mich
> zwangsweise wieder damit befassen mu�. Man lernt eine Sprache
> erheblich leicher, wenn man sie nicht so verabscheut, sondern sich
> vielleicht sogar noch etwas davon verspricht (abgesehen von guten
> Noten !).
Das ist wohl wahr. Auch ich habe vor dem Studium lieber Assembler,
BASIC und PASCAL verwendet und wuszte nicht einmal, dasz es andere
Paradigmen fuer Programmiersprachen als das imperative gibt (ist schon
laenger her, Objektorientierung war noch nicht angesagt ;-)
Es ist der uebliche Teufelskreis: Man beherrscht eine
Programmiersprache, mit der man so weit zufrieden ist, und hat sich
noch nie gefragt, ob dies oder jenes, was schon immer total
umstaendlich war, nicht viel besser ginge (das Hoehlengleichnis...).
Man musz sich halt auf andere Paradigmen einlassen, um zu erkennen, wo
die Schwaechen der bisherigen Paradigmen lagen. Diesen Wunsch, aus
Deiner OO-Hoehle herauszuscheuen, kann Dir niemand
implantieren.
Ich kann Dich aber versichern, dasz sich der Blick aus jeder
Paradigma-Hoehle heraus lohnt. Wie im Club der toten Dichter: Steigen
Sie auf Ihre Tische, meine Herren. Von oben sieht die Welt ganz anders
aus.
Niemand wird Dich hindern, am Ende wieder zu C++ zurueckzukehren, aber
Du wirst dann Dein Leben lang sicher sein, eine wirkliche Wahl
getroffen zu haben. Noch ist das Studium der Informatik an einer
Hochschule mehr als nur die Vermittlung desjenigen Wissens, das von
vorherrschenden Geldgebern gefordert wird, und das ist gut so.
> Danke f�r Eure moralische Unterst�tzung !
Ich hoffe, meine Ausfuehrungen haben Dich ein wenig aufgemuntert.
Grusz
Olaf
--
___ _ _________________________________________________ _______________
/ \ Technische Universitaet Berlin AfPK \\/\\/\\ake this world
|) \_/laf mailto:brandes@cs.tu-berlin.de soGe || || ||a better place
|_)randes http://www.cs.tu-berlin.de/~brandes/ krPy \\ \\ \\to live.
--
___ _ _________________________________________________ _______________
/ \ Technische Universitaet Berlin AfPK \\/\\/\\ake this world
|) \_/laf mailto:brandes@cs.tu-berlin.de soGe || || ||a better place
|_)randes http://www.cs.tu-berlin.de/~brandes/ krPy \\ \\ \\to live.
Technical Details
Message-ID:
<0hlnyir644.fsf@cs.tu-berlin.de>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<3475293E.CB1BA0CB@linux.zrz.tu-berlin.de>Show Full Headers
Complete Article Headers
X-Google-Language: GERMAN,ASCII
X-Google-Thread: 108421,b2822c2d4de7de79,start
X-Google-Attributes: gid108421,public
From: Olaf Brandes <brandes@cs.tu-berlin.de>
Subject: Re: Vorteile von Opal gesucht!
Date: 1997/11/21
Message-ID: <0hlnyir644.fsf@cs.tu-berlin.de>
X-Deja-AN: 291191701
References: <3475293E.CB1BA0CB@linux.zrz.tu-berlin.de>
X-Face: JMNvh9KgdGY#;#9I*D0C-hg&G=:##}WJ;{rDY?[povd(8CLUGv,oHw_~0!J&6AENP/j|02Y Z&J4ai5e5Kni0Nec={!Zbn{S%t|tW=IAPsAVn5$>r"qU\FU0(4&O]igTb3Yx6-b??B>=-vRj!wSVL2 9CV,WnR{X4/4&'Y#*^qfkN~$qk`O{2?wU@PY&9VN%\f(.*S6,_$wMzIyYn(6;=pPtCk_F
Organization: Technical University of Berlin, Germany
Newsgroups: bln.comp.lang.opal