Wie programmiert ihr?

X!X

Ensign
Registriert
Mai 2004
Beiträge
253
Hallo,

ich habe vor einigen Jahren mit Delphi angefangen und das auch mehr oder minder erfolgreich benützt.
Nun aber merke ich immer dann, wenn ich eine andere Sprache probieren will wie z.B. C++ oder Python, dass die IDEs zwar nicht gerade spärlich gesäht sind, wohl aber vom Funktionsumfang her Delphi hinterherhinken (ich meine jetzt damit die freien. Die Microsoft Produkte zu C++ habe ich nicht probiert.)

Was mir bei Delphi vor allem sehr stark weitergeholfen hat ist die CodeCompletion und zwar in der Form, dass ich einen Befehl Anfange zu schreiben und mir vorgeschlagen wird wie es weitergehen könnte.
Noch komfortabler ist es nach einem Punkt hinter einer Bezeichnung. Dort wird dann jeweils aufgelistet was an dieser stelle für Werte und Funktionen zur Verfügung stehen und zwar alle, die an dieser stelle erlaubt sind. Ich suche nun schon seit einiger Zeit speziell für Python eine anständige IDE oder einen Editor, der dies auch nur ein bisschen hinbekommt. Bis auf den mitgelieferten IDLE habe ich da allerdings noch wenig gutes gesehen.

Wie macht ihr das denn? Wisst ihr immer genau was als nächstes kommt? Habt ihr an allen Stellen alle Funkionen im Kopf oder nutzt ihr auch Tools, die solche Funkionen mitbringen?

Grüße
 
Für C++ nutze ich schon seit geraumer Zeit VisualAssistX von Tomato. Es ist ein Plugin für Visual Studio. Das macht genau das was du suchst und noch viel mehr.
Für Python - keine Ahnung. :(
 
Eclipse z.B. ist sehr praktisch (wenn auch in den meisten Fällen recht träge und resourcenfressend ;) ) und nimmt viel Routinearbeit ab: wie Getter und Setter oder Constructors automatisch zu erzeugen. Auch die Befehlsvervollständigung ist ganz hilfreich, gerade wenn man mal die API-Docs nicht geöffnet hat und nicht weiß, wie genau eine Methode nun heißt und welche Parameter in welcher Reihenfolge sie verlangt.

Eclipse kommt zwar unsprünglich aus dem Java-Universum, ist aber sehr flexibel: ob nun Python, C++, php? oder Latex, Plugins gibts für fast jeden Bedarf.
 
Ich progge immer schön mit c#, ist sehr funktionell und es lassen sich schöne Bibliotheken einbinden, macht richtig spass!

Da macht OOP richtig fun XD
 
X!X schrieb:
Wie macht ihr das denn? Wisst ihr immer genau was als nächstes kommt? Habt ihr an allen Stellen alle Funkionen im Kopf oder nutzt ihr auch Tools, die solche Funkionen mitbringen?
Wie soll es denn anders gehen?
Die IDE wird wohl kaum wissen, welche Funktion Du ausführen möchtest.
Natürlich musst Du wissen, "was als nächstes kommt". Autovervollständigung ist nett um Typos zu vermeiden,
oder um die Typen der Parameter angezeigt zu bekommen.
Aber diese Funktionen für inhaltliche Hilfe zu benutzen ist so sinnfrei, wie den Debugger zu fragen, ob das Programm richtig läuft.
Programmieren bedeutet, dass Du den Ablauf (das Programm) im Kopf hast und der Maschine beibringst diesen auszuführen.
DIe erste Frage ist immer "was will ich tun" und nicht "was kann ich überhaupt Programmieren".
Es geht nicht darum irgendwelche Funktionen zusammenzupuzzeln und damit rückwärts die Funktionalität zu suchen.
Deine Algorithmen sollen bereits vor dem Programmieren funktionieren, z.B. auf Papier.
Dann werden sie übertragen und evtl. an die Umgebung angepasst.

mfG

-- -- muckelzwerg
 
VIM kann das von dir gewollte und vieles mehr.
Mein Editor der ersten Wahl, wenn es um Programmierung geht.
 
emacs, vim, nano, ed, cat
alle gut und frei!
 
X!X schrieb:
Nun aber merke ich immer dann, wenn ich eine andere Sprache probieren will wie z.B. C++ oder Python, dass die IDEs zwar nicht gerade spärlich gesäht sind, wohl aber vom Funktionsumfang her Delphi hinterherhinken (ich meine jetzt damit die freien. Die Microsoft Produkte zu C++ habe ich nicht probiert.)

