POLL (Programmiersprachen)
-
mathik schrieb:
Artchi schrieb:
mathik schrieb:
meine kritik galt den stl-streams. also den streams in der standardbibliothek von c++! und die sind einfach unnötig kompliziert! dass die streams von boost einfacher sind (jedoch wohl noch nicht mal in boost-core aufgenommen sind), bestreitet keiner.
Oh man, reden rüdiger und ich mit ner Wand? Warum liest du nicht einfach mal die ersten Sätze von dem Link??? Boost.IOStream ist sozusagen eine Tool-Library für die Standard-Streams (STL-Streams gibt es übrigens nicht, die STL hatte nie eine Streamlibrary). Man man man...
das gefühl habe ich auch. die boost-streams sind eine fassade um die stl-streams. ist mir klar. habe ich irgendwas anderes behauptet?
Ja
java hat auch keine stream-library in der standardbibliothek. sie bietet jedoch ein einheitliches simples framework, in das sich alle bibliotheken, die irgendwas mit streams zu tun haben, einhängen können. um sich in die stl-streams einfach reinzuhängen ist erstmal "ein umweg" über boost notwendig. und nicht jedes system kann oder will boost verwenden. die stl aber schon.
Ne, es ist kein Umweg über Boost notwendig. Du kannst dich auch so in die Streams reinhängen. Und warum sollte man Boost nicht verwenden können? Boost.Iostream ist reines Standard C++ (wie das meiste in Boost), das kann man sich auch einfach ins Projekt kopieren.
Und die Standard C++ Library war ja nie darauf ausgelegt, die einzige Library für C++ zu sein. Es war ja immer klar, das man sich zusätzliche Librarys benutzen wird... (Aber es wäre auch naiv zu denken, eine ultimative Library zu bauen)
Artchi schrieb:
mathik schrieb:
wenn ich die zeit hätte... und eigentlich finde ich es auch nicht sonderlich spannend irgendwelche standardbibliotheken zu designen, die es schon wie sand am meer gibt.
Dann solltest du auch nicht ewig drauf rum reiten. Kritik ist ja schön und gut, aber irgendwann auch gut, wenn man selber nicht den Finger krumm machen will. Immerhin ist C++ keine Sprache von einer Firma, sondern wird ehrenamtlich vorangetrieben.
wir leben in einer schnelllebiegen IT-Welt. Wenn erstmal 10 jahre vergehen müssen, bis ein neuer C++ standard rauskommt, dann muss sich irgendwas ändern. Ihr könnt mir nicht sagen, dass ihr das super findet!
Die IT-Welt scheint schnelllebig zu sein. Aber das ist teilweise nur sehr Oberflächlich. Viele Projekte laufen sehr lange und Software wird eher erweitert, als neugeschrieben. Nicht umsonst gibt es noch genug COBOL-Software. Daher braucht man eben viel Sorgfallt bei der Umsetzung. Sicher, die Trends was In und was Out ist, ändern sich alle paar Monate. Aber C++ erlaubt es einem eben solche Trends zu adaptieren und zu verwenden.
Ich behaupte mal, dass java und C# deshalb so erfolgreich sind, weil die nicht die besseren sprachen sind, sondern umfangreiche bibliotheken sowie mächtige tools haben.
Ach und C++ ist nicht erfolgreich?
Artchi schrieb:
Kannst es also besser machen bzw. zur Besserung beitragen, oder spielst dich nicht weiter so auf. Mit dem Nichtlesen des Boost.IOStream-Links hast du dich aber selber disqualifiziert, wegen Ignoranz.
an solchen diskussionen finde ich es immer sehr schade, dass es immer wieder leute gibt, die, nachdem ihnen die argumente ausgehen, irgendwelche angreifenden statements in die luft werfen, um vom wirklichen thema abzulenken. wirlich sehr schade...
Klar, du hast ja damit angefangen mir einen Programmierstil zu unterstellen und mir irgend welche OT-Sachen versucht zu erklären.
mathik schrieb:
otze schrieb:
wenn ich die zeit hätte... und eigentlich finde ich es auch nicht sonderlich spannend irgendwelche standardbibliotheken zu designen, die es schon wie sand am meer gibt. ich würde die bibliothek von java als proposal vorlegen

