Warum ist die C++ - syntax so kompliziert?

Ich bin ein Anfänger im Programmieren, obwohl ich bisher gelehrt habe mir Python für über ein Jahr und ich lernte C# vor einiger Zeit.

In diesem Monat habe ich angefangen C++ - Programmier-Kurse an meiner Universität und ich habe nur zu Fragen; "warum ist der C++ - code so kompliziert?"

Schreiben "Hallo Welt." in Python ist so einfach wie "print 'Hello world.'" aber in C++ ist es:

# include <iostream>
using namespace std;

int main ()
{
    cout << "Hello world.";
    return 0;
}

Ich weiß, es ist wahrscheinlich ein guter Grund für all dies aber, warum...

  • ... haben Sie die enthalten die <iostream> jedes mal? Haben Sie jemals nicht es brauchen?
  • ... gleiche Frage für die standard-Bibliothek, wenn Sie nicht brauchen, std::*?
  • ... ist die "main" - Teil eine Funktion? Haben Sie jemals rufen Sie die main-Funktion? Warum ist es ein integer? Warum wird C++ brauchen, um eine main-Funktion, aber Python nicht?
  • ... brauchen Sie "std::cout << "? Ist das nicht unnötig lang und kompliziert im Vergleich zu Python?
  • ... müssen Sie 0 zurück, auch wenn Sie nie, es zu benutzen?

Dies ist wahrscheinlich, weil ich bin lernen wie basic, C++, aber jedes Programm, das ich gemacht habe sieht bisher wie diese, so ich geben Sie den gleichen code immer und immer wieder. Ist das nicht redundant? Konnte nicht der compiler nur die Eingabe dieses code selbst, denn es ist immer das gleiche (also afaik haben Sie immer include <iostream>, std, int main, return 0)

  • Einfache Antwort: C++ und Python sind entworfen, um verschiedene Probleme zu lösen, mit unterschiedlichen Einschränkungen. Verschiedene design-Tore erhalten Sie verschiedene Entwürfe.
  • Ich bin nicht sicher, was bedeutet der tag "redundanten-code' in diesem Kontext bedeuten. Die Aufgabe von main() in den meisten nicht-triviale Anwendungen ist nicht nur die Ausgabe in die Konsole. Es ist der Einstiegspunkt für das Programm executon. Das return 0; ist der O. S. das startet das Programm und kann Sie benutzen den Rückgabewert als status-berichtet von Programm-Ausführung. Sie können Lesen möchten Dr. Stroustrup ' s FAQ den ersten, bevor Sie möglicherweise incriminatng C++ von vielen anderen Dingen abgesehen von der syntax @ research.att.com/~bs/bs_faq.html.
  • Ernsthaft C++ kann die Biene die Knie, aber ich finde es ist code wirklich kompliziert und tedius.
  • Es gibt Programme, die brauchen nicht <iostream>. Glauben Sie mir, wenn Sie Sie sehen, wirst du nicht diese einfachen Programme, die enthalten nur <iostream>.
  • Dies ist der Grund, warum die Programmierer sollten lernen, low-level-Sprachen, die ERSTE, so dass Sie schätzen können, was high-level-Sprachen für Sie tun.
  • Baldur - C++ ist nicht nur für das schreiben von Konsolenanwendungen. Sie können schreiben, Fenster-apps, hintergrund-Dienste, embedded-Systeme, Spiele... im Grunde nichts. Wenn Sie schreiben etwas, das nicht eine Konsole app, werden Sie nicht oft brauchen < iostream >.
  • Leon: Als ich noch ein Programmier-Anfänger würde ich stark nicht einverstanden mit Ihnen. Nun, ich bin Diplom-Informatiker und arbeitete 2 Jahre in der Industrie, ich STIMME zu. Sie können nicht gewinnen, den low-level-Verständnis von Dilettantismus nur im high-level-Sprachen.
  • Wenn Sie finden, das zu kompliziert ist, dann Frage ich mich, was passiert, wenn Sie beginnen mit Vorlagen..
  • Eduardo Mein Freund sagte mir, mit dem lernen zu beginnen Montage, denn das würde mein code weniger schlampig. Ich hatte einfach nicht die Geduld, es zu lernen. Ich denke, es ist eine schlechte Idee, im Nachhinein, oder vielleicht werde ich mehr motiviert zu lernen, low-level-Sprachen, dass ich jetzt besser weiß, wie Sie hilfreich sein könnten. Auch ich möchte mich entschuldigen für das, was viele von Euch vielleicht eine sinnlose Frage, aber zu meiner Verteidigung es war ärgerlich, wenn Sie spüren, dass 65,6% der code, den ich geschrieben hatte, war sinnlos.
  • Naveen ich nicht finde das zu kompliziert, ich möchte verstehen was ich Tue, anstatt, Sie zu schreiben, wie ein Affe. Der Lehrer prüft derzeit Dinge, die ich gelernt vor Jahren, aber er sagte nie etwas darüber, warum die Dinge auf diese Weise getan. Das ist der Grund, ich drehte mich zu SO.
  • Keine Sorge, ich hatte die gleichen Fragen, als ich umgezogen aus (Scham,...) von Visual Basic und Delphi zu C++.
  • Visual Basic? Meine Schule verwendet, um uns zu lehren, Visual Basic eine lange Zeit her und ich hasste jede minute davon. Aus Neugier - macht Unternehmen tatsächlich nutzen VB? Ich habe nur gehört, schlechte Dinge über Sie.
  • Ja, leider tun Sie das.
  • Gibt es irgendeinen Grund mit VB gegenüber anderen Programmiersprachen?
  • Eine weitere: C++ ist wie 30 Jahre, die alten in der Programmierung Welt.
  • Gott sei Dank ist Sie havent gesehen die Java-Hello World noch nicht:P
  • Ich finde es seltsam, dass Niemand geantwortet hat, die Python-syntax ist einfacher, weil es entworfen wurde, dass Art und Weise - es ist ein harter constraint, der auf die Komplexität von Python.
  • Die kurze version: Python hat eine spezielle Magische Wort, um Dinge auf dem Bildschirm. C++ nicht, so müssen Sie eine Referenz-Bibliothek. Dass etwa die Hälfte der "boilerplate"; die andere Hälfte ist, dass die Programme starten, ausgeführt von einer Funktion.
  • "Geschlossen als nicht konstruktiv" - erbärmlich. Dies ist einer der größten und am meisten potenziell lehrreiche Fragen, die ich gesehen habe, auf SO...

InformationsquelleAutor Iceland_jack | 2009-08-31
Schreibe einen Kommentar