1.) Dass man mit irgendwelchen Anfängertools oder uraltem DOS-Schrott nicht viel zusammen bringt, sollte klar sein. Ich kann dir hier nur zum Visual Studio von MS raten. Die Express Editions haben die ganzen wesentlichen Funktionalitäten und man kann sie kostenlos unbeschränkt einsetzen, auch für kommerzielle Projekte.

2.) Die ganze Code Vervollständigung schaut bei C/C++ deshalb so schlecht aus, weil die Programmiersprache schon so alt ist, dass da keiner mehr so richtig Arbeit rein stecken will. Abgesehen davon gibt es ja eine riesige Menge an Syntaxkonstruktionen, die laut C-Standard laufen müssen, aber kompletter Schwachsinn sind. C hat heute nur mehr in sehr performancelastigen Anwendungen eine Daseinsberechtigung. Überall anders. Dort wo das nicht das erste Kriterium ist (was in 99% der Software der Fall ist), sollte man eine aktuelle Programmiersprache verwenden. Klar kosten Dinge wie das Prüfen von Feldüberschreitungen Performance, aber sonst bekommt nur mit sehr viel Aufwand sichere und stabile Programme zusammen.
Weiters sollte man wenn möglich das .NET Framework verwenden und nicht auf hunderte externe Steuerelemente, dlls, API Funktionen etc. setzen.
Ich bevorzuge ja VB.NET statt C#, da der Code meiner Meinung nach deutlich lesbarer ist und man von der Syntax mehr Kontrolle hat und es um ein Eck übersichtlicher ist. Einige Beispiele sind hier sinnvolle Bezeichnungen wie End If statt nur einer geschwungenen Klammer, Anweisungen wie Continue for in einer do Schleife, um auch die darüberliegende Schleife verlassen zu können usw. Leider wird von guten Programmierern immer noch hauptsächlich C# verwendet, da sie sich nicht umgewöhnen wollen.
 
Gute Programmierer interessieren sich überhaupt nicht dafür, ob nur ein "end if" oder ein "}" verwendet wird.
Es wird das Werkzeug benutzt, welches am erfolgversprechenden aussieht. Und wenn das C ist, dann ist es eben C.
Wie kommst Du denn auf "99%"? Der mit Abstand größte Prozessormarkt sind Mikroprozessoren, und da kommt man mit .NET nicht allzuweit.
Ich will keinen Streit anfangen, aber Dinge wie "Syntax mit mehr Kontrolle", "besser lesbar" etc., sind bei Projekten, die "wirklich etwas tun" und nicht die 1000ste Kopie eines Webshops oder Texteditors sind, eher weniger der ausschlaggebende Faktor für die Wahl der Umgebung.
Schlechten Code kann man in jeder Sprache schreiben, (gäbe es eine, bei der das nicht so ist, würde man keine andere verwenden) und Guten genauso.
Wirklich relevant sind solche Argumente eher für Programmieranfänger oder Private Kleine Entwicklergruppen. Klar setzt jede Firma auf das Pferd, welches am besten aussieht. Aber da spielt "Codestyle" eher weniger eine Rolle. Support, Verbreitung, vorhandene Schnittstellen, existierende Lösungen, Kompatibilität, Akzeptanz beim Kunden, Wartungsaufwand, Zukunftssicherheit, "das macht jeder so", "haben wir noch nie anders gemacht", usw. sind Argumente, die man betrachtet, wenn die Aufgabe nicht von vornherein die Entscheidung eliminiert.

mfG

-- -- muckelzwerg
 
Also ich benutz Notepad++ und einen "uralten" Kommandozeilen Compiler/Linker namens "Borland C++ Compiler 5.5". :D

Und die Auto-Vervollständigung(oder wie das heißt) hab ich noch nie wirklich gebraucht.
 
muckelzwerg schrieb:
Gute Programmierer interessieren sich überhaupt nicht dafür, ob nur ein "end if" oder ein "}" verwendet wird.
10% der Arbeit gehen dabei drauf, ein Programm zu schreiben und 90% der Arbeit bei der Wartung, Fehlersuche etc. und hier ist das erste Kriterium die Lesbarkeit. Solange man nur für sich alleine im stillen Kämmerlein seine Hobby Programme schreibt, ist das egal, aber je größer das Projekt, desto wichtiger ist das und wenn man schon öfters eine Stunde lang gesucht hat, um dann festzustellen, dass eine geschwungende Klammer zu viel war und die Einrückung nicht gepasst hat, dann weiß man solche Dinge zu schätzen. Wenn ich eine Klammer mehr habe, kann ich für die selbe Übersichtlichkeit eine Anweisung weniger schachteln und d.h. eine Zeile mehr.