Sicher? dann wär ich mal auf deine begründung scharf! Was fidnest du zb an der STL so abstoßend(also nicht IOStream), dass java da so viel besser sein soll?
die bibliothek ist viel umfangreicher und ziemlich einfach! das ist schon alles.
bei den containern ist mir in der stl alles viel zu sehr auf statische polymorphie ausgelegt. in java auf dynamische polymorphie. hat beides seine vor- und nachteile. blöd, dass man nicht beides haben kann...
Der Vorschlag die Java-Standard-Library in C++ zu verwenden, zeugt nur von deinen C++ Unkenntnissen.
-
@mathik: Die haben Angst um ihre Jobs oder sind glaubensmäßig unterwegs, also beruhig dich
Sie sind Programmierer der alten Schule, da waren Programmierer noch "mehr" und besser bezahlt als ein Tischler oder Gärtner, dass muss man natürlich auch mit allen Mitteln verteidigen.Neue Jobstatistiken zeigen dann natürlich das wahre Bild: Durchschnittliches Einkommen liegt im Anfangsstadium (mit HTL, also Abitur + praktischer Ausbildung!) bei nur mehr 1800 Brutto. Da fehlte mir letztes Jahr nicht mehr viel und meine Ferialarbeit war besser bezahlt...
Sprachen werden immer einfacher zu handhaben und können immer leichter eingesetzt werden. Sollen Sie auch, dann kann man viel billigere Arbeitskräfte damit beschäftigen. Für alles andere holt man sich Experten. Spracherkennungssoftware wird von Experten aus dieser Branche entwickelt und die Programmierer schreiben dann eben Deutsch nach Java um bzw. man lernt eben ein bisschen Programmieren als Linguistiker (oder viel zu viel wie minhen :D)
(Aber es wäre auch naiv zu denken, eine ultimative Library zu bauen)
Das sagt ja auch niemand. Aber für den alltäglichen Gebrauch kann ich aus der C++-Library nun leider fast gar nichts verwenden. Das fängt bei den nicht vererbbaren Containern bei denen Datenstrukturart und Implementierung vermischt wurden an, hantelt sich weiter zu kompletten Sinnlosimplementierungen wie die fstream-Lib und endet nicht zuletzt bei striktem C-Code ala ctime. Komplett abgesehen mal von std::string, darüber lieber kein Wort verlieren. Schön designed wurde zB algorithm, allerdings zeigt sie auch, dass C++ nunmal hybrid ist und daher nicht einheitlich anzuwenden ist. Führt natürlich zu viel Verwirrung. Statt "istream >> container" schlägt man sich jetzt mit std::copy rum - warum das einmal so und einmal anders ist weiß leider niemand. Hybrides Modell führt zu Verkomplexierung und außerdem zu unschönen Ausuferungen. Da wird dann - um die Sprache in gewisse Bereiche unbedingt reinzupressen - übelste Meta-Programmierung verwendet statt auf normale Art und Weise im Standard Reflections oÄ einfach hinzuzufügen.
Benutzt jede Sprache für ihren Einsatzzweck. Just my 2 cents.
MfG SideWinder
-
SideWinder schrieb:
@mathik: Die haben Angst um ihre Jobs, also beruhig dich

Ich verdiene meine Brötchen mit Java. Normalerweise müsste ich Java verteidigen. Ehm, wer muß hier also seinen Job verteidigen?
-
SideWinder schrieb:
@mathik: Die haben Angst um ihre Jobs, also beruhig dich

Machen die Klitschen etwa so schnell pleite wenn sie auf Java umsteigen?

-
TactX schrieb:
SideWinder schrieb:
@mathik: Die haben Angst um ihre Jobs, also beruhig dich

Machen die Klitschen etwa so schnell pleite wenn sie auf Java umsteigen?

