Warum hat C++ so eine aufwendige Syntax?
-
Der Durchschnitt schrieb:
Warum ist es nicht möglich einen C++-GUI Standard zu entwickeln, so dass z.B. Trolltech hergehen und sagen kann: "Hey, seht her, Qt kann man auch über die standardisierte C++-GUI-API verwenden."
Das würde C++ töten. Schau dir mal den letzten standard an, damals war die STL das maß aller Dinge was templates anging. Heute ist das alles schnee von vorgestern(vergleiche die stl funktionswrapper mit boost::bind), viele libs(boost) sind schon lichtjahre davon entfernt. Und der prozess sieht nicht so aus, dass er in nächster zeit stoppt. Wenn man jetzt irgendeinen standard entwickelt, ist er wahrscheinlich in 5 Jahren absolut veraltet und ne fußfessel für modernes C++.
dazu kommt noch, dass C++ durchaus verschiedene ansätze ermöglicht: will ich eine statische GUI die dafür 100% typesafe und TMP optimiert ist, oder will ich eine dynamische GUI die die gui beim programmstart aus irgendwelchen daten generiert? oder will ich ein zwischenstück, also ein typsicheres interface das eine dynamische gui wrappt? Oder sollen die gui Klassen mittels TMP zusammengebastelt werden und dann durch ne factory dynamisch erstellt werden?
Jeder dieser Ansätze ist irgendwo sinnvoll und hat seine eigenen vor und nachteile, aber keiner ist gegen den anderen unproblematisch auszutauschen, was bringt dann ein Standard?
-
Der Durchschnitt schrieb:
Um die Diskussion in die Richtung zu lenken, in die ich eigentlich wollte, angelehnt an meinen vorherhigen Post:
Ich verstehe ja die Gründe, warum C++ keine umfangreiche Standard-Library mitbringt, aber warum gibt es nicht einfach zusätzliche Standards, die ein Compiler-Hersteller nicht implementieren muss? In Java wird ja auch bei weitem nicht alles in der Java SE Spezifikation festgehalten. Warum ist es nicht möglich einen C++-GUI Standard zu entwickeln, so dass z.B. Trolltech hergehen und sagen kann: "Hey, seht her, Qt kann man auch über die standardisierte C++-GUI-API verwenden."P.S.: Das sollte jetzt eigentlich keine "Seht-her-wie-es-in-Java-funktioniert"-Antwort werden, aber mir gefällt dieser Ansatz nunmal. Ob diese "periphären Standards" nun durch die ISO standardisiert werden, ist mir dann aber wieder egal.
GUI im C++-Standard wäre doch absolut schlecht. GUI ist nun einmal nicht unabhängig vom System und alle Lösungen können höchstens nur Nährungen sein. Es gibt immer eine Plattform die du nicht unter einen Hut bekommst. Unter Mac OS X musst du deine Anwendung zB auf eine Maustaste auslegen etc. Nicht umsonst werden doch die meisten Anwendungen extra für OS X und für Windows separat gebaut, mit eigenen Entwicklungsteams für die Oberfläche.
Nicht umsonst ist Java einfach in dem Bereich Anwendungsentwicklung nicht verbreitet. Das sind zwar immer nur Kleinigkeiten, zB Einfügen über Rechtsklick etc., aber daran stören sich User und wenn das Look&Feel nicht passt, hat man eben pech gehabt. (Swing-GUIs sind zB einfach extrem unangenehm zu benutzen, aber das dafür auf jeder Plattform...)
Außerdem: Was würde eine Standard GUI bringen? GUI ist doch einfach nur extrem spezialisiert. So etwas würde C++ viel zu stark an irgend ein Konzept binden. Ganz zu schweigen davon, dass der Standard einfach viel zu oft geupdatet werden müsste. Aber gerade die Stabilität des Sprachstandards ist wichtig!
-
a) ich glaube mal was der unterschied nur sagen wollte war, dass es 'einen' standard für c++ gui toolkits geben sollte. weder dass er *in* den *c++ standard* einfließen sollte noch dass gui toolkits dadurch ersetzt werden sollen. sie sollen lediglich eine gemeinsame schnittstelle zur verfügung stellen damit man nicht immer neue APIs für die verschiedenen toolkits lernen muss. wem das beispiel mit einem gui toolkit zu abwegig ist kann es auch auf jede art von anderen libraries beziehen (zum beispiel unterschieds persistence api)
b) ah gleich kommt die große swing-keule. trotzdem ein wunder dann, dass swing das meistgenutzte gui toolkit ist (naja leider gilt die studie nur für nordamerika, aber wenn man indien hinzuziehen würde säh das ergebnis wohl noch eindeutiger aus :D)
-
Der Durchschnitt schrieb:
Meinetwegen können die auch Kaffee und Kuchen bei den Meetings verteilen
Hier sollte ich am besten aufhören zu lesen. Denn das zeigt sehr schön, das dir das ganze eigentlich egal ist und man dir noch so viel erklären kann... es wird dir egal sein.
Der Durchschnitt schrieb:
aber solange die nichts in einen C++ Standard (es muss ja nicht der C++ Standard sein) aufnehmen was nicht seit mindestens 10 Jahren gefordert wird, habe ich dennoch herzlich wenig davon.
Ich wette Der Durchschnitt ist ein hier bekanntes anderes Forumsmitglied. Immer die gleiche Laier, immer die gleichen Kritiken. Du sagst, es wird 10 Jahre ignoriert, was gefordert wird. Aber du bringst keine konkreten Beispiele. Was ist denn sooo wichtig? Und was wird 10 Jahre lang nicht umgesetzt? Und eigenltich kannst du das noch garnicht behaupten, weil C++0x noch garnicht verabschiedet ist.
Der Durchschnitt schrieb:
Wo wir gerade beim Thema sind, wo kann ich mich für das C++-Komitee bewerben? Ich, als Firma, habe (natürlich nur angenommen) eine großartige Innovation für C++ entwickelt und möchte bei der Standardisierung von dieser Aufsicht führen, wie mache ich da in C++?
Aha, also erst dem Komitee und dem Prozess zu geringe Offenheit aussprechen, aber dann kommt raus, das du nicht mal die grundlägendsten Dinge darüber weißt. Es ist hier in diesen Threads immer das gleiche: C++-Kritik, und dann kommt raus, das der jenige nicht mal die Basics kennt (siehe Undertaker mit den Templates).
Aber bevor ich mir nochmal einen Wolf schreibe, solltest du meinen Artikel im Magazin-Forum lesen (hätteste schon längst machen können, wenn dich das wirklich interessiert!).
Ich muß aber noch hinzufügen, das deine Forderung der "Führung" völlig am Konzept eines internationalen Standards vorbei geht. Du forderst sozusagen eine gewisse Macht über das was du da einbringen willst. Ich sage dir soviel: ISO wird (und das ist einfach der Unterschied zu einer Spec die einer Firma gehört) durch ein Komitee demokratisch per Mehrheitsentscheidung bestimmt. Ganz klassisch mit Handheben, wer dafür und wer dagegen ist. Und gearbeitet wird in Goups, d.h. gemeinsam werden die Details in den Meetings besprochen. Von mehreren Firmen... und nicht einer führenden. Kannste gleich aus deinem Kopf streichen.
EDIT:
Fakt ist aber nunmal, dass es eine Vielzahl an Runtimes gibt, die sich Java-Compatible nennen dürfen und den achso unerträglichen Aufwand aufsich genommen haben. Selbst wenn die CEOs von z.B. IBM und BEA einen Kopfstand vor Jonathan Schwartz machen mussten, ist mir das egal.
Stell dir vor, die werden keinen Handstand gemacht haben. Auch werden sie kein Sex angeboten haben. Nein, weißte was die gemacht haben? Die haben einfach einen bestimmten Geldbetrag auf das Konto von SUN überwiesen und haben somit das OK von SUN erhalten. Ich weiß ja nicht, ob du schon in der freien Marktwirtschaft angekommen bist? Ich bins zumindest...

