Thread Perl 6 und Nebenläufigkeit (10 answers)
Opened by leo11 at 2009-01-02 18:35

murphy
 2009-01-03 14:01
#129956 #129956
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2010-01-02T17:35:37 leo11
Ich hoffe auf einen Schalter im Compiler/Interpreter. Einmal umgelegt und zack kann man wie bisher programmieren und es werden alle Prozessoren ausgelastet so das ein Programm bei 4 Prozessoren erheblich schneller läuft als bei einem.

Das ist ein Wunsch, der nicht eher in Erfüllung gehen wird, als es eine KI gibt, die wesentlich besser programmieren kann als Du selbst, die Intention Deines Programmes erkennt und es als parallele Variante neu schreibt ;-)

Für begrenzte automatische Parallelisierung gibt es zwar Ansätze (zum Beispiel OpenMP für C, C++ und FORTRAN), aber ohne darauf zu achten, wie man sein Programm strukturiert kommt dabei auch kein guter Code heraus.

Quote
Nach dem was ich bisher gelesen habe wird das wohl nix. Nebenläufig programmieren geht eng einher mit seiteneffektfreien Programmieren.

Naja, nebenläufige Programmierung funktioniert mit und ohne Seiteneffekte. Es ist nur bei weitem einfacher und effizienter seiteneffektarmes Multithreading zu betreiben, weil beim Programmieren einige lästige und schlecht zu findende Fehlerquellen ausgeschlossen werden und zur Laufzeit Synchronisationsaufwand eingespart wird.

Quote
Also funkional. Was wiederum ganz was anderes ist als deklarativ und für's alltagsgeschäft sicher nicht attraktiv... .

Dass funktionale Programmierung in den meisten Fällen einfach eleganter und weniger fehleranfällig ist gilt auch für serielle Programme. Warum es für den Alltag nicht attraktiv sein soll, eine bessere Technik zu verwenden, die Arbeit spart, leuchtet mir nicht wirklich ein ;-)

Quote
[...]
Auch ganz allgemein (unabhängig von Perl 6), was ihr so an Konzepten kennt um der Sache her zu werden.

Ich persönlich finde expliziten aktorenbasierten Parallelismus ganz angenehm zu programmieren. Und eine Bibliothek die Operationen wie map und fold automatisch parallel ausführt ist auch praktisch.
When C++ is your hammer, every problem looks like your thumb.

View full thread Perl 6 und Nebenläufigkeit