Es wird das Werkzeug benutzt, welches am erfolgversprechenden aussieht. Und wenn das C ist, dann ist es eben C.

Wenn man akzeptiert, dass man dann Unmengen an Sicherheitslücken durch Buffer Overflows, Speicherlecks etc. hat, dann ist das aber schlecht. Na klar kann man sagen, man macht nie Fehler, aber die Realität sieht halt anders aus und wenn dann auf einmal der ganze Server steht, weil eine Anwendung über 1 Monat verteilt sich den ganzen RAM unter den Nagel gerissen hat in irgendeiner Unterfunktion, dann ist das nicht so erfreulich, vor allem, wenn das immer wieder passiert.

Wie kommst Du denn auf "99%"? Der mit Abstand größte Prozessormarkt sind Mikroprozessoren, und da kommt man mit .NET nicht allzuweit.

Wenn man sich mit diversen Industriesteuerungen beschäftigt, dann ist das wieder eine komplett andere Welt. Da werden oft noch mit Genuss Programmiersprachen verwendet, die noch nicht einmal Schleifen haben.

Ich will keinen Streit anfangen, aber Dinge wie "Syntax mit mehr Kontrolle", "besser lesbar" etc., sind bei Projekten, die "wirklich etwas tun" und nicht die 1000ste Kopie eines Webshops oder Texteditors sind, eher weniger der ausschlaggebende Faktor für die Wahl der Umgebung.

95% der Software, die entwickelt wird, ist Individualsoftware für einen einzigen Kunden. Wenn ich eine Software zur Ansteuerung einer Industrieanlage schreibe mit Anbindung an deren EDV Struktur, dann muss man das jedes Mal einzeln schreiben und hier sind die Wartezeiten deutlich größer. Die Zeit geht hier beim Warten auf die Hardware drauf und Performance kann man durch das Wegoptimieren von Timern holen, wo man etwas nachdreht, aber die reine Rechenzeit der CPU spielt hier absolut keine Rolle.

Schlechten Code kann man in jeder Sprache schreiben, (gäbe es eine, bei der das nicht so ist, würde man keine andere verwenden) und Guten genauso.

Schlechten Code kann man überall schreiben, aber guten Code eben nicht und genau darum geht es und wenn man keine Exceptions hat, dann wird der Code nie sauber werden. Da kann man sich noch so anstrengen und wenn sich etwas aufhängt, dann meistens mit einer Segmentation Violation irgendwo und nicht mit einem schönen Stack Trace, wo man das Problem nachvollziehen kann.

Wirklich relevant sind solche Argumente eher für Programmieranfänger oder Private Kleine Entwicklergruppen. Klar setzt jede Firma auf das Pferd, welches am besten aussieht. Aber da spielt "Codestyle" eher weniger eine Rolle. Support, Verbreitung, vorhandene Schnittstellen, existierende Lösungen, Kompatibilität, Akzeptanz beim Kunden, Wartungsaufwand, Zukunftssicherheit, "das macht jeder so", "haben wir noch nie anders gemacht", usw. sind Argumente, die man betrachtet, wenn die Aufgabe nicht von vornherein die Entscheidung eliminiert.

Support ist sicher bei VB.NET 10 mal besser, als mit irgendeinem exotischen Basic Dialekt. Verbreitet ist es auch, selbst wenn C# etwas häufiger eingesetzt wird, aber den Code kann man dank .NET Framework 1:1 übersetzen, vorhandene Schnittstellen sind sicher auch nicht das Problem, es sei denn der Vorgänger war so intelligent und hat C only nur in Header Files programmiert. Bei mir sind Schnittstellen meistens diverse ActiveX Controls, dlls usw. wo die Sprache möglichst modern sein soll und nicht möglichst altmodisch.
Wartungsaufwand ist beim Suchen von Speicherlecks etc. sicher deutlich geringer und Zukunftssicherheit ist auch gegeben, während C eigentlich schon ausstirbt.
Argumente wie "haben wir immer schon gemacht" zählen bei mir nicht. Wenn eine neue Lösung besser ist, dann wird sie gemacht. Ich habe da schon öfter mit unseren Technikern diskutiert, dass sie keine Lösungen mehr zu Kunden stellen, die auf LPT basieren bzw. nicht Vista tauglich sind, weil das in 3 Jahren auch noch jemand warten darf und dann hat man immer die Probleme noch ein gebrauchtes Notebook irgendwo auszugraben, das die Schnittstellen hat.[/QUOTE]
 