-
Der Durchschnitt schrieb:
Um die Diskussion in die Richtung zu lenken, in die ich eigentlich wollte, angelehnt an meinen vorherhigen Post:
Ich verstehe ja die Gründe, warum C++ keine umfangreiche Standard-Library mitbringt, aber warum gibt es nicht einfach zusätzliche Standards, die ein Compiler-Hersteller nicht implementieren muss? In Java wird ja auch bei weitem nicht alles in der Java SE Spezifikation festgehalten. Warum ist es nicht möglich einen C++-GUI Standard zu entwickeln, so dass z.B. Trolltech hergehen und sagen kann: "Hey, seht her, Qt kann man auch über die standardisierte C++-GUI-API verwenden."Es wird keine GUI im ISO-C++ geben. Warum? Weil du eine GUI-API nicht so allgemein spezifizieren kannst, das sie auch die meisten Wünsche abdeckt. Jede GUI hat ein anderes Konzept, egal ob die Ein-Tastenmaus-Bedienung, oder die vielen verschiedenen Widget-Typen. Es gibt Desktops (z.B. RISC OS), die kennen nicht mal ein Pulldownmeü, aber dafür extrem viel Kontextmenüs. Oder schau dir mal das neue KDE4 an. Da wird vieles neues und anderes dabei sein.
Da wäre eine GUI-API nur als kleiner gemeinsammer Nenner möglich. Und würde diesen jemand benutzen? Wohl kaum.
Und gaaaaanz zum Schluss, muss (völlig unabhängig vom vorherigen geschriebenen) erstmal jemand ein so umfangreiches und gutes Proposal einreichen. Es hat bisher niemand getan. Es gab bisher den Wunsch (sozusagen ein Request) aus der Community, aber mehr auch nicht.
Weiterhin müsste jemand diese GUI-API implementieren. Und das werden die wenigsten bei dem Aufwand betreiben.
Übrigens, das eine einheitliche GUI-API nicht lange Bestand haben kann, sieht man an Swing (ich bin Swing-API-Fan!!!), die einfach durch SWT Konkurrenz bekommen haben. Und SWT wird gerne benutzt, egal ob die API anders ist.
-
*grml* hier kommt man ja gar nicht mehr hinterher
dsfdfg schrieb:
CStoll schrieb:
In C++ gibt es auch eine recht einheitliche Struktur bei z.B. GUI-Libs oder String-Klassen (einige Details müsste man sich zwar nachlesen, aber ich staune immer wieder, wie ähnlich sich z.B. MFC und VCL Beispielcodes sind)
Es ist aber trotzdem etwas anderes. Ich tu mir auch nicht ganz leicht, wenn ich nach über 2 Jahren Java-Entwicklung wieder zurück auf C# umsteige. Dabei beziehe ich mich aber nicht auf größere Probleme, sondern eher auf Probleme der Art "Wie hieß die Methode noch einmal?". Tools können beim Umstieg zwar helfen, aber richtig wohl fühle ich mich nur in einer gewohnten Umgebung, so kitschig das jetzt auch klingen mag. Ich zweifel schnell mal wieder daran, ob man dieses oder jenes wirklich so löst, oder ob es mit diesem neuen Framework nicht doch vielleicht elegantere Lösungen gäbe. So etwas behindert einfach nur, selbst, wenn die Unterschiede nicht so gravierend sind (wie eben beim Standardteil von Java und .NET).
Und was will uns das sagen? Deine "gewohnte Umgebung" ist Java, soviel ist schon klar geworden. Aber wenn du etwas gegen C++ hast, ist die einfachste Lösung (für dich): ignoriere es - aber lass anderen bitte ihre gewohnte Umgebung.
CStoll schrieb:
Nein, die Umgebung, von der ich rede, bezieht sich z.B. auf eine Firma. In "meiner" aktuellen Firma wird z.B. eine recht umfangreiche Bibliothek zur Grafik- und 3D-Verarbeitung zur Verfügung gestellt - und die kann man auch durchgehend für alle anstehenden Projekte nutzen.
Das ist es ja, was ich meine. Nehmen wir mal an, dass ein entsprechender Standard in diesem Bereich fehlt, dann kann man als Firma beim JCP einen Request einreichen und sich an der Standardisierung beteiligen. Vielleicht findet sich noch eine OpenSource-Community, die eine Konkurrenzimplementierung liefert und schon ist es viel einfacher geschultes Personal zu finden. Ich habe mich beispielsweise informiert was Firmen in meinem gewünschten Arbeitsbereich typischerweise einsetzen und konnte mir dementsprechend Pluspunkte an Erfahrung einheimsen. Das mag jetzt zwar eine subjektive Meinung sein, aber ich persönlich habe davon profitiert, dass in meinem Bereich jeder "Furz" standardisiert ist.
Sorry, wenn ich mich mit dem Standardisierungsprozess in Java nicht auskenne, aber bedeutet eine Aufnahme einer Bibliothek in den Standard nicht auch, daß jeder Compiler sie von jetzt an zur Verfügung stellen muß? Das führt dann wohl unweigerlich dazu, daß der Anwender mit Spezialbibliotheken überhäuft wird, die er nie im Leben benötigt. (oder wünschst du als Webprogrammierer dir wirklich nichts sehnlicher als eine Standardbibliothek für die Ansteuerung von Industrie-Robotern?)
CStoll schrieb:
Ja, C++ erhebt gar nicht den Anspruch darauf, die beste Lösung für Web-Anwendungen zu sein. Aber Web-Anwendungen sind auch nicht das einzige, was man programmieren könnte
Siehst du, man kann sich ja einigen. Ich komm da auch gern einen Schritt entgegen indem ich euch verrate, dass ich persönlich dankbar bin für jede Swing-Anwendung, die ich nicht einsetzen muss.