Wenn dich jemand nach einer gelungenen objektorientieren Sprache fragen würde, würdest du ja glatt C antworten.
MfG SideWinder
-
BTW: Alleine schon bei Betrachtung des Zeitstreifens, und der Tatsache, dass die meisten Dinge technologisch immer besser werden, ist es eigentlich von vornherein logisch, dass die Java-Library besser als die C++-Library ist. Die eine wurde erst vor ein paar Monaten wieder geupdated die andere das letzte Mal vor rund 9 Jahren.
MfG SideWinder
-
rüdiger schrieb:
Der Vorschlag die Java-Standard-Library in C++ zu verwenden, zeugt nur von deinen C++ Unkenntnissen.
ich würde eher sagen, von deinen unkenntnissen der java-lib.

macht ehrlich gesagt keinen spaß mit dir zu diskutieren, da du ständig irgendwas vorwirfst und die beleidigte leberwurst spielst.Artchi schrieb:
SideWinder schrieb:
@mathik: Die haben Angst um ihre Jobs, also beruhig dich

Ich verdiene meine Brötchen mit Java. Normalerweise müsste ich Java verteidigen. Ehm, wer muß hier also seinen Job verteidigen?
ich verdiene übrigens meine brötchen in C++!

ich habe aber mit java auch viele jahre entwickeln müssen. deshalb weiß ich, was ich in c++ oder in java vermisse. da wir hier im c++-forum sind, nenne ich natürlich sachen, die mich an c++ stören. und das sind, wie schon 1000x erwähnt der mangel an guten tools und die magere bibliothek.
es interessiert ja keinen hier, was einem an java nervt, oder? da gibt es natürlich auch jede menge sachen. die würde ich dann aber im java-forum nennen!
ach ja, ich kann auf einem mobilen gerät - für das ich derzeit entwickle - kein boost oder qt verwenden (hierfür gibt es technische als auch organisatorische gründe!). habe nur die stl. was nun? c++ erhebt ja den anspruch die eierlegendewollmilchsau auf allen plattformen zu sein...
-
die umfrage ist ein witz in dem forum xD
-
SideWinder schrieb:
TactX schrieb:
SideWinder schrieb:
@mathik: Die haben Angst um ihre Jobs, also beruhig dich

Machen die Klitschen etwa so schnell pleite wenn sie auf Java umsteigen?

Wenn dich jemand nach einer gelungenen objektorientieren Sprache fragen würde, würdest du ja glatt C antworten.
Wie kommst denn dadrauf?

