Ace (vs) Boost?
-
Hallo,
gibt es eigentlich schon eine offizielle Networking Library in den Boost Libraries?Könnte man durch Verwendung der Boost Bibliotheken auf die ACE Bibliotheken verzichten?
Wo sieht ihr die Vor- und Nachteile von Boost und von ACE?
Gruß Paddy
-
Morgen,
mir sagt ACE jetzt zwar nix, aber boost hat erst kürzlich asio aufgenommen: http://lists.boost.org/Archives/boost/2006/03/102287.php
MfG
GPC
-
Falls jemand von Euch beides kennt - Boost::Asio und ACE,
was kann ACE, was man mit Boost nicht machen kann?
Welche Bibliothek ist in Euren Augen besser?Gruß Paddy
-
Die beiden Libs kann man garnicht vergleichen, da sie verschiedene Ziele verfolgen. ACE ist ein komplettes Enterprise-Framework, das ist nicht nur ein Network-Interface, sondern da haste Corba, WebServer usw. mit bei. Das meiste was da drin ist, sacht mir nichts, weil du damit einfach sehr vieles erschlagen kannst. Kein Wunder, ACE wurde z.B. von SAP, Siemens Medical u.a. Firmen gesponsert, damit die ihre Probleme lösen können.
Boost asio ist dagegen ein kleines Low-Level-Network-Interface. D.h. du kannst mit asio erst das entwickeln, was ACE schon lange drin hat.
D.h. für asio müssen erst noch High-Level-Interface, wie http, ftp, Corba usw. entwickelt werden.
Es kommt darauf an was du machen willst? asio dürfte sich aber die nächsten Jahre als Standard in C++ entwickeln, wenn es in TR2 aufgenommen wird. Zumindest wurde asio letzte Woche auf dem C++ ISO Komitee Metting präsentiert (siehe dazu auch mein Blog!). Der Antrag für die Aufnahme in den TR2 ist in Arbeit.
Wenn du schnell eine verfügbare Komplettlösung mit allem Pipapo brauchst, schnapp dir ACE. Wenn dir erstmal eine Lowlevel-API reicht, würd ich asio nehmen.
-
Sagen wir so, wer nur Sockets haben will, braucht kein ACE. Das Problem mit Boost ist, das ASIO noch nicht im aktuellen Release enthalten ist.
ACE kann zB IPC und CORBA uvm. Außerdem gibt es mit JAWS ein Webserver Framework. Es kommt also ganz drauf an was du machen willst.
-
asio ist zwar nicht im aktuellen Release drin, aber es wird definitiv in einem der kommenden Releases dabei sein. Zur Zeit werden halt nur ein paar Kritikpunkte aus dem Review ausgemerzt und dann kann man loslegen.
-
Sicher, dass das in TR2 aufgenommen wird? Dachte in den Standard wird nichts aufgenommen, was nicht wirklich auf 99% aller Plattformen vorhanden ist (boost::filesystem wird ja zb auch nicht aufgenommen).
-
Also boost::filesystem wurde letzte Woche im TR2 aufgenommen!!! Hoch offiziell von der LWG und dem Komitee in den TR2 gewählt.
http://de.blog.360.yahoo.com/blog-lpz8ry8wdq9.tWE_8IgP.NtXjk0-?cq=1&p=30
Warum auch nicht? Und das Komitee hat letztes Jahr darum gebeten (!) Anträge für Netzwerk-Libs einzusenden! Hier:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1810.html
Kommt mal so langsam weg davon, das C++ nur für Toaster gedacht ist. *kopfschüttel*
-
Cool, dann wird die standardlib langsam ja richtig brauchbar

Wie stehts mit boost::thread?
-
Hätte erst den Link anschauen sollen und dann antworten..