Und ich bin dankbar für jeden Java-Programmierer, der mich in Ruhe mit C++ arbeiten lässt

dsfdfg schrieb:
2. Du kannst deine eigene C++-Variante bauen und die dann C++/Extended nennen. Es gibt niemanden, der dich daran hindert.
Dass das nicht funktionieren würde, sieht man schön am Beispiel "D" bzw. es wird sich zeigen. Einzig und allein Microsoft hat sich in diese Richtung engagiert, aber das wohl nur um MFC-Anhänger nicht zu verlieren. Viel mehr Aussagekraft hätte es aber, wenn das Standardisierungs-Komitee Bemühungen in ein derartiges Projekt tätigt.
D legt ja auch viel Wert darauf, kein C++/Extended zu sein
(und auch die .NET Sprachen verwenden zwar eine an C++ angelehnte Syntax, sind aber weit entfernt vom Standard)
-
otze schrieb:
Das würde C++ töten. Schau dir mal den letzten standard an, damals war die STL das maß aller Dinge was templates anging. Heute ist das alles schnee von vorgestern(vergleiche die stl funktionswrapper mit boost::bind), viele libs(boost) sind schon lichtjahre davon entfernt. Und der prozess sieht nicht so aus, dass er in nächster zeit stoppt. Wenn man jetzt irgendeinen standard entwickelt, ist er wahrscheinlich in 5 Jahren absolut veraltet und ne fußfessel für modernes C++.
dazu kommt noch, dass C++ durchaus verschiedene ansätze ermöglicht: will ich eine statische GUI die dafür 100% typesafe und TMP optimiert ist, oder will ich eine dynamische GUI die die gui beim programmstart aus irgendwelchen daten generiert? oder will ich ein zwischenstück, also ein typsicheres interface das eine dynamische gui wrappt? Oder sollen die gui Klassen mittels TMP zusammengebastelt werden und dann durch ne factory dynamisch erstellt werden?
Jeder dieser Ansätze ist irgendwo sinnvoll und hat seine eigenen vor und nachteile, aber keiner ist gegen den anderen unproblematisch auszutauschen, was bringt dann ein Standard?
All das müsste die Expert Group eben bei der Standardisierung abdecken und wenn es zu komplex für einen einzelnen Standard wird, dann bricht man es eben wieder auf, so dass man z.B. auch nur den TMP-Ansatz implementieren muss, wenn man nur den implementieren will. Natürlich kann man das nicht auf Anhieb perfekt machen, aber das wäre ja nicht das Problem. Das wirkliche Problem ist es, dass man, so wie es halt jetzt ist, 7 Jahre warten müsste, bis die Probleme überarbeitet werden. Wenn dieser Prozess nicht so lange dauern würde, wäre es ganz egal wie schnelllebig manche GUI-Toolkit-Anforderungen sind. Man muss einfach nur schnell reagieren können.
rüdiger schrieb:
Außerdem: Was würde eine Standard GUI bringen? GUI ist doch einfach nur extrem spezialisiert. So etwas würde C++ viel zu stark an irgend ein Konzept binden. Ganz zu schweigen davon, dass der Standard einfach viel zu oft geupdatet werden müsste. Aber gerade die Stabilität des Sprachstandards ist wichtig!
Lies einfach nochmal durch, was dein Nachredner so schreibt. Der hat es verstanden.
Artchi schrieb:
Ich muß aber noch hinzufügen, das deine Forderung der "Führung" völlig am Konzept eines internationalen Standards vorbei geht. Du forderst sozusagen eine gewisse Macht über das was du da einbringen willst. Ich sage dir soviel: ISO wird (und das ist einfach der Unterschied zu einer Spec die einer Firma gehört) durch ein Komitee demokratisch per Mehrheitsentscheidung bestimmt. Ganz klassisch mit Handheben, wer dafür und wer dagegen ist. Und gearbeitet wird in Goups, d.h. gemeinsam werden die Details in den Meetings besprochen. Von mehreren Firmen... und nicht einer führenden. Kannste gleich aus deinem Kopf streichen.
Du denkst scheinbar immer nur an Missbrauch von Führungsverantwortung. Führungsverantwortung impliziert aber Verantwortung und das ist es worum es dabei geht. Jemand zu finden, der sich für dieses Proposal verantwortlich sieht und z.B. gegebenenfalls die Referenzimplementierung liefert. Irgendjemand muss eben eben der erste sein bevor die Expert Group zusammengestellt wird.
Artchi schrieb:
Ich wette Der Durchschnitt ist ein hier bekanntes anderes Forumsmitglied. Immer die gleiche Laier, immer die gleichen Kritiken. Du sagst, es wird 10 Jahre ignoriert, was gefordert wird. Aber du bringst keine konkreten Beispiele. Was ist denn sooo wichtig? Und was wird 10 Jahre lang nicht umgesetzt? Und eigenltich kannst du das noch garnicht behaupten, weil C++0x noch garnicht verabschiedet ist.
Threads, Netzwerk-IO, .. halt vieles, was anscheinend erst mit C++0x kommt und ja Netzwerke gab es schon vor 10 Jahren.
Artchi schrieb:
Und gaaaaanz zum Schluss, muss (völlig unabhängig vom vorherigen geschriebenen) erstmal jemand ein so umfangreiches und gutes Proposal einreichen. Es hat bisher niemand getan. Es gab bisher den Wunsch (sozusagen ein Request) aus der Community, aber mehr auch nicht.
Weiterhin müsste jemand diese GUI-API implementieren. Und das werden die wenigsten bei dem Aufwand betreiben.
Das ist ja dann wohl endgültig ein Armutszeichen für C++. Für die Wirtschaft ist C++ wohl schon gestorben?

