C++ Bibliotheken im Umfang wie Java?
-
@DStefan
Wieso meinst du, dass kein Bedarf da ist?Also es gibt ja gewissen Bedarf an solchen Techniken. Microsoft, Adobe und wahrscheinlich viele andere benutzen ja die Loki Bibliothek, welche ein paar solche Techniken benutzt, wie sie mit C++0x kommen..
btw.
Mir ist was komisches aufgefallen. Warum sind die news auf der Loki page älter, als die von 2007?!"Neu":
http://loki-lib.sourceforge.net/index.php?n=Main.News"Alt":
http://web.archive.org/web/20071021090321/http://loki-lib.sourceforge.net/index.php?n=Main.News
-
drakon schrieb:
btw.
Mir ist was komisches aufgefallen. Warum sind die news auf der Loki page älter, als die von 2007?!"Neu":
http://loki-lib.sourceforge.net/index.php?n=Main.News"Alt":
http://web.archive.org/web/20071021090321/http://loki-lib.sourceforge.net/index.php?n=Main.NewsWeil er zu einem großen Wurf ausholt. Und gedacht hatte, das schon längst geworfen zu haben, aber MIST, es dauert doch ein Momentchen länger.
?
-
drakon schrieb:
@DStefan
Wieso meinst du, dass kein Bedarf da ist?Also es gibt ja gewissen Bedarf an solchen Techniken. Microsoft, Adobe und wahrscheinlich viele andere benutzen ja die Loki Bibliothek, welche ein paar solche Techniken benutzt, wie sie mit C++0x kommen..
Ach, ich meine gar nicht, dass kein Bedarf für C++0x besteht. Ich meine, dass der Bedarf an anderen Dingen größer ist. Dass sich C++ am Markt (nicht unbedingt im kommerziellen Sinne) besser behaupten könnte, wenn diese Dinge beachtet würden. Zum Beispiel:
- Umfassende Bibliotheksunterstützung für Dinge aus der Realen Welt. Wie sie ja auch in diesem Thread schon angefragt wurden.
- Ein definiertes Name Mangling, so dass DLLs verschiedener Hersteller oder verschiedener Versionen desselben Herstellers problemlos verwendet werden können.
- Konsequente und leicht zu verwendende Unterstützung für Unicode. Und zwar im Programm wie im Quelltext. Warum, zum Teufel, darf ich eine Klasse nicht
Käsekuchen
nennen - und dieser eine Methode [c]preisIn€()[c] verpassen?!Undsoweiter. Das sind bloß Dinge, die mir grad spontan so einfallen. Ich finde, das sind wichtige Dinge. Ja, ich würde so weit gehen zu sagen, dass mir allein schon diese drei Punkte wichtiger sind als alles, was der neue Standard bringen mag. -- Wobei ich freimütig zugebe, dass ich wohl eher schlecht über die geplanten Neuerungen informiert bin
Stefan.
-
DStefan schrieb:
Das sehe ich ähnlich. Und ich befürchte, dass die Anzahl der Ablehner, vor allem im kommerziellen Bereich, ziemlich groß sein wird. C++, inklusive der Standard-Bibliotheken, drängt sich eigentlich in keinem relevanten Bereich der Programmier-Szene wirklich auf als die Sprache der Wahl. Und daran wird sich - leider - auch mit dem neuen Standard vermutlich nichts ändern.
Versteht mich nicht falsch: Ich liebe C++. Aus vielen Gründen. Aber ich bin der Meinung, dass sich Standard-C++ leider in die völlig falsche Richtung bewegt. Die Sprache wird in Zukunft mehr und mehr an Relevant einbüßen. Fürchte ich.
Stefan.
Wie kommst Du darauf, dass C++ nicht die Sprache der Wahl ist? Du sitzt wahrscheinlich gerade vor einem Programm, welches mit C++ geschrieben ist. Welchen Browser nutzt Du? Firefox? IE? Safari? Konqueror? Egal - zumindest die sind in C++ geschrieben. Bei Java sieht man es halt auf dem ersten Blick. Wenn nicht an der Optik dann an der Dateiendung (oder der Langsamkeit
). Bei C++ sieht man es nicht. C++-Programme funktionieren halt einfach.
Ich verdiene meinen Lebensunterhalt mit der Programmierung in C++. Die Ergebnisse sind überall sichtbar aber kaum einer weiß, dass da C++-Programme dahinter stehen.
-
DStefan schrieb:
Ach, ich meine gar nicht, dass kein Bedarf für C++0x besteht. Ich meine, dass der Bedarf an anderen Dingen größer ist.
Das tolle an C++ ist dass Du wirklich ALLES damit machen kannst. C++ kann schon verdammt viel, noch mehr wäre einfach übertrieben. Wenn dir irgendwas fehlt besorg dir einfach eine fertige Library oder programmier es dir selbst. Ausserdem, in welcher Programmersprache ausser C++ kann man Inline-Assembler einsetzen? Eg gibt vielleicht noch 3 oder 4, aber die meisten können es nicht.
DStefan schrieb:
- Umfassende Bibliotheksunterstützung für Dinge aus der Realen Welt. Wie sie ja auch in diesem Thread schon angefragt wurden.
Wie gesagt, Bibliotheken für alles Mögliche findest du in mehrfacher Azsführung.
DStefan schrieb:
- Ein definiertes Name Mangling, so dass DLLs verschiedener Hersteller oder verschiedener Versionen desselben Herstellers problemlos verwendet werden können.
DLLs haben doch schon festgelegte Formate, Wenn Du keine import-library hast, benutzt Du einfach LoadLibrary/GetProcAddress. Das ist alles kein Problem.
DStefan schrieb:
- Konsequente und leicht zu verwendende Unterstützung für Unicode. Und zwar im Programm wie im Quelltext. Warum, zum Teufel, darf ich eine Klasse nicht Käsekuchen nennen - und dieser eine Methode [c]preisIn€()[c] verpassen?!
Fehlen Dir Umlaute wirklich? Ok, aber das ist Geschmacksache. Mich z.B. stören selbst umlaute und Leerzeichen in Dateinamen [ich bevorzuge mein_guete.txt statt Meine Güte . txt]
-
general bacardi schrieb:
DStefan schrieb:
Ach, ich meine gar nicht, dass kein Bedarf für C++0x besteht. Ich meine, dass der Bedarf an anderen Dingen größer ist.
Das tolle an C++ ist dass Du wirklich ALLES damit machen kannst. C++ kann schon verdammt viel, noch mehr wäre einfach übertrieben. Wenn dir irgendwas fehlt besorg dir einfach eine fertige Library oder programmier es dir selbst.
Was willst Du uns damit sagen? Dass die Spracherweiterungen in C++0x übertrieben sind? Falls ja, frag mal die Boost-Entwickler, wie die das sehen. Rvalue Referenzen, Variadic Templates, decltype sind ziemlich geniale Erweiterungen, die die Entwicklung von Libraries erheblich verbessern und andere Dinge erst möglich machen (Ich freu' mich schon auf std::unique_ptr zB).
-
Sebastian Pizer schrieb:
general bacardi schrieb:
DStefan schrieb:
Ach, ich meine gar nicht, dass kein Bedarf für C++0x besteht. Ich meine, dass der Bedarf an anderen Dingen größer ist.
Das tolle an C++ ist dass Du wirklich ALLES damit machen kannst. C++ kann schon verdammt viel, noch mehr wäre einfach übertrieben. Wenn dir irgendwas fehlt besorg dir einfach eine fertige Library oder programmier es dir selbst.
Was willst Du uns damit sagen? Dass die Spracherweiterungen in C++0x übertrieben sind?
Nein, ich will damit sagen, dass Zusatzbibliotheken wenn man sie braucht, überall leicht erhältlich sind. Beispielsweise welche für Multithreading, grafische Oberflächen, Soundverarbeitung, netzwerkkommunikation usw, das alles muss man nicht in die SPrache integrieren. Was die neuen C++0x Feature angeht, so kann man sie benutzen oder auch nicht. So wie C++ schon immer benutzt wurde, daran wird sich nichts ändern. Jeder verwendet C++ nach seinem Geschmack und das finde ich gut. C++ bietet von allen Programmiersprachen die ich kenne die meiste Freiheit und die meisten Möglichkeiten.
-
DStefan schrieb:
- Konsequente und leicht zu verwendende Unterstützung für Unicode. Und zwar im Programm wie im Quelltext. Warum, zum Teufel, darf ich eine Klasse nicht
Käsekuchen
nennen - und dieser eine Methode [c]preisIn€()[c] verpassen?!Schade, daß Dummheit nicht weh tut.
Wichtigste Zeile aus dem Käsekuchenbackprogramm:
芝士蛋糕=烘烤(麵粉,牛奶,雞蛋,黃油,糖,乾酪);
(Zum Anschauen ist es evtl nötig, "Zitieren" zu drücken)
-
volkard schrieb:
Whitespace Overloading
Kommt das in C++0x?
-
general bacardi schrieb:
volkard schrieb:
Whitespace Overloading
Kommt das in C++0x?However, since we now have the full Unicode character set available,
we don't actually need hard-to-read long names. Such long names only make code obscure by causing
unpleasantly long lines and unnatural line breaks. Multi-character names are a relic of languages that
relied heavily on global name and encouraged overly-large scopes.This facility was also an instant success in China and Japan where the Chinese character set provides a
much richer set of single characters than does the various Latin alphabets.oha...
-
volkard schrieb:
...Schade, daß Dummheit nicht weh tut. ...
Also das ist weder nötig noch hilfreich und gerade von Dir kenne ich das gar nicht ....Gruß
Simon2.
-
general bacardi schrieb:
...
DStefan schrieb:
- Ein definiertes Name Mangling, so dass DLLs verschiedener Hersteller oder verschiedener Versionen desselben Herstellers problemlos verwendet werden können.
DLLs haben doch schon festgelegte Formate, Wenn Du keine import-library hast, benutzt Du einfach LoadLibrary/GetProcAddress. Das ist alles kein Problem....
Was wäre eigentlich so schwierig daran, zumindestens ein optionales standardisiertes Namemangling festzulegen?
Wenn ein Compilerhersteller einen andern Weg findet/beschreiten möchte, ODR und overloading zu vereinen, kann ihm das ja trotzdem erlaubt sein... (halte ich aber eher für eine theoretische Möglichkeit).Oder gibt es einen gewichtigeren Grund als "Muss man ja nicht festlegen also tun wir's nicht"?
(Noch lieber wäre mir ein komplettes standardisiertes ABI als Option)
Gruß,
Simon2.
-
volkard schrieb:
Schade, daß Dummheit nicht weh tut.
Wichtigste Zeile aus dem Käsekuchenbackprogramm:
芝士蛋糕=烘烤(麵粉,牛奶,雞蛋,黃油,糖,乾酪);
(Zum Anschauen ist es evtl nötig, "Zitieren" zu drücken)Lieber volkard, ich bin nicht dumm. Ich mag manchmal etwas dummes sagen. Und manchmal tue ich bestimmt etwas dummes, aber das passiert jedem mal. So wie dir mit diesem Beitrag.
Der ist nämlich nicht bloß dumm, weil er unhöflich ist - und Unhöflichkeit ist in den meisten Fällen eine dumme Angewohnheit - sondern auch, weil er verweigert, weswegen viele von uns hier sind: Die Diskussion.
Schließlich sagst du nicht, warum du meinst, dass C++-Code nur diesen äußerst dürftigen Umfang an Zeichen enthalten sollte, sondern blökst einfach deine Meinung heraus und machst dich lustig über mich. Das ist die Haltung eines Dreizehnjährigen - und ich glaube, du bist doch schon ein bischen älter als dreizehn? Schwer zu glauben. Erwachsene Menschen diskutieren nämlich und sind höflich anderen gegenüber. Oder halten es mit Dieter Nuhr: "Wenn man nichts zu sagen hat, einfach mal die Klappe halten."
Stefan.
-
DStefan schrieb:
Schließlich sagst du nicht, warum du meinst, dass...
Dann hast Du die Folgezeilen nicht gelesen.
-
Prügel! Ich bin Kampfrichter
-
general bacardi schrieb:
DStefan schrieb:
- Konsequente und leicht zu verwendende Unterstützung für Unicode. Und zwar im Programm wie im Quelltext. Warum, zum Teufel, darf ich eine Klasse nicht Käsekuchen nennen - und dieser eine Methode [c]preisIn€()[c] verpassen?!
Fehlen Dir Umlaute wirklich? Ok, aber das ist Geschmacksache. Mich z.B. stören selbst umlaute und Leerzeichen in Dateinamen [ich bevorzuge mein_guete.txt statt Meine Güte . txt]
Naja - es ist nicht gerade so, dass mir das Fehlen einiger Zeichen schlaflose Nächte bereitet. Dieser letzte Satz ist eigentlich mehr eine Dreingabe (oder so), die davor sind mir wichtiger. Die Behandlung von Unicode in C++ ist einfach schauderhaft, und es fällt mir schwer einzusehen, warum das so ist. Und wohl auch so bleiben wird.
Stefan.
-
general bacardi schrieb:
Sebastian Pizer schrieb:
Was willst Du uns damit sagen? Dass die Spracherweiterungen in C++0x übertrieben sind?
Nein, ich will damit sagen, dass Zusatzbibliotheken wenn man sie braucht, überall leicht erhältlich sind. Beispielsweise welche für Multithreading, grafische Oberflächen, Soundverarbeitung, netzwerkkommunikation usw, das alles muss man nicht in die SPrache integrieren. Was die neuen C++0x Feature angeht, so kann man sie benutzen oder auch nicht.
Aber die neuen "core language" Features kommen gerade Bibliotheksentwicklern sehr entgegen. Wenn man sie nicht direkt benutzt, benutzt man sie eben indirekt über Bibliotheken. Das musste ich jetzt doch nochmal betonen.
Gruß,
SP
-
Sebastian Pizer schrieb:
Aber die neuen "core language" Features kommen gerade Bibliotheksentwicklern sehr entgegen. Wenn man sie nicht direkt benutzt, benutzt man sie eben indirekt über Bibliotheken. Das musste ich jetzt doch nochmal betonen.
Und wenns dann noch ein einheitliches Name-Mangling gäbe....
SCNR
Stefan.
-
Sebastian Pizer schrieb:
Aber die neuen "core language" Features kommen gerade Bibliotheksentwicklern sehr entgegen. Wenn man sie nicht direkt benutzt, benutzt man sie eben indirekt über Bibliotheken. Das musste ich jetzt doch nochmal betonen.
Gut, aber bestehende Bibliotheken, die schon einen gewissen Reifegrad erreicht haben, werden wohl kaum wegen der neuen Sprachmitteel umdesigned werden.
-
general bacardi schrieb:
Gut, aber bestehende Bibliotheken, die schon einen gewissen Reifegrad erreicht haben, werden wohl kaum wegen der neuen Sprachmitteel umdesigned werden.
Doch warum nicht? Auch wenn Bibliotheken schon den "gewissen Reifegrad" haben kann man sie durch die neuen Sprachmittel durchaus noch weiter reifen lassen.