Michael Schröpl: Abwarten und Jugend geniessen (soweit moeglich)!

Beitrag lesen

Hi Hanno,

Gute Programmierer koennen sich in ein paar Monaten in jede Sprache einarbeiten
Der Satz regt mich jetzt zum Nachdenken an.

das ist gut so!

Soll ich also einfach das machen, wonach mir zu Mute ist, auch wenn ich dann alle 3 Monate die Sprache wechsel ? Klingt verlockend, wenn du recht hast...

Man kann den 'Charakter' von Programmiersprachen in gewisser Weise klassifizieren.

Alle Sprachen, die Du bisher kennst, sind "algorithmische" Sprachen - Du definierst einen _Ablauf_ in Form von Schritten, Schleifen, Bedingungen.
Ganz anders funktionieren "deskriptive" Sprachen - dort definierst Du _Eigenschaften_ eines Ergebnisses und überläßt es dem Interpreter, Compiler etc., wie er das entsprechende Ergebnis ermittelt. Hierbei mußt Du auf eine ganz andere Art und Weise an das Problem herangehen - Du beschäftigst Dich weniger mit konkreten Berechnungen als mit abstrakten Eigenschaften, und Du konzentrierst sich noch mehr auf das Modellieren von Daten gegenüber dem Verarbeiten derselben.

Innerhalb einer "Sprachklasse" gibt es viele Gemeinsamkeiten, die Dir aber erst dann so richtig bewußt werden, wenn Du mal eine Sprache einer anderen Klasse gelernt hast.
Letzteres solltest Du also unbedingt mal tun - am populärsten hierfür dürfte SQL sein, intellektuell interessant wäre vielleicht auch Prolog.
Im Vergleich zu einem solchen "Paradigmenwechsel" ist das Umlernen zwischen PHP und Perl wirklich einfach.

Es ist jedoch keineswegs so, daß sich jede Sprache sauber in eine "Klasse" einteilen lassen würde. PHP und Perl sind beispielsweise im Wesentlichen algorithmische Sprachen - aber reguläre Ausdrücke, die von beiden unterstützt werden, sind zweifellos ein rein deskriptives Element ...

Viele Grüße
      Michael

--
T'Pol: I apologize if I acted inappropriately.
V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
(sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
 => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.