Artchi schrieb:
Es wird keine GUI im ISO-C++ geben. Warum? Weil du eine GUI-API nicht so allgemein spezifizieren kannst, das sie auch die meisten Wünsche abdeckt. Jede GUI hat ein anderes Konzept, egal ob die Ein-Tastenmaus-Bedienung, oder die vielen verschiedenen Widget-Typen. Es gibt Desktops (z.B. RISC OS), die kennen nicht mal ein Pulldownmeü, aber dafür extrem viel Kontextmenüs. Oder schau dir mal das neue KDE4 an. Da wird vieles neues und anderes dabei sein.
Es geht mir auch nicht darum eine Standard-GUI-API für C++ einzuführen, das war nur irgend ein beliebiges Beispiel. Übrigens habe ich auch nie behauptet, dass die GUI plattformunabhängig sein müsste. Meinetwegen hätten sie auch Sections für jedes Betriebssystem und deren EIgenheit einführen können, so dass man einen Standard nur teilweise implementieren muss, wenn man z.B. will, dass das eigene Toolkit nur unter Windows läuft. Komischerweise gibt es trotzdem entgegen all deiner Kritik GUI-Bibliotheken für C++, die von sich behaupten, dass sie plattformunabhängig sind. Bevor ihr euch jetzt allerdings wieder auf einen GUI-Standard und wie schlecht er doch ist verschärft, möchte ich euch noch sagen, dass ihr komischerweise irgendwie immer nur Probleme seht und irgendwie nicht einmal nach Lösungen sucht (hat zumindestens den Anschein).
Artchi schrieb:
Stell dir vor, die werden keinen Handstand gemacht haben. Auch werden sie kein Sex angeboten haben. Nein, weißte was die gemacht haben? Die haben einfach einen bestimmten Geldbetrag auf das Konto von SUN überwiesen und haben somit das OK von SUN erhalten. Ich weiß ja nicht, ob du schon in der freien Marktwirtschaft angekommen bist? Ich bins zumindest...

Ich frag mich halt, was sich dann z.B. die Apache Software Foundation dabei denkt, dass sie es wagt überhaupt zu versuchen eine zertifizierte Java SE Implementierung unter der ASL bereitzustellen. Sind die mit dem Klingelbeutel durch die Reihen der Commiter und Contributor gegangen?

