C++ online Wissenstest



  • hallo

    gibt es einen deutschen C++ online wissenstest? ich finde leider nur einige auf englisch. zwar ist mein englisch nicht schlecht, aber ich möchte gerne einen auf deutsch machen. ich programmiere seit 9 jahren in C++ und möchte meine selbsteinschätzung mal testen, da ich vielmehr learning by doing gelernt habe und kaum auf die STL zurückgreife sondern vielmehr puren C++ code schreibe und VCL verwende. weiss jemand einen link?



  • nein? :p



  • quizzer schrieb:

    und kaum auf die STL zurückgreife sondern vielmehr puren C++ code schreibe

    ... und ich hätte immer gedacht die STL sei purer C++ Code... *scnr*



  • pumuckl schrieb:

    ... und ich hätte immer gedacht die STL sei purer C++ Code... *scnr*

    Auf jedenfall mehr als die VCL 😉

    @quizzer: Die STL ist Teil der Standardbibliothek, und wie der Name schon sagt Teil des C++ Standards von 1998. Wenn man ein C++ Quiz machen würde, wäre die Standardbibliothek also integraler Bestandteil. Die VCL wiederum ist eine Compilerspezifische Bibliothek die keiner Standardisierung unterliegt.

    Falls du ein Onlinequiz suchst, würde in englisch die folgende Seite wohl noch am ehesten zutreffen: Guru of the Week



  • quizzer schrieb:

    gibt es einen deutschen C++ online wissenstest?

    these: wenn der unterschied zwischen deutsch- und englischsprachigem test tatsächlich eine rolle spielt, kann man sich den wissenstest auch sparen. weil man dann noch gar nicht genug gelesen haben kann, um wirklich was drauf zu haben.



  • pwned?.....
    *nod*yeah pwned 😃



  • hallo leute

    also die STL mag zwar bestandteil sein und ist sicherlich in C++ zum grössten teil gesschrieben, aber eben, es ist eine bibliothek. wenn ich von purem C++ rede, dann rede ich von den sprachfeatures die C++ fixiert anbietet. fixiert bedeutet, die programmiersprache wird aus einer struktur gebildet, also variablen, funktionne, zeiger, klassen, etc. und natürlich die ganze anwendungsphilosophie davon. STL, VCL, MFC und wie auch immer, wurde schlussendlich in C, C++, assembler oder object pascal geschrieben, welches uns wieder auf eine programmiersprachen struktur zurückführt. ;).

    was das deutsch angeht: sicherlich gibt es keine unterschiebe bei deutscher oder englischer literatur, aber, auch wenn ich seit 9 jahren in C++ meine applikationen schreibe, und mein englisch sicher nicht das schlechteste ist, wäre es mir einfach flüssiger lesbarer mit einem deutschen quiz. 🕶

    so long



  • die STL ist Bestandteil von C++ so wie es int, Operatorüberladung, new, Klassen, #include-Direktiven und alle anderen Sprachfeatures auch sind.
    C++ ohne STL ist wie Java ohne die Klasse Object: keine vollständige Sprache.



  • Naja, ganz so drastisch ist's nun nicht. Du hast auch immernoch eine funktionierende Sprache, wenn du alle lib.* Sachen bis auf lib.language.support aus dem Standard entfernst.



  • quizzer schrieb:

    also die STL mag zwar bestandteil sein und ist sicherlich in C++ zum grössten teil gesschrieben

    Ich würde mal meinen, sie sei reines C++. Und mit C++ meint man die Standardbibliothek, nicht nur die rohen Sprachfeatures an sich. Die Standardbibliothek baut ja auch auf letztgenannten auf.



  • @ pumuckl: nun, da haben wir wohl völlig andere ansichten darüber. für viele mag das ja so sein, für mich aber nicht. eine programmiersprache bildet immer nur der kern. für mich ist C++ als programmiersprache DIE sprache ansich. aus den sprachfeatures entstehen ja erst die ganzen programme, ja, auch die STL. insofern, was wäre die STL ohne das nackte C++? garnichts. die programmiersprache ist für mich sowas wie die erde, oder wie gott. die STL ist vielmehr ein bereich der erde, wo es verschiedene möglichkeiten zum anwenden gibt. gäbe es die reine erde nicht, gäbe es auch keine bereiche.

    Und mit C++ meint man die Standardbibliothek, nicht nur die rohen Sprachfeatures an sich

    gut da kann jeder seine meinung darüber haben. für mich ist es eben genau umgekehrt wie nun bereits erwähnt. die STL ist C++, C++ ist C++ :).

    Die Standardbibliothek baut ja auch auf letztgenannten auf.

    eben...



  • @ pumuckl: nun, da haben wir wohl völlig andere ansichten darüber. für viele mag das ja so sein, für mich aber nicht. eine programmiersprache bildet immer nur der kern. für mich ist C++ als programmiersprache DIE sprache ansich. aus den sprachfeatures entstehen ja erst die ganzen programme, ja, auch die STL.

    Ich verstehe durchaus, was du meinst. Aber es ist einfach falsch. Der Standard besagt, dass die STL zu C++ gehört. C++ wird als das ganze angeschaut.
    Schlussendlich könnte man die Sprache noch auf ein viel tiefere Basis schrauben, da man einen Haufen ja einfach durch die dann vorhandenen Mittel aufbauen kann.
    Ansich hätte man ja for/while auch nicht aufnehmen müssen. Man hat ja goto, mit dem sich das ganz leicht erstezen lässt.

    OK. Das ganze ist sehr pingelig angeschaut. Aber schauen wir das mal von einem anderen Punkt an. Wenn sich jemand bei mir bewirbt und sagt, dass er C++ kann, dann erwarte ich, dass dijenige Person die STL kennt und auch benutzen kann. Ich erwarte nicht unbedingt, dass er boost in vollem Umfang kennt/benutzen kann, da nicht alles relevant ist. Die STL ist aber relevant und ist somit absoluter Bestandteil der Voraussetzung, dass man behaupten kann C++ programmieren zu können. (Obwohl das alleine auch nicht wirklich so viel aussagen muss..)



  • Da stimme ich drakon zu.
    Einen Bewerber, der behauptet c++ zu können, aber noch nie mit der STL gearbeitet hat, würde ich sofort wieder nach Hause schicken.

    Nicht nachvollziehn kann ich außerdem, wie man sich 9 Jahre um die STL drücken kann, oder warum man das auch nur will. Es ist doch schön wenn man auf speicherselbstverwaltende Strukturen, wie listen, deques, vectoren und assoziative Container zurückgreifen kann.

    Sowas bietet meines Wissens auch die VCL nicht.



  • was die STL angeht hast du sicher recht, das sehe ich schon auch so. jedoch ist für mich jemand der die programiersprache als sollche, also alle fixen sprachfeatures kennt und beherscht, also weiss, wie er damit umgehen kann, ein bereits guter programmierer. weil der kern einer sprache macht es für mich schlussendlich aus. wenn man die programmiersprache, unabhängig von bibliotheken, versteht - hat man es nicht besonders schwer bibliotheken zu verwenden und das ist für mich ausschalggebend. jemand der such von grundauf nur mit API's oder bibliotheken ausserander setzt jedoch nicht weiss was hinter polymorphie, vererbung, pointer oder klassen ansich steckt, oder gar wie eine funktion ausgebaut ist und wie sie zum arbeiten bringt, der wird mit STL und co. nichts anfangen können. fazit: ohne das wissen über die eigentliche programmiersprache geht garnichts. mit dem wissen einer programmiersprache kann man sich bibliotheken wie die STL selber schreiben und das alles nur mit reinem nackten C++ code.

    ohne es genau zu wissen, wette ich jedoch, das man mit ganz viel C++ und ein bisschen assembler (wird nötig, wegen grafischer ausgabe) ein std::cout ganz ohne die STL schreiben kann. versteht ihr nun was ich meine? alles ist immer vom kern der sprachfeatures abhängig. und der sprachkern, das finde ich ist eine interessante philosophie: er ist fix, bietet aber grenzenlosigkeit.

    ich mag für viele eine eigenartige meinung über das programmieren haben, aber so bin ich nunmal 🕶 für mich steckt viel mehr dahinter als nur eine aussage wie "C++ lernen, das und dies ist der standard, das alles kann man, das alles gibt es". dazu sage ich nur, jeder soll sich eine eigene welt der programmierung aufbauen und für sich das richtige setzen.



  • quizzer schrieb:

    ...alles nur mit reinem nackten C++ code.

    Und du magst auch weiterhin dieser Meinung sein aber wenn es ein C++ Quiz gäbe, so wäre in meinen Augen der Umfang den der C++ Standard abdeckt Inhalt, und nicht die persönliche Meinung eines einzelnen.

    cu André



  • quizzer schrieb:

    ...letzter Post...

    Für mich impliziert "C++" Standard C++ nach ISO/IEC 14882. Und ohne die STL ist C++ demnach kein C++, weil es nicht standardkonform ist.
    Ansonsten kann man gleich damit argumentieren, dass man solch einen Quiz auch mit reinen Pascal-Kenntnissen bestehen kann, weil man sich ja mit Pascal einen C++ Compiler schreiben kann (sinngemaess das, was Du als Argument gegen die STL aufführst).



  • Ich denke was er damit sagen will ist: Man kann jegliche Anforderung auch ohne STL erfüllen. Mit mindestens gleichwertiger Performance.

    Und ihr sagt ja selber, dass die STL in C++ programmiert ist. Das ist ein Widerspruch. Weil die STL ja zum C++ Standard gehört und in C++ programmiert ist, ist sozusagen die STL mit der STL programmiert.

    Wenn ihr versucht diesen Widerspruch aufzulösen kommt man automatisch dahin, dass entweder die STL nicht zu C++ gehört, oder die STL nicht im 98er C++ Standard programmiert wurde, sondern in einem älteren ( so wirds wohl auch gewesen sein 😉 ).



  • It0101 schrieb:

    Ich denke was er damit sagen will ist: Man kann jegliche Anforderung auch ohne STL erfüllen. Mit mindestens gleichwertiger Performance.

    Und ihr sagt ja selber, dass die STL in C++ programmiert ist. Das ist ein Widerspruch. Weil die STL ja zum C++ Standard gehört und in C++ programmiert ist, ist sozusagen die STL mit der STL programmiert.

    Wenn ihr versucht diesen Widerspruch aufzulösen kommt man automatisch dahin, dass entweder die STL nicht zu C++ gehört, oder die STL nicht im 98er C++ Standard programmiert wurde, sondern in einem älteren ( so wirds wohl auch gewesen sein 😉 ).

    Was soll daran widersprüchlich sein? Sobald Du eine Compilersource hast, kannst Du sie mit einem anderen Compiler bauen. Sobald man das getan hat, kann man den Compiler auch mit sich selbst bauen.
    Und mit älteren Standards zu argumentieren ist totaler Blödsinn...



  • It0101 schrieb:

    Und ihr sagt ja selber, dass die STL in C++ programmiert ist. Das ist ein Widerspruch.

    Ist es nicht. Die STL als Bestandteil des C++-Standard ist nicht programmiert. Theoretisch müsste es die STL als Bibliothek nichtmal geben, um den C++-Standard zu verabschieden. Denn die STL als Standard ist lediglich eine Schnittstellenspezifikation. Die STL als Bibliothek wird dann nach den Anforderungen der STL als Standard mit den Mitteln der Sprache umgesetzt.

    So gesehen ist also die Implementierung des einen Teils des C++-Standards (STL) mit den Mitteln des anderen Teils des C++-Standards (Sprache) möglich. Aber die STL (als Standard) ist nicht in C++ geschrieben, sondern in Englisch 😃


  • Administrator

    Die STL gehört DEFINITIV NICHT zum C++ Standard!

    Über die Standardbibliothek könnte man natürlich streiten :p
    *SCNR*
    So viel STL und dabei ist eigentlich immer die Standardbibliothek gemeint ...

    Grüssli


Anmelden zum Antworten