Es wird das Werkzeug benutzt, welches am erfolgversprechenden aussieht. Und wenn das C ist, dann ist es eben C.

Wenn man akzeptiert, dass man dann Unmengen an Sicherheitslücken durch Buffer Overflows, Speicherlecks etc. hat, dann ist das aber schlecht. Na klar kann man sagen, man macht nie Fehler, aber die Realität sieht halt anders aus und wenn dann auf einmal der ganze Server steht, weil eine Anwendung über 1 Monat verteilt sich den ganzen RAM unter den Nagel gerissen hat in irgendeiner Unterfunktion, dann ist das nicht so erfreulich, vor allem, wenn das immer wieder passiert.

Das ist eben der Grund, warum C nichts für Anfänger ist. Wenn man diese Sprache programmieren will, dann sollte man schon wissen, was man tut.
Alles hat Vor- und Nachteile.
Der Vorteil von C liegt in der hohen Geschwindigkeit, der großen Flexibiltät und der Hardwarenähe. Java etc. unterstützt z.B. keine SSE2-Programmierung, C schon.
 
andr_gin schrieb:
10% der Arbeit gehen dabei drauf, ein Programm zu schreiben und 90% der Arbeit bei der Wartung,
...
Wenn ich eine Klammer mehr habe, kann ich für die selbe Übersichtlichkeit eine Anweisung weniger schachteln und d.h. eine Zeile mehr.
Seh ich sogar noch strenger. Häufig werden drei bis vier Zeilen kontrollierter Code pro Tag, als sehr gutes Ergebnis angesehen.
Das allerdings direkt an den Klammern oder "end if"s festzumachen, halte ich für Unsinn.
Für Anfänger ist es sicher von Vorteil, wenn der Code dadurch "intuitiv" besser zu verstehen ist.
Für "gute Programmierer" macht das keinen Unterschied.
Du musst ja davon ausgehen, dass die Entwickler sich (spätestens nach einiger Zeit) mit ihrer Umgebung auskennen. (Anfänger natürlich erstmal nicht)
Der Block muss ein Terminierungszeichen besitzen, so ist das System nunmal gemacht. (rekursiver Parser ...)
Ob das ein "}" oder ein "end" ist, macht nicht wirklich was aus.
Was Einrückungen angeht, sehe ich lediglich einen Unterschied zu Sprachen, bei denen sie Einfluss auf den Code haben.
Wenn das nicht vorliegt kann man jeden Code automatisiert formatieren.
(Häufig hängen solche Tools direkt am Versionssystem, so dass beim Einchecken die vorgegebene Formatierung erzeugt wird.)


andr_gin schrieb:
Wenn man akzeptiert, dass man dann Unmengen an Sicherheitslücken durch Buffer Overflows, Speicherlecks etc. hat, dann ist das aber schlecht.
Du hast meine Aussage irgendwie falsch interpretiert.
Wenn C den größten Erfolg verspricht, sind doch genau diese Dinge betrachtet worden.
Erfolgversprechend heißt doch nicht "das finde ich persönlich am coolsten" sondern
"ist nach betrachtung der relevanten faktoren als beste Wahl hervorgetreten".


andr_gin schrieb:
Wenn man sich mit diversen Industriesteuerungen beschäftigt, dann ist das wieder eine komplett andere Welt. Da werden oft noch mit Genuss Programmiersprachen verwendet, die noch nicht einmal Schleifen haben.
Wieso ist das eine andere Welt? Wenn Du das von der privaten "Amateurentwicklung" trennen willst, ok. Dann stimmen auch sicher die Aussagen, dass "}" statt "end" weniger lesbar ist.
Aber jeder von uns kommt tagtäglich mit einer großen Zahl solcher Embedded-Software in Kontakt, eine Zahl die weit höher ist, als die der "gewöhnlichen PC-Software".
Nur weil man sich als private Entwickler oder Anfänger nicht mit sowas beschäftigt, kann man es doch nicht für solche Betrachtungen ignorieren. (Oder die Aussagen gelten eben nur für "Anfänger" und "Laien".)