CStoll schrieb:
Und was will uns das sagen? Deine "gewohnte Umgebung" ist Java, soviel ist schon klar geworden. Aber wenn du etwas gegen C++ hast, ist die einfachste Lösung (für dich): ignoriere es - aber lass anderen bitte ihre gewohnte Umgebung.
So kann man natürlich auch einer Diskussion aus dem Weg gehen, einfach in eine Abwehrhaltung gehen, aber Schweigen ist ja auch eine Form der Zustimmung.
CStoll schrieb:
Sorry, wenn ich mich mit dem Standardisierungsprozess in Java nicht auskenne, aber bedeutet eine Aufnahme einer Bibliothek in den Standard nicht auch, daß jeder Compiler sie von jetzt an zur Verfügung stellen muß? Das führt dann wohl unweigerlich dazu, daß der Anwender mit Spezialbibliotheken überhäuft wird, die er nie im Leben benötigt. (oder wünschst du als Webprogrammierer dir wirklich nichts sehnlicher als eine Standardbibliothek für die Ansteuerung von Industrie-Robotern?)
Die Java SE wird in einem völlig anderen JSR behandelt, als es eine Standardbibliothek für die Ansteuerung von Industrie-Robotern würde, also nein. Das wären alles Extensions, die du dir seperat als Bibliotheken dazufügen musst. Falls du dich noch erinnern kannst, du warst ja ganz verdutzt darüber, dass man auch in Java externe Bibliotheken kennt.

-
dsfdfg schrieb:
Artchi schrieb:
Ich wette Der Durchschnitt ist ein hier bekanntes anderes Forumsmitglied. Immer die gleiche Laier, immer die gleichen Kritiken. Du sagst, es wird 10 Jahre ignoriert, was gefordert wird. Aber du bringst keine konkreten Beispiele. Was ist denn sooo wichtig? Und was wird 10 Jahre lang nicht umgesetzt? Und eigenltich kannst du das noch garnicht behaupten, weil C++0x noch garnicht verabschiedet ist.
Threads, Netzwerk-IO, .. halt vieles, was anscheinend erst mit C++0x kommt und ja Netzwerke gab es schon vor 10 Jahren.
Und in der Zwischenzeit etwa ein halbes Dutzend mögliche Wege, ein Netzwerk ansteuern zu können - da steht das Hauptproblem wohl darin, aus allen möglichen Lösungsansätzen den "besten" auszuwählen.
Artchi schrieb:
Es wird keine GUI im ISO-C++ geben. Warum? Weil du eine GUI-API nicht so allgemein spezifizieren kannst, das sie auch die meisten Wünsche abdeckt. Jede GUI hat ein anderes Konzept, egal ob die Ein-Tastenmaus-Bedienung, oder die vielen verschiedenen Widget-Typen. Es gibt Desktops (z.B. RISC OS), die kennen nicht mal ein Pulldownmeü, aber dafür extrem viel Kontextmenüs. Oder schau dir mal das neue KDE4 an. Da wird vieles neues und anderes dabei sein.
Es geht mir auch nicht darum eine Standard-GUI-API für C++ einzuführen, das war nur irgend ein beliebiges Beispiel.
Du wirfst mit Beispielen um dich, aber andere dürfen das nicht oder wie (meine Bemerkung gestern zu Grafik-Experten und Sound-Bibliotheken war auch nur "irgend ein beliebiges Beispiel").
Übrigens habe ich auch nie behauptet, dass die GUI plattformunabhängig sein müsste. Meinetwegen hätten sie auch Sections für jedes Betriebssystem und deren EIgenheit einführen können, so dass man einen Standard nur teilweise implementieren muss, wenn man z.B. will, dass das eigene Toolkit nur unter Windows läuft.
C++ ist aber plattformunabhängig, da hat es wenig Sinn, etwas in den ANSI-Standard aufzunehmen, was nur auf Plattform XYZ läuft. Und Bibliotheken für bestimmte Plattformen gibt es wie Sand am Meer.
CStoll schrieb:
Und was will uns das sagen? Deine "gewohnte Umgebung" ist Java, soviel ist schon klar geworden. Aber wenn du etwas gegen C++ hast, ist die einfachste Lösung (für dich): ignoriere es - aber lass anderen bitte ihre gewohnte Umgebung.
So kann man natürlich auch einer Diskussion aus dem Weg gehen, einfach in eine Abwehrhaltung gehen, aber Schweigen ist ja auch eine Form der Zustimmung.
Fass dich mal an die eigene Nase - du stehst schon die ganze Zeit in Abwehrhaltung da.
CStoll schrieb:
Sorry, wenn ich mich mit dem Standardisierungsprozess in Java nicht auskenne, aber bedeutet eine Aufnahme einer Bibliothek in den Standard nicht auch, daß jeder Compiler sie von jetzt an zur Verfügung stellen muß? Das führt dann wohl unweigerlich dazu, daß der Anwender mit Spezialbibliotheken überhäuft wird, die er nie im Leben benötigt. (oder wünschst du als Webprogrammierer dir wirklich nichts sehnlicher als eine Standardbibliothek für die Ansteuerung von Industrie-Robotern?)
Die Java SE wird in einem völlig anderen JSR behandelt, als es eine Standardbibliothek für die Ansteuerung von Industrie-Robotern würde, also nein. Das wären alles Extensions, die du dir seperat als Bibliotheken dazufügen musst. Falls du dich noch erinnern kannst, du warst ja ganz verdutzt darüber, dass man auch in Java externe Bibliotheken kennt.