-
mathik schrieb:
und das sind, wie schon 1000x erwähnt der mangel an guten tools und die magere bibliothek.
Na, dann nenne doch mal ein paar fehlende gute Tools und Libraries? Du hast nur gesagt, das es sie nicht gibt, aber nicht was dir konkret fehlt.
mathik schrieb:
ach ja, ich kann auf einem mobilen gerät - für das ich derzeit entwickle - kein boost oder qt verwenden (hierfür gibt es technische als auch organisatorische gründe!). habe nur die stl. was nun? c++ erhebt ja den anspruch die eierlegendewollmilchsau auf allen plattformen zu sein...
Komisch:
http://www.trolltech.com/products/qtopia
http://developer.symbian.com/home.action
MSVC++ Mobile
Für PalmOS gibts auch C++ SDKs.
Also, so wirklich verstehe ich den Mangel an C++-Entwicklungsmöglichkeiten auf Mobile-Geräten nicht...Was eure organisatorischen Defizite angeht... naja, dafür kann ja C++ wahrlich nichts. Technische Gründe... haben die was mit der Hardware zu tun? Dann kann C++ auch nichts dafür.
Übrigens, du glaubst doch nicht etwa, das die Java-Welt besser aussieht? Die J2ME-Edition ist Meilenweit von der JavaSE entfernt. Da mußt du auch Einschnitte eingehen.
Bzw., wenn C++ so schlecht für euer Mobilegerät geeignet ist, warum habt ihr es denn eingesetzt? Warum nicht eine andere Sprache?
-
SideWinder schrieb:
Das sagt ja auch niemand. Aber für den alltäglichen Gebrauch kann ich aus der C++-Library nun leider fast gar nichts verwenden. Das fängt bei den nicht vererbbaren Containern bei denen Datenstrukturart und Implementierung vermischt wurden an,
gibt es denn einen sinnvollen grund, wieso container polymorph sein müssen, wenn die sprache ein funktionierendes iteratorkonzept(also nicht sowas wie in java) unterstützt?
hantelt sich weiter zu kompletten Sinnlosimplementierungen wie die fstream-Lib und endet nicht zuletzt bei striktem C-Code ala ctime. Komplett abgesehen mal von std::string, darüber lieber kein Wort verlieren.
okay, da fehlen ein paar schon öfter hier erfragte argumente: 1. was ist an std::string so grauenvoll? 2. was ist an fstream so schlimm?(oder meinst du hier iostream ansich? selbst dann fehlen sinnvolle argumente die weitergehen als "kann man nicht wie in java so hübsch verknüpfen") 3. was ist an C-code schlimm?
Statt "istream >> container" schlägt man sich jetzt mit std::copy rum - warum das einmal so und einmal anders ist weiß leider niemand.
das wird so gemacht, weil es schlicht anders nicht sonderlich sinnvoll ist. std::string unterstützt das zb, weil es da sinn macht. das problem ist einfach, dass jedes objekt auf verschiedenste arten serialisiert werden kann.
übrigens muss es auch nicht immer copy sein
//dummes beispiel vector<Auto> autos; ifstream str("Fahrzeugnummern"); transform(istream_iterator<int>(str),istream_iterator<int>(),back_insert_iterator<vector<Auto> >(autos),autodatenBank);und wenn das dann genau die funktionalität sein sollte, die deine vector<auto> alle in dem programm haben sollten, kannste das auch in nen op>> packen. Hindert dich ja niemand dran, das zu tun.
Hybrides Modell führt zu Verkomplexierung und außerdem zu unschönen Ausuferungen.
auch hier fehlt ne argumentation