andr_gin schrieb:
95% der Software, die entwickelt wird, ist Individualsoftware ... aber die reine Rechenzeit der CPU spielt hier absolut keine Rolle.
Mir ist nicht ganz klar, was Du mit diesem Abschnitt sagen willst. Du scheinst immer nur an PC-Hardware mit Ressourcenverteilung wie bei Arbeitsplatzrechnern zu denken.
In der Industrieautomation ist genau das nicht vorhanden. Ein Arbeitsplatzrechner braucht reserven, weil man die genaue Last nicht vorhersagen kann.
Ein Embedded-System wird bis unters Dach ausgelastet. Ist es das nicht, wird die Hardware reduziert. Du kannst Dir bei der großen Stückzahl keine unbenötigten Reserven leisten.
Wenn die Software nur 4K verbaucht, baut man keinen 8K Chip ein etc. (es sei den die Platine kommt als Standard mit 8K und ist deshalb wider billiger, etc.)
Tatsächlich verzichten die meisten dieser Systeme sogar auf ein unterlagertes Betriebsystem.
"Weil wir es nicht brauchen". Du hast 4 Millisekunden um den Airbag auszulösen,
das willst Du nicht durch .NET schicken nur weil da "lesbarerer" Code entsteht.


andr_gin schrieb:
Schlechten Code kann man überall schreiben, aber guten Code eben nicht und genau darum geht es und wenn man keine Exceptions hat, dann wird der Code nie sauber werden.
Sorry, aber das ist Unsinn. Die Aussage widerspricht sich ja selbst.
Wenn es so wäre, könnte man ja gar keine sauberen Routinen fürs Exceptionhandling schreiben.


andr_gin schrieb:
...und wenn sich etwas aufhängt, dann meistens mit einer Segmentation Violation irgendwo und nicht mit einem schönen Stack Trace, wo man das Problem nachvollziehen kann.
Das klingt auch wieder alles sehr nach "PC-Entwicklung mit .NET". Tatsächlich gibt es weit heftigere Fehler, als Segfaults. Aber darum geht es doch hier gar nicht.


andr_gin schrieb:
Support ist sicher bei VB.NET 10 mal besser ...
Ich habe doch auch gar nichts anderes gesagt.
Du führst ganz schön viele Punkte auf, die doch eigentlich mit dem winzigen Thema aus dem letzten Post nichts zu tun haben.
Ich hab doch überhaupt nichts gegen Dein VB.NET. Ich sage nur dass Deine Argumente bezüglich "Lesbarkeit" und "end if" statt "}" etc, nicht wirklich relevant sind, weil es weit wichtigere Argumente gibt, die vorher zu einer Entscheidung führen.

andr_gin schrieb:
Argumente wie "haben wir immer schon gemacht" zählen bei mir nicht. Wenn eine neue Lösung besser ist, dann wird sie gemacht.
Das ist das gleiche Mißverständniss, wie bei "Erfolgsaussichten von C".
Du versuchst das Argument "haben wir schon immer so gemacht", losgelöst zu sehen.
Natürlich entscheidet man sich nicht gegen die "bessere Lösung" mit diesem Argument.
Aber es kann dafür sorgen, dass eine von mehrere Varianten zur besseren Lösung wird.
Routine ist eines der wertvollsten Werkzeuge bei kommerzieller Softwareentwicklung.
(Das die Entwicklung dadurch nicht besonders "spannend" wird ist klar. Und natürlich auch gewollt.)


IceMatrix schrieb:
Das ist eben der Grund, warum C nichts für Anfänger ist. Wenn man diese Sprache programmieren will, dann sollte man schon wissen, was man tut.
Alles hat Vor- und Nachteile.
Gleiches Mißverständnis wie oben. Wenn all diese Argumente gegen C sprechen, wird es sicher nicht die "erfolgversprechendste Sprache" sein, die man für das Projekt verwenden kann. Dazu kommt, dass all diese Punkte gar nicht das Thema sind.
Ich habe mich dazu geäußert das "Lesbarkeit" usw. bei Professioneller Entwicklung kaum ein Argument zur Wahl der Umgebung ist, in der man das jeweilige Projekt umsetzt.
Dieser VB.Net vs C kram klingt ja fast nach nem Konsolenthread.


-- -- muckelzwerg
 
Zuletzt bearbeitet:
Ohne gelesen zu haben, was die anderen schreiben.