Nein, ich war nicht überrascht, daß Java externe Bibliotheken kennt. Ich war nur überrascht, daß du C++ diesen "Luxus" verbieten wolltest.
(will heißen: In Java ist es kein Problem, sich die richtigen Bibliotheken für sein Problem zusammenzusuchen, aber in C++ soll alles von der Standardbibliothek abgedeckt werden?)Unter dem Gesichtspunkt rangiert die Java Bibliothek auf dem selben Niveau wie z.B. Boost - eine Sammlung von Bibliotheken für verschiedene Anwendungsfälle, aus denen der Programmierer das auswählen kann, was er braucht.
-
@dsfdfg! Ich habe dich schon mal gefragt: Warum soll C++ sich Java als Massstab nehmen?
Merkst du nicht, das wenn wir dir erklären, wie es in C++ abläuft und gedacht wird, das du mit "Aber in Java..." ankommst? Nichts da Java! Interessiert hier nicht! Java ist kein Massstab für C++. Wenn Java ein Massstab wäre, könnte man C++ begraben und Java benutzen. Das ist aber nicht der Sinn von C++. C++ soll die Wünsche erfüllen, die die C++-Community wünscht und nicht die der Java-Community. Wenn die C++-Community noch kein GUI-Proposal eingereicht hat, besteht anscheinend auch kein Bedarf. Wenn Du C++-Nutzer bist, kannst du ja ein Proposal schreiben und dich pers. beim nächsten Meeting dafür einsetzen. Wenn du das nicht tust, scheint es auch nicht so dringlich zu sein.
Also, was interessiert hier in dem Kontext der Wunsch der Java-Community?

-
CStoll schrieb:
Und in der Zwischenzeit etwa ein halbes Dutzend mögliche Wege, ein Netzwerk ansteuern zu können - da steht das Hauptproblem wohl darin, aus allen möglichen Lösungsansätzen den "besten" auszuwählen.
Komischerweise war das z.B. für POSIX kein Problem oder anders formuliert: Was passt dir beispielsweise bei boost::asio nicht? Warum hat man so etwas nicht schon viel früher in einen Standard mit aufgenommen? Man muss halt etwas mehr handeln und nicht einfach nur die Dinge auf sich zukommen lassen, denn dass ist es mehr oder weniger was mit C++0x gemacht wird. Ich kann ja z.B. gar nicht fassen, dass bereits jetzt Features verschoben werden, da sie es nicht mehr in den Standard schaffen werden. Was machen die in der Expert Group denn die ganze Zeit? Ich weiß, dass ich jetzt wieder der Boomann bin, wenn ich den Vergleich mit Java heranziehe, aber in Java 6 hat man Features erst ~2 Wochen vor dem Release gestrichen und da ging es nicht nur um das Konzept sondern auch um die Implementierung ...
CStoll schrieb:
Du wirfst mit Beispielen um dich, aber andere dürfen das nicht oder wie (meine Bemerkung gestern zu Grafik-Experten und Sound-Bibliotheken war auch nur "irgend ein beliebiges Beispiel").
Inwiefern habe ich dein Beispiel als irgendwie unrealistisch abgestempelt und bin nicht darauf eingegangen. Im Gegenteil ich hab es ja sogar aufgegriffen!
CStoll schrieb:
C++ ist aber plattformunabhängig, da hat es wenig Sinn, etwas in den ANSI-Standard aufzunehmen, was nur auf Plattform XYZ läuft. Und Bibliotheken für bestimmte Plattformen gibt es wie Sand am Meer.
C++ bleibt ja auch plattformunabhängig nur der zusätzliche Standard würde es dann halt nicht sein. Bibliotheken gibt es in der Tat viele und genau das ist das Problem. Warum habe ich dir unter anderem bereits dargelegt, aber dir scheint das ja egal zu sein.
CStoll schrieb:
Fass dich mal an die eigene Nase - du stehst schon die ganze Zeit in Abwehrhaltung da.
Wenn ich in der Abwehrhaltung wäre, würde in Java verteidigen und nicht C++ kritisieren. So ein hin-und-her ohne Inhalt ist ja schön und gut, aber wenigstens falsch sollte es dann nicht sein.
CStoll schrieb:
Nein, ich war nicht überrascht, daß Java externe Bibliotheken kennt. Ich war nur überrascht, daß du C++ diesen "Luxus" verbieten wolltest.
(will heißen: In Java ist es kein Problem, sich die richtigen Bibliotheken für sein Problem zusammenzusuchen, aber in C++ soll alles von der Standardbibliothek abgedeckt werden?)Ich hab es dir schon einmal gesagt, dass ich auch bei C++ externe Bibliotheken nicht kritisiere, solange elementare Funktionalitäten durch einen (zum X.ten Mal sag ich jetzt dann schon nicht DEN) Standard abgedeckt sind. Damit du jetzt also noch einmal darüber nachdenken kannst: Standard != Builtin-Bibliothek.
Artchi schrieb:
Wenn die C++-Community noch kein GUI-Proposal eingereicht hat, besteht anscheinend auch kein Bedarf.
Dieses Phänomen kann ich dir ganz leicht erklären, vor allem, weil ich es auch selbst erlebt habe. Kleine Firmen haben nicht die nötigen Ressourcen ein derartig umfangreiches Proposal einzureichen und suchen sich dementsprechend einfach Alternativen. Große Firmen sind es meistens, die diese Alternativen anbieten (Microsoft, IBM und eben Sun haben jeweils ihr eigene - sogar oft nicht nur eine - GUI-Bibliothek). Ich habe mir dann auch einfach Sprachen angesehen, die meine Anforderungen erfüllen.
Aber um diese unsinnige Diskussion zu einem Ende zu bringen: Artchi hat in der Tat (teilweise ;)) Recht, denn mir ist es vollkommen egal, was mit C++ noch passiert bzw. wie es sich entwickelt. Ich wollte einfach den naiven Versuch wagen euch zu zeigen, wie es auch sein kann, aber wie es eben typisch für C++-Programmierer ist, ist natürlich alles und auch wirklich vollkommen alles an Java falsch. Vergleiche darf man wohl nur mit Sprachen heranziehen, von denen man weiß, dass sie noch weniger Bedeutung als C++ haben. Hinter C++ fehlt einfach eine treibende Kraft, denn die viel gerühmte Community kann nur schlechtreden, was man verändern will.
-
dsfdfg schrieb:
CStoll schrieb:
Und in der Zwischenzeit etwa ein halbes Dutzend mögliche Wege, ein Netzwerk ansteuern zu können - da steht das Hauptproblem wohl darin, aus allen möglichen Lösungsansätzen den "besten" auszuwählen.
Komischerweise war das z.B. für POSIX kein Problem oder anders formuliert: Was passt dir beispielsweise bei boost::asio nicht? Warum hat man so etwas nicht schon viel früher in einen Standard mit aufgenommen? Man muss halt etwas mehr handeln und nicht einfach nur die Dinge auf sich zukommen lassen, denn dass ist es mehr oder weniger was mit C++0x gemacht wird. Ich kann ja z.B. gar nicht fassen, dass bereits jetzt Features verschoben werden, da sie es nicht mehr in den Standard schaffen werden. Was machen die in der Expert Group denn die ganze Zeit? Ich weiß, dass ich jetzt wieder der Boomann bin, wenn ich den Vergleich mit Java heranziehe, aber in Java 6 hat man Features erst ~2 Wochen vor dem Release gestrichen und da ging es nicht nur um das Konzept sondern auch um die Implementierung ...
Ich habe nie etwas gegen Boost (in irgendeiner Form) gesagt. Und Boost ist ja schon so etwas wie Semi-Standard für C++ (wie ich oben schon sagte, steht es auf dem selben Niveau wie deine heißgeliebte Java Standardbibliothek).
CStoll schrieb:
Du wirfst mit Beispielen um dich, aber andere dürfen das nicht oder wie (meine Bemerkung gestern zu Grafik-Experten und Sound-Bibliotheken war auch nur "irgend ein beliebiges Beispiel").
Inwiefern habe ich dein Beispiel als irgendwie unrealistisch abgestempelt und bin nicht darauf eingegangen. Im Gegenteil ich hab es ja sogar aufgegriffen!
OK, du hast es nicht als unrealistisch abgestempelt, du hast es als "im Server-Bereich sowieso völlig unangebracht" eingestuft.
CStoll schrieb:
C++ ist aber plattformunabhängig, da hat es wenig Sinn, etwas in den ANSI-Standard aufzunehmen, was nur auf Plattform XYZ läuft. Und Bibliotheken für bestimmte Plattformen gibt es wie Sand am Meer.
C++ bleibt ja auch plattformunabhängig nur der zusätzliche Standard würde es dann halt nicht sein. Bibliotheken gibt es in der Tat viele und genau das ist das Problem. Warum habe ich dir unter anderem bereits dargelegt, aber dir scheint das ja egal zu sein.
Ja, es gibt den C++ Standard und es gibt jetzt schon eine ganze Serie an plattformabhängigen Standards (WinAPI, POSIX,...). Damit sind wir doch schon bei dem Ziel, das du erwartest