@mathik also, wenn du kein boost nutzen kannst, dann wirst du wohl auch etliche der normalen sprachmittel nicht einsetzen können, weil boost sich im absoluten großteil der bibliotheken voll an den standard und seine Möglichkeiten hält. Und unter diesen bedingungen sähs dann wohl auch für etliche andere sprachen essig mit der standardbibliothek aus. Ausser natürlich, ihr dürft kein boost verwenden, aber das hielt ich dann für hochgradigen irrwitz seitens der Leitung.
-
otze schrieb:
SideWinder schrieb:
Das sagt ja auch niemand. Aber für den alltäglichen Gebrauch kann ich aus der C++-Library nun leider fast gar nichts verwenden. Das fängt bei den nicht vererbbaren Containern bei denen Datenstrukturart und Implementierung vermischt wurden an,
gibt es denn einen sinnvollen grund, wieso container polymorph sein müssen, wenn die sprache ein funktionierendes iteratorkonzept(also nicht sowas wie in java) unterstützt?
ja. du kannst zur laufzeit einen vector nicht durch eine list ersetzen. überhaupt ist die bibliothek in c++ so ausgelegt, dass sehr viel zur compilezeit festgelegt wird. hat seine vorteile (performance) aber auch nachteile (flexibilität während der laufzeit).
-
DEvent schrieb:
Insbesondere heisst das, dass man nicht berechtigt ist die realisierte Loesung in Frage zu stellen, wenn man die Intention der Designer nicht kennt.
Bitte, sein wann denn das? Ich habe jedes Recht alles und jeden zu kritisieren. Wir leben schlieslich nicht in China.
Davon leben ja auch die Entwickler, von konstruktiver Kritik, die weniger konstruktiver Kritik kann man ja ignorieren, muss man aber nicht.
Ja ja. Jeder darf alles kritisieren. Aber weisst du was das Tolle dabei ist? Dass ich als Kritisierte das Recht habe jegliche Kritik zu ignorieren, wenn ich meine, dass die Kritik von Banausen kommt.
DEvent schrieb:
Präferenzen schön und gut, aber diese Sachen wie Design-Patterns haben sich nicht umsonst etabliert. In dieser Hinsicht sind die moderneren Sprachen wie Java oder C# schon besser Designt.
Design-Patterns kompensieren Unzulaenglichkeiten einer Sprache. Deswegen ist derer Etabliertheit eine logische Konsequenz. Was wiederrum bedeutet, dass diese "moderne" Sprachen keinen realen Fortschritt darstellen und daher, im Grunde genommen, voellig ueberfluessig sind.
DEvent schrieb:
Templates Programming ist ja schön und gut, aber wer braucht das wirklich. [...] Bei Templates kann man immernoch keine vernünftige Aufteilung von Interface und Implementation machen [...]
Jo. Aber auch nur dann, wenn man nicht genuegend Abstraktionsvermoegen mitbringt.
-
Artchi schrieb:
mathik schrieb:
und das sind, wie schon 1000x erwähnt der mangel an guten tools und die magere bibliothek.
Na, dann nenne doch mal ein paar fehlende gute Tools und Libraries? Du hast nur gesagt, das es sie nicht gibt, aber nicht was dir konkret fehlt.
nenn mir eine entwicklungsumgebung, die mit eclipse für java mithalten kann! ich wäre dir sehr dankbar dafür! Und nein, VS 2005 C++ ist einfach schlecht.
-
nenn mir eine entwicklungsumgebung, die mit eclipse für java mithalten kann! ich wäre dir sehr dankbar dafür! Und nein, VS 2005 C++ ist einfach schlecht.
Die Natur ist doof! Ich mag keine Bananen, die sind auch doof. La la la la! Ätzsch! Ihr seid doof, ihr seid doof! Ätschie bätsch!
Hallo? Vielleicht kannst du mal wie ein normaler erwachsener Mensch sagen, was an C++ Tools genau schlecht ist??? Muß man dir alles aus der Nase ziehen? Komme mir wie im Kindergarten vor.
Aber ich kann dir eine Umgebung nennen, die sehr gut mit den Eclipse-Plugins for Java mithalten kann:
VC++ und Visual Assist X. Und ja, ich arbeite seit Jahren täglich mit Eclipse und programmiere auch Plugins für Eclipse (kenne es also seeehr gut). Ich habe Erfahrung und kann es vergleichen. Visual Assist X ist ein sehr mächtiges C++ Plugin, das die IntelliSense von MS ersetzt und sogar Suggestions macht. Auch Refectoring ist damit möglich, mit den gleichen Features wie bei Java-Refectrorings. Selbst Rechtschreibprüfung mach Visual Assist in den C++-Kommentaren. Auch autom. Dokumentation mit Parametern einer Funktion/Methode lassen sich einfügen. Will ich z.B. einen Header inkludieren, bekomme ich nach dem Eintippen von "#inc" sofort eine Liste aller Headers.
Auch die On-The-Fly Syntaxprüfung (rot markierte Wellenlinie) hat VisualAssist X! Gut das funktioniert nicht immer 100%ig, wegen der Komplexität von C++, aber meistens macht er das richtig.
Einfach mal das Plugin ausprobieren, es lohnt sich. Und einfach zu sagen, das eine C++-IDE mit einer Java-IDE nicht mithlaten kann, zeugt einfach nur von Unwissenheit...
-
mathik schrieb:
otze schrieb:
SideWinder schrieb:
Das sagt ja auch niemand. Aber für den alltäglichen Gebrauch kann ich aus der C++-Library nun leider fast gar nichts verwenden. Das fängt bei den nicht vererbbaren Containern bei denen Datenstrukturart und Implementierung vermischt wurden an,
gibt es denn einen sinnvollen grund, wieso container polymorph sein müssen, wenn die sprache ein funktionierendes iteratorkonzept(also nicht sowas wie in java) unterstützt?
ja. du kannst zur laufzeit einen vector nicht durch eine list ersetzen. überhaupt ist die bibliothek in c++ so ausgelegt, dass sehr viel zur compilezeit festgelegt wird. hat seine vorteile (performance) aber auch nachteile (flexibilität während der laufzeit).
aber warum sollte man sowas tun? Ich seh da irgendwie den Vorteil nicht. Ich mein, es funktioniert ja nichtmal gut. Unterschiedliche container haben auch zugleich andere Anforderungen an das interface. ne liste hat keinen op[] wie ein vector(und das ist auch sehr sinnvoll so), und die meisten gemeinsamkeiten sind damit nunmal in den iteratoren enthalten.
Und wenn man mal verschiedene repräsentationen einer elementmenge braucht, kann man sich im ernstfall auch einen container Boost::multi_index holen.
und vorallem: wenn ich die container von den algorithmen trenne, und nur über iteratoren mit denen kommuniziere, kann ich trotzdem die container ändern wie ich lustig bin. Zwar nicht polymorph, das ist aber auch seltenst notwendig, aber statt den container zum algorithmus zu tragen, kann man auch den algorithmus zum container bringen...
Und für den fall dass das auch nicht reichen soll: polymorphe iteratoren soll es ja auch geben. Und spätestens die löschen dann jeglichen unterschied aus. C++ ist sicher keine einfache Sprache und sie erfordert sicher eine menge Kreativität, aber das ist halt zugleich stärke und schwäche.
-
otze schrieb:
gibt es denn einen sinnvollen grund, wieso container polymorph sein müssen, wenn die sprache ein funktionierendes iteratorkonzept(also nicht sowas wie in java) unterstützt?
Z.B. kann ich je nach Einstellung zur Laufzeit entscheiden welche konkrete Implementierung ich verwenden will. Meine Funktion verarbeitet Daten in einer Liste. Ob sich jetzt für eine ArrayList entschieden wurde oder eine LinkedList ist abhängig von dem wie der Benutzer die Daten einfügen konnte. Was ist übrigens deiner Meinung nach am Java-Iteratorkonzept soviel schlecheter als am C++-Konzept?
okay, da fehlen ein paar schon öfter hier erfragte argumente: 1. was ist an std::string so grauenvoll?
Unicode? RegEx-Unterstützung? Jede C++-Library schreibt ihre eigene Implementierung die möglichst anders ist => umständlich?
2. was ist an fstream so schlimm?(oder meinst du hier iostream ansich? selbst dann fehlen sinnvolle argumente die weitergehen als "kann man nicht wie in java so hübsch verknüpfen")
Kann man nicht verknüpfen (BufferedReader, Input___Reader, etc.). Aktuelles Problem im C++-Forum: Es gibt keinen Weg die Dateigröße rauszufinden. Es wird nicht wirklich zwischen Datei und Dateiinhalt unterschieden (bzw. auf ersteres wurde komplett vergessen).
3. was ist an C-code schlimm?
Grundsätzlich nicht, es sei denn er kommt in C++-Code vor. An Python ist auch nichts schlimmes, trotzdem hat er nichts mitten in Java-Code verloren. Stört die Einheitlichkeit, macht wieder alles umständlich (der Hauptgrund warum man C++ nicht verwendet ist ja wohl weils einfach umständlich ist damit umzugehen).
Statt "istream >> container" schlägt man sich jetzt mit std::copy rum - warum das einmal so und einmal anders ist weiß leider niemand.
das wird so gemacht, weil es schlicht anders nicht sonderlich sinnvoll ist. std::string unterstützt das zb, weil es da sinn macht. das problem ist einfach, dass jedes objekt auf verschiedenste arten serialisiert werden kann.[/quote]
Nein, jedes Objekt wird gleichermaßen serialisiert. Der Inhalt wird abgspeichert und fertig. Wenn ich ein anderes Verhalten suche überschreibe ich die read bzw. write-Methode, normalerweise muss ich aber schlichtweg nichts tun. In C++ bleibt mir das Handanlegen auf keinen Fall erspart - bis auf ein paar Ausnahmen.//dummes beispiel vector<Auto> autos; ifstream str("Fahrzeugnummern"); transform(istream_iterator<int>(str),istream_iterator<int>(),back_insert_iterator<vector<Auto> >(autos),autodatenBank);So sieht toller Code aus, mehr verschiedene Klammertypen als Parameter.
und wenn das dann genau die funktionalität sein sollte, die deine vector<auto> alle in dem programm haben sollten, kannste das auch in nen op>> packen. Hindert dich ja niemand dran, das zu tun.
In C++ werde ich an gar nichts gehindert, aber ich muss alles selbstmachen. In 99% aller Fälle will ich das aber nicht. Und in diesen 99% muss man einfach einsehen, dass die Sprache nicht das Optimum darstellt.
otze schrieb:
Hybrides Modell führt zu Verkomplexierung und außerdem zu unschönen Ausuferungen.
auch hier fehlt ne argumentation

