was haltet ihr von Leuten die ne Art C C++ verwenden?



  • drakon schrieb:

    Es gibt gewisse Dinge, die in C++ nicht gehen, die in C funktionieren. Das ist aber nur ein sehr kleiner Teil.

    Nur so aus Interesse: Was geht in C, was in C++ nicht geht?



  • tntnet schrieb:

    drakon schrieb:

    Es gibt gewisse Dinge, die in C++ nicht gehen, die in C funktionieren. Das ist aber nur ein sehr kleiner Teil.

    Nur so aus Interesse: Was geht in C, was in C++ nicht geht?

    Er meint sicherlich nicht Fähigkeiten. Sondern wohl eher umgesetzte Features. In C++ kannste das hier nicht machen, was aber in C geht:

    int x = 5;
    char a[x];
    

    Natürlich kann man das in C++ auf andere Art lösen:

    int x = 5;
    std::vector<char> a(x);
    

    Probleme Lösen kann man aber mit beiden Sprachen.



  • tntnet schrieb:

    Nur so aus Interesse: Was geht in C, was in C++ nicht geht?

    int* x = malloc( sizeof( int ) * 10 );
    
    assert( sizeof( char ) != sizeof( 'a' ) );
    
    // in C99
    int func( int size )
    {
        char array[ size ];
    }
    
    struct tm y = { .tm_mday = 11 };
    


  • Melan schrieb:

    Ad aCTa schrieb:

    Welches Buch war das? Das könnte ich gebrauchen, es gibt nur zu wenige gute WinAPI-Tutorien...

    Windows Programmierung von Charles Petzold ist ein sehr gutes Buch.

    Hm, hab grad darueber gelesen, dass es eher fuer C-Programmierer besser geeignet ist. Ich will jedoch nicht den gleichen Fehler wie der Threadsteller machen 😃
    Ist das Buch trotzdem empfehlenswert?



  • Eric Cartman schrieb:

    Melan schrieb:

    Ad aCTa schrieb:

    Welches Buch war das? Das könnte ich gebrauchen, es gibt nur zu wenige gute WinAPI-Tutorien...

    Windows Programmierung von Charles Petzold ist ein sehr gutes Buch.

    Hm, hab grad darueber gelesen, dass es eher fuer C-Programmierer besser geeignet ist.

    Das haben Bücher über die WinApi so an sich



  • Ich versuche Leute nicht anhand des Codes zu beurteilen, sondern anhand dessen, was dabei rauskommt. Wen interessierts, wie der Code geschrieben ist (solange es nicht C&P von der nächstbesten OSS-App ist ) solange er das macht, was er soll?
    rya.



  • scorcher24@arbyte schrieb:

    Ich versuche Leute nicht anhand des Codes zu beurteilen, sondern anhand dessen, was dabei rauskommt. Wen interessierts, wie der Code geschrieben ist (solange es nicht C&P von der nächstbesten OSS-App ist ) solange er das macht, was er soll?
    rya.

    Jeder beurteilt andere nach dem Code, das kannst du mir doch nicht erzaehlen :p
    Man kann eine Sache einfach oder auch umstaendlich loesen. Wenns umstaendlich geloest wird, zeigt das meistens eine fehlende Erfahrung.



  • scorcher24@arbyte schrieb:

    Ich versuche Leute nicht anhand des Codes zu beurteilen, sondern anhand dessen, was dabei rauskommt. Wen interessierts, wie der Code geschrieben ist (solange es nicht C&P von der nächstbesten OSS-App ist ) solange er das macht, was er soll?
    rya.

    Hä? Wie Code geschrieben ist, ist wichtig! Das hat auch was mit Wartungsfähigkeit u.ä. zu tun. Ich glaube das heißt "Nachhaltigkeit". Egal ist das nicht! Natürlich kann jeder z.B. einen eigenen Stil haben, dieser darf aber nicht zu weit abdriften, vom "guten Ton".



  • scorcher24@arbyte schrieb:

    Ich versuche Leute nicht anhand des Codes zu beurteilen, sondern anhand dessen, was dabei rauskommt. Wen interessierts, wie der Code geschrieben ist (solange es nicht C&P von der nächstbesten OSS-App ist ) solange er das macht, was er soll?

    Sehr weitsichtig ist diese Sichtweise aber nicht. Was wäre, wenn du den Code verstehen oder sogar daran weiter arbeiten müsstest?

    Zu den Fähigkeiten eines Programmierers gehört nicht nur, ein lauffähiges Programm fertig zu bringen, sondern auch Code gut zu strukturieren und somit eine effiziente Wartung und Erweiterung zu ermöglichen. Bei Frickelcode ist die Wahrscheinlichkeit auch viel höher, dass Fehler drin stecken, die man schwer findet (zum Beispiel undefiniertes Verhalten, das in 99% der Fälle gut geht).



  • ja, das war der punkt, wo man in c goto braucht.

    Nein!

    LordJaxom schrieb:

    ...
    

    Alles gekuenstelte Beispiele. Tja, man muss halt casten, assert und static assert sind in C++ verfuegbar und wer Arrays variabler Laenge auf dem Stack anlegt, sollte lieber Baecker werden.



  • knivil schrieb:

    ja, das war der punkt, wo man in c goto braucht.

    Nein!

    Man kanns auch mit ner dummen tiefen if-verschachtelung machen wenn man masochist ist...
    aber ich würde da lieber goto nehmen. goto ist nämlich garnicht böse...



  • Shade Of Mine schrieb:

    Man kanns auch mit ner dummen tiefen if-verschachtelung machen wenn man masochist ist...
    aber ich würde da lieber goto nehmen. goto ist nämlich garnicht böse...

    Dem stimme ich zu. Das gilt ganz besonders für goto's die im Code nach unten springen.
    Ich finde die Lösung von Volkard wirklich gut. Leider habe ich sowas in den Beispielen, die MS in der Doku zur API zur Verfügung stellt, nie gefunden.

    Gruß
    Werner



  • Shade Of Mine schrieb:

    goto ist nämlich garnicht böse...

    Nur wenn man vorsichtig ist und nicht wilde kreuz- und quer-Sprünge macht, die die Wartung zur Hölle machen und dafür sorgen, dass die Herrschaften von der Qualitätssicherung verfrüht ihre Rente beantragen müssen. Das selbe gilt aber auch für viele andere Dinge, die allgemein als "böse" bezeichnet werden, z.B. C-Style Pointercasts. Das Feature an sich ist nicht böse. Die Benutzung durch jemanden, der genau weiß was er tut und das auch mitteilen kann ist auch nicht böse. Solch ein Feature jemandem in die Hand zu drücken, der es dann exzessiv missbraucht und dadurch Horror-Code produziert, das ist das Böse daran.



  • Werner Salomon schrieb:

    Ich finde die Lösung von Volkard wirklich gut. Leider habe ich sowas in den Beispielen, die MS in der Doku zur API zur Verfügung stellt, nie gefunden.

    m$ verwendet für sowas __try/__finally, ein spezielles feature ihres compilers.
    🙂



  • pumuckl schrieb:

    Die Benutzung durch jemanden, der genau weiß was er tut und das auch mitteilen kann ist auch nicht böse. Solch ein Feature jemandem in die Hand zu drücken, der es dann exzessiv missbraucht und dadurch Horror-Code produziert, das ist das Böse daran.

    Das mag zwar auf der einen Seite stimmen, aber gerade was C-Casts angeht habe ich mehrere Gründe die C++ Casts vorzuziehen: Man kann leichter im Code suchen, falls man doch mal was ändern muss, oder über ein Problem stolpert.

    Es stimmt das einige Feature - nötige Kenntnisse vorausgesetzt - nicht so böse sind wie gerne gesagt, manchmal gibt es aber mehr als einen Grund warum man sie dennoch meidet...



  • Eric Cartman schrieb:

    Melan schrieb:

    Ad aCTa schrieb:

    Welches Buch war das? Das könnte ich gebrauchen, es gibt nur zu wenige gute WinAPI-Tutorien...

    Windows Programmierung von Charles Petzold ist ein sehr gutes Buch.

    Hm, hab grad darueber gelesen, dass es eher fuer C-Programmierer besser geeignet ist. Ich will jedoch nicht den gleichen Fehler wie der Threadsteller machen 😃
    Ist das Buch trotzdem empfehlenswert?

    So, wie ich das sehe, ist das das Buch zur Windowsprogrammierung. Und da Windows ja eigentlich immer an den Vorgängerversionen aufbaut, ist das auch nicht wirklich weggeworfenes Geld. Man sollte dann einfach nicht auf die Techniken und Funktionen verlassen, sondern selbst denken (um es z.B in C++ Style hinzubringen) und natürlich immer auch die aktuelle Doku offen haben, wo man die Funktionen nachschlägt und gegebenenfalls die besseren Varianten sehen kann. (sind meist am Ende in rot notiert).

    Das es für C-Programmierer besser geeignet ist liegt daran, da die API selbst C und nicht C++ ist. Daher ist das schon rein von der Struktur und der Gewohnheit eher für C-Programmierer geeignet, als C++, aber das ist imo kein wirlicher Grund das Buch zu meiden. 😉



  • Nexus schrieb:

    scorcher24@arbyte schrieb:

    Ich versuche Leute nicht anhand des Codes zu beurteilen, sondern anhand dessen, was dabei rauskommt. Wen interessierts, wie der Code geschrieben ist (solange es nicht C&P von der nächstbesten OSS-App ist ) solange er das macht, was er soll?

    Sehr weitsichtig ist diese Sichtweise aber nicht. Was wäre, wenn du den Code verstehen oder sogar daran weiter arbeiten müsstest?

    Zu den Fähigkeiten eines Programmierers gehört nicht nur, ein lauffähiges Programm fertig zu bringen, sondern auch Code gut zu strukturieren und somit eine effiziente Wartung und Erweiterung zu ermöglichen. Bei Frickelcode ist die Wahrscheinlichkeit auch viel höher, dass Fehler drin stecken, die man schwer findet (zum Beispiel undefiniertes Verhalten, das in 99% der Fälle gut geht).

    Hier trifft mal wieder der Hobbyist den Profi. Wenn ich Code nicht lesen kann oder nicht verstehen kann, weil er meinen Horizont übersteigt bzw hier in dem Fall schlecht geschrieben ist, dann mach Visual Studio zu und lass Gott nen guten Mann sein (: (oder les nen Buch dazu im ersten Fall). Egal aus welchen Gründen ich den angeschaut habe. Mir ist durchaus bewusst, dass es in der Wirtschaft und im Berufsleben anders aussieht und ich versuche immer, meinen eigenen Code so gut wie möglich zu organisieren und zu strukturieren, was mir allerdings auch nicht immer gelingt, das muss ich zugeben.
    rya.



  • Shade Of Mine schrieb:

    goto ist nämlich garnicht böse...

    sicher? 🤡

    (SCNR)



  • knivil schrieb:

    Alles gekuenstelte Beispiele. Tja, man muss halt casten, assert und static assert sind in C++ verfuegbar und wer Arrays variabler Laenge auf dem Stack anlegt, sollte lieber Baecker werden.

    Wenn Du das meinst, bleibt ja immernoch die explizite Initialisierung von Array- und Struct-Membern als Alleinstellungsmerkmal für C.


Anmelden zum Antworten