CStoll schrieb:
Fass dich mal an die eigene Nase - du stehst schon die ganze Zeit in Abwehrhaltung da.
Wenn ich in der Abwehrhaltung wäre, würde in Java verteidigen und nicht C++ kritisieren. So ein hin-und-her ohne Inhalt ist ja schön und gut, aber wenigstens falsch sollte es dann nicht sein.
Schlimmer - du wischst alle möglichen Kritikpunkte gegen Java beiseite und versuchst mit "0815-Kritikpunkten" gegen C++ zu wettern, ohne etwas von den Hintergründen zu verstehen (oder verstehen zu wollen).
CStoll schrieb:
Nein, ich war nicht überrascht, daß Java externe Bibliotheken kennt. Ich war nur überrascht, daß du C++ diesen "Luxus" verbieten wolltest.
(will heißen: In Java ist es kein Problem, sich die richtigen Bibliotheken für sein Problem zusammenzusuchen, aber in C++ soll alles von der Standardbibliothek abgedeckt werden?)Ich hab es dir schon einmal gesagt, dass ich auch bei C++ externe Bibliotheken nicht kritisiere, solange elementare Funktionalitäten durch einen (zum X.ten Mal sag ich jetzt dann schon nicht DEN) Standard abgedeckt sind. Damit du jetzt also noch einmal darüber nachdenken kannst: Standard != Builtin-Bibliothek.
Siehe oben - es gibt schon mehr als genug Industriestandards für C++ - nur gibt es im Gegensatz zu Java niemanden, der die alle zusammenträgt.
Aber um diese unsinnige Diskussion zu einem Ende zu bringen: Artchi hat in der Tat (teilweise ;)) Recht, denn mir ist es vollkommen egal, was mit C++ noch passiert bzw. wie es sich entwickelt. Ich wollte einfach den naiven Versuch wagen euch zu zeigen, wie es auch sein kann, aber wie es eben typisch für C++-Programmierer ist, ist natürlich alles und auch wirklich vollkommen alles an Java falsch. Vergleiche darf man wohl nur mit Sprachen heranziehen, von denen man weiß, dass sie noch weniger Bedeutung als C++ haben. Hinter C++ fehlt einfach eine treibende Kraft, denn die viel gerühmte Community kann nur schlechtreden, was man verändern will.
Falsch - die "Community" versucht hier nur, sich gegen unhaltbare Behauptungen und Pseudo-Argumente von Java-Fanatikern zu behaupten, die ihre Sprache für DIE ANTWORT auf alle Probleme der Welt halten.
-
CStoll schrieb:
...es gibt den C++ Standard und es gibt jetzt schon eine ganze Serie an plattformabhängigen Standards (WinAPI, POSIX,...). Damit sind wir doch schon bei dem Ziel, das du erwartest

