Hallo!

Am Dienstag, 11. August 2009 schrieb Emanoil Kotsev:
> Markus Raab wrote:
> > We are a austrian usergroup and so the language on this mailinglist is
> > normaly german, but english is ok too.
>
> Ich war im falschen Thread als ich geposted habe. Ich wollte auf die
> debian-user list posten, was ich auch nachher gemacht habe.

Achso, kein Problem :-)

Im September bin ich dann wieder in Wien, du kannst dann gerne mal bei 
Debienna vorbeikommen und wir können das diskutieren.

> Es ist eine interessante Diskussion entstanden - ich habe Einiges gelernt
> und vor allem erfahren, welche die üblichen Wege sind.

Hab sie gerade durchgelesen.

> Ich habe vor allem in perl und C bis vor ein paar Jahren programmiert. Doch
> letzter Zeit denke ich mehr objekt-orientiert (wegen der perl modularität)
> und habe versucht einige sachen mit c++ zu machen, also habe ich mich
> gefragt, wie man sowas (threaded) in C++ schreiben würde. In C ist's mir
> klar.

Threads werden auch in Objekte gepackt. Wesentlich wichtiger sind allerdings 
die anderen Concurrency-Eigenschaften bzw. wie man sie steuern kann. Da hilft 
das Scoping von C++ sehr viel um nie zu vergessen alle Locks auch wieder 
freizugeben (Schlagwort: Ausnahmesicherheit).

> > We are using boost::threads at performous, a great karaoke software:
> > http://performous.org/
>
> Das Problem mit libboost, wie mit den anderen Vorschlägen (qt, gtkmm) ist
> dass sie einen overhead erzeugen würden. Ich hätte ein C++ interface zu
> pthreads erwartet (außerhalb von boost). Jammerschade ...

Ich würde erwarten, dass es keinen signifikaten Overhead zum direkten 
Verwenden von pthreads gibt. Templates erzeugen normalerweise genau den Code 
für die Typen die du verwendest. Die Abstraktion welche Thread 
implementierung verwendet wird würde ich in Policies erwarten, das ist auch 
Template Code den der Compiler vollständig auflöst. Oder weißt du mehr 
darüber?

Was genau stellst du dir unter C++ Interface vor? Wenn du keine Kapselung, 
RAII, Namespaces usw. verwendest würde es ja auch nichts bringen.

> Ein Nebeneffekt ist dass threaded apps nicht mühelos portiert werden
> können. ICh habe fast das ganze letzte WE damit verbracht, darüber zu lesen
> und einige Sachen auszuprobieren.
> Ich kenne die boost lib aus einem anderen Projekt, daher würde ich mich
> dafür entscheiden.
> Wie steht es mit der Portabilität von libboost?

libboost macht das grundsätzlich sehr gut, sie haben ausführliche Regression 
Tests Suites die sie auf einer Unzahl von Compiler/OS Versionen laufen 
lassen:
http://www.boost.org/development/tests/trunk/developer/summary.html
bzw. übersicht über testing:
http://www.boost.org/development/testing.html

Eventuell ist die Portabilität von boost::threads sogar besser als pthreads da 
sie wohl z.b. unter Windows irgendeine andere Lösung verwenden müssen.
Grundsätzlich gefordert wird dass Boost Libraries unter 2 verschiedenen 
Systemen laufen müssen. Es wird aber natürlich versucht alle Libraries 
überall laufen zu lassen. Den genauen Status von boost::threads kenne ich 
jetzt aber nicht.

> >> I also couldn't find a user-list for libcsoap,
> >
> > I tried libcsoap, but most examples did not work, because the soap
> > servers were already down or can be used with API key only (e.g. amazon).
>
> In dem usr-share Ordner finden sich Beispiele für server und client, die
> API ist relativ gut dokumentiert und einfach anzuwenden.

Das was nur lokal gelaufen ist hat ohne Probleme funktioniert.

Falls es dich interessiert, ich habe voriges Semester ein Skriptum über OOP 
mit C++ geschrieben:
http://www.markus-raab.org/About/papers.html#oop

mfg Markus

_______________________________________________
Debienna mailing list
[email protected]
http://rerun.lefant.net/cgi-bin/mailman/listinfo/debienna

Antwort per Email an