Argumentation siehe oben. Ich programmere zuerst Java dann Python, dann objektorientiert, dann funktional, dann führe ich Metaprogrammierung durch dann vll. noch ein bißchen Spaghetticode. Unübersichtlicher Wirrwarr.
@mathik also, wenn du kein boost nutzen kannst, dann wirst du wohl auch etliche der normalen sprachmittel nicht einsetzen können, weil boost sich im absoluten großteil der bibliotheken voll an den standard und seine Möglichkeiten hält.
Vielleicht hat er aber auch nur keinen Platz?
Ausser natürlich, ihr dürft kein boost verwenden, aber das hielt ich dann für hochgradigen irrwitz seitens der Leitung.
Es sei denn sie hat Gründe ala: Es ist kein Platz, Compilezeit kostet Geld, etc.
MfG SideWinder
-
Auch die On-The-Fly Syntaxprüfung (rot markierte Wellenlinie) hat VisualAssist X! Gut das funktioniert nicht immer 100%ig, wegen der Komplexität von C++, aber meistens macht er das richtig.
Stichwort: Refactoring. Was ist möglich mit Visual Assist? Kommentare werden mitberücksichtig? Namespaces? Funktioniert ein Rename? Ein Move? Automatisch generierte Klassendiagramme mit Abhängigkeiten? Übersetzung von C++-Klassen in Datenbanktabellen? Automatische Persistenzframeworks? Anzeigen bei #ifdef ___ func-decl #endif? Was geht denn wirklich ... nahezu nix. Und jetzt komm mir nicht mit der Komplexität der Sprache, denn die bemängle ich.
MfG SideWinder
-
SideWInder schrieb:
Unicode? RegEx-Unterstützung? Jede C++-Library schreibt ihre eigene Implementierung die möglichst anders ist => umständlich?
Unicode? Was macht denn wstring? Wenn die MingW-Fuzis es verschlafen wstring zu implementieren, kann C++ nichts dafür. Ich setze wstring erfolgreich ein. Kann damit problemlos arabisch und chinesiche Zeichenketten bearbeiten. Da die Windows-API auf wchar_t setzt, brauch ich blos mystring.c_str() an die WinAPI-Funktionen übergeben, und schon steht mein Unicode-String auf dem Bildschirm.
RegEx? Schon mal was von std::tr1::regex gehört? Anscheind die offizielle Library Erweiterung von April 2006 verschlafen?
-
Einfach mal das Plugin ausprobieren, es lohnt sich. Und einfach zu sagen, das eine C++-IDE mit einer Java-IDE nicht mithlaten kann, zeugt einfach nur von Unwissenheit...
Bei der Anzahl an Leuten die ihre SQL-Scripts immer noch im Editor statt mit Toad oder JDeveloper erzeugen zeigt das von Erleuchtung. Bei der Anzahl an Leuten die immer noch eine IDE "modern" finden wenn sie automatisch die Methoden aufpoppt...
In ist: Parameter guessing, Refactoring mit allen Maschen, Generierung, automatisches Erkennen von Abhängigkeiten, etc.
BTW: Da fällt mir ein, dass eine Sprache wie C++ zwar Namespaces hat aber trotzdem immer noch auf ein altmodisches Header-System zurückgreift. Hätten die doch lieber ein Package-System gebastelt.
MfG SideWinder