winapi, posix usw. haben rein gar nichts mit C++ zu tun...

-
Undertaker schrieb:
CStoll schrieb:
...es gibt den C++ Standard und es gibt jetzt schon eine ganze Serie an plattformabhängigen Standards (WinAPI, POSIX,...). Damit sind wir doch schon bei dem Ziel, das du erwartest

winapi, posix usw. haben rein gar nichts mit C++ zu tun...

Dazu müsste man vorher klären ob eine externe Bibliothek (welche auch durchaus ein Standard sein kann) in der gleichen Sprache geschrieben sein muss.
Ich sag nein, denn für Java (und viele anderen Sprachen) hast du die Möglichkeit die Bibliotheken in einer Sprache X zu schreiben und dann ein Interface anzubieten mit dem die Zielsprache(n) der Bibliothek zurecht kommt/kommen.
-
1. Nein, das muss nicht zutreffen.
2. Was ist so schlimm daran, wenn es sozusagen jemanden mit Veto-Recht gibt? Ihr müsst schon auch Gründe liefern, denn ansonsten bewegen wir uns auf einem Niveau ala "Ich verwende kein Windows, weil es nicht OpenSource ist. Zwar kann ich nicht C programmieren und würde auch nie den Source ansehen, aber ich will die Möglichkeit dazu trotzdem haben."Zu 1. Ein ISO Standard gehoert niemanden. Niemand kann dich wegen Patenten verklagen, niemand kann Lizenzgebuehren von dir verlangen und niemand kann auf die Marke bei Gerichten durchsetzen.
Zu 2. wurde ja schon von den anderen vieles dazu gesagt.
In C++ eine GUI-Lib aufzunehmen waehre in der Tat Bloedsinn. Wem sollte das nutzen? C++ lebt nunmal davon, dass es keine Einschraenkungen bietet, wieso sollten die bei sowas wie GUI jetzt damit anfangen?
Btw, in Java kannst du gerne auch das GUI-Framework austauschen. Gibt ja SWT. Ebenso kann man ganz leicht das L&F austauschen. Gibt nicht umsonst etliche L&F Bibliotheken. Dass man mittels Rechtsklick etwas kopieren/einfuegen kann, kann man auch leicht programmieren. Ist nur die Faulheit der Programmierer.
Btw, ich krieg von diesen Einzeilern Augenkrebs, bin ich da die Ausnahme? (Also dieses jeden Satz einzeln in [quote] reinzumachen, und dann mit einem Einzeiler darauf zu antworten)
-
DEvent schrieb:
Btw, ich krieg von diesen Einzeilern Augenkrebs, bin ich da die Ausnahme? (Also dieses jeden Satz einzeln in reinzumachen, und dann mit einem Einzeiler darauf zu antworten)
Geht mir auch so.

Uppps! Ist wieder passiert. Sorry.

-
"Javaisten verstehen den Standard als Vereinigungs- und C++er als Schnittmenge [über alle Plattformen] aller nützlichen Dinge.", meinte gerade meine Kollegin.
Gruß,
Simon2.
-
[quote="DEvent"]Btw, ich krieg von diesen Einzeilern Augenkrebs, bin ich da die Ausnahme? (Also dieses jeden Satz einzeln in
reinzumachen, und dann mit einem Einzeiler darauf zu antworten)
Sorry, aber manchmal geht es nicht anders - oder wäre es dir lieber, ich würde erst den Zielbeitrag zitieren und dann meine Antworten drunterschreiben - und jeder darf sich dann selber aussuchen, welche Antwort sich worauf bezieht?
@Simon: Eine gute Zusammenfassung für unser derzeitiges Dilemma

-
CStoll schrieb:
...
@Simon: Eine gute Zusammenfassung für unser derzeitiges Dilemma
Das freut sie ... und sie lässt fragen, ob Du noch zu haben wärst.

Gruß,
Simon2.
-
lol
-
dsfdfg schrieb:
aber manche stellen es hier ja quasi fast schon als "ideale" Plattform für Webanwendungen dar und das ist einfach nicht wahr.
OMG... in jedem 2. Post betone ich, dass ich in C++ keine 08/15 Webanwendung schreiben würde. Ich habe von Anfang an diverse Nischen angesprochen.
Also lassen wir es einfach ruhen. Manche Leute wollen nicht verstehen

Jester schrieb:
Shade Of Mine schrieb:
Jester schrieb:
Geeignet impliziert für mich die Wertung: "Das kann man damit gut machen". Bist Du dieser Meinung?
Die Frage ist: für was?
Muß ich das jetzt wissen? Du schriebst doch für Webentwicklung.

Wenn du Trollen willst: nein.
Wenn du nicht Trollen willst: dann solltest du wissen das ein Tool ein Anwendungsgebiet braucht.