Zitat von
alzaimar:
Och, C ist nicht 'besser' als Delphi, nur weiter verbreitet.
Natürlich nicht. Aber wer vergleicht denn C und Delphi?
Zitat von
alzaimar:
Aber das ist eh eine Glaubensfrage und bevor wir uns duellieren, einigen wir uns auf 'Jedem das Seine' und freuen uns täglich neu über Exploits, die Dank der weiten Verbreitung und Sicherheit dieses Makro-Assemblers entdeckt werden.
Wie Du schon sagtest: In den richtigen Händen ist C eine total geil kompakte und auch sichere Sache. Leider gibt es nicht so viele 'richtige Hände'.... Das gilt aber auch für (fast) jede andere Sprache.
Eigentlich betonte ich doch "insbesondere C++". C ist für heutige Verhältnisse schon minimalistisch. Mit C++ aber kann man Dinge anstellen, von denen ich in Delphi nur träumen würde. (Natürlich hat auch Delphi seine Vorzüge. Insbesondere vermisse ich in C++ die ausführliche
RTTI.)
Insofern ist es nicht Glaubens-, sondern Bedarfsfrage. Die meisten meiner Programme bestehen aus zwei getrennten Teilen: die eigentliche Implementation, die in C++, sowie das
GUI, das mit der
VCL in C++Builder (also gewissermaßen Delphi mit C++-Syntax) geschrieben ist. Und das ist gut so.
Buffer-Overflows und die anderen üblichen Bugs können in C++ übrigens mit ausreichender Erfahrung und den richtigen Werkzeugen (z.B. das in C++Builder enthaltene CodeGuard) genausogut umschifft oder gefunden werden wie in Delphi. Und wer die Sprache C++ richtig einsetzt (also intensiv Gebrauch von Stackobjekten, Smart-Pointers, Containern, Templates etc. macht und die direkte Benutzung von Zeigern, C-Bibliotheksfunktionen, new und delete meidet), produziert auch schon aus Prinzip keine Buffer-Overflows, Lecks oder dergleichen. Nur das berüchtigte C/C++, also eine unausgegorene Mischung aus prozeduraler, zeigerorientierter C- sowie objektorientierter C++-Programmierung, ist eine ernsthafte Gefahr.
Zitat von
alzaimar:
Was ich hier blöd finde, ist die Mehrdeutigkeit (im Verständnis) eines Ausdruckes wie *p--. Ich meine, das ist die kürzeste Klausurfrage in der IT:
Zitat:
Erkläre *p--
Ja, die Operatorprioritäten sind etwas unübersichtlich. Daher habe ich auch meist eine Prioritätentabelle dabei.
Der findige Programmierer lernt diese Tabelle vor Klausuren auswendig und benutzt im realen Leben immer Klammern
Edit: Typographie