Als Delphi-Umsteiger eignet sich C#.NET hervorragend. Visual Studio gibt es in der jeweiligen Express-Version sogar kostenfrei, inklusive IntelliSense (Code-Completion), Refactoring-Möglichkeiten und und und...

Weiterhin hat Microsoft die .NET-Entwickler aus dem ehemaligen Delphi-Team rekrutiert. Das macht sich bemerkbar.
 
Also um auf das Thema zurück zu kommen. :D

Ich habe mit Basic angefangen, so wie die meisten des alten Eisen auf der Schule anno vor 2000. :)
2001-2003 kamen die ganzen Acess Sachen dazu und Pascal sowie Turbo Pascal, 2003 kam aber auch PHP aus Interesse dazu, gefolgt von Java, C++ und D. Programmieren tu ich mit Eclipse, Poseidon und Zend Studio, wobei bei PHP ist es ja kein Programmieren sondern eher Skripten. :D

SQL ist wohl Grundstoff, genau so wie XML, HTML und CSS als Ausgabesprachen. Bedingt kommt noch XUL dazu.

Hobby mäßig aus interesse auch gerne gesehen OpenGL(2.x) sowie OpenAL, dazu auch aus interesse DirectDraw und jetzt Mac bedingt Cocoa und Objectiv C.

Zu C#.net und C++.net usw. Ich mag Microsoft nicht, aber für das schnelle Entwickeln für eine Windows Anwendung ohne jetzt großartig nach Klassen für bestimmte alltägliche Aufgaben zusuchen ist es nen feines ding.

Zum Thema, womi man anfangen sollte: eigentlich egal... Denn lernen muss man ohne hin beides. Nur der Umsteig fällt dann schwerer oder leichter.
 
Also ich persönlich hab auch mit PHP/MySQL angefangen! Als allererstes kamm natürlich HTML aus der Schule sowie CSS, nach Studien beginn kamm C#!

heute programmier ich fast nur noch c#, hobby mäßig wollt ich mir immer schonmal XNA anschauen,jedoch fehlt echt die zeit. In meiner Firma arbeite ich mit navision, was sehr weit von diversen Logiken arbeitet ^^, aber das is ja erstma zweites!

Irgendjemand hat hier was gesagt das 95% aller software individual software is, wenn ich sowas höre frag ich mich wie SAP/Oracle/MS ihre Millionen Dollars an ERP Systemen verdient? Zumal ein ganzer branchenzweig lämmlich der der Solution Centers davon abhängt !

ERP Systeme wie Navision haben grundfunktionalität und branchenlösungen die erfolg garantieren! Dies gilt auch als aushänge schild, wenn eine Firma sagt wir fahren SAP heißt das diese Firma arbeitet professionel! Ob die Software sie wie sie fertig ist auch ut ist is ja erstma zweitens! Ich finde Navision auch dreckig jedoch verdient man damit Geld! Ohne grossartig das Rad neu erfinden zumüssen!
 
Zuletzt bearbeitet:
hm. also für php/css/html/net.data/scripte etc benutz ich nur editpad lite, sehr selten eclipse. alles andere was ich programmiere hat ne eigene IDE.

gruß
hostile
 
andr_gin schrieb:
Die ganze Code Vervollständigung schaut bei C/C++ deshalb so schlecht aus, weil die Programmiersprache schon so alt ist, dass da keiner mehr so richtig Arbeit rein stecken will.

Naja das halte ich mal für ziemlich weit hergeholt. Die Codevervollständigung ist deshalb so kompliziert, weil C++ eine heftigst kontextabhängige Sprache ist. Dazu alle möglichen Header, die inkludiert werden und je nach just in diesem Moment gesetzten defines andere Symbole bekannt machen. Mir fallen ja allein schon 5 Bedeutungen für den * ein, und wenn dann sowas dazu kommt wie Template-Spezialisierung, wo du bist zur tatsächlichen Instanziierung eigentlich nicht weißt, was der Code bedeutet, ist es absolut nachvollziehbar (wenn auch nicht zufriedenstellend), dass sowas wie Codevervollständigung nicht besonders überzeugend funktioniert.
Delphi dagegen ist eine ziemlich einfach zu parsende Sprache - kein Wunder, dass da Code Completion zuverlässig und schnell funktioniert. C++ dagegen ist ein echtes Monster. Ich würde mich sogar fast soweit aus dem Fenster lehnen um zu sagen, dass es eine der am schwersten zu parsenden Sprachen ist.
 
Zuletzt bearbeitet:
Zurück
Oben