Was sollte ein professioneller C++ Entwickler kennen und können?



  • knivil schrieb:

    Da hilft Mathe mehr als UML.

    😃 Naja, die UML ist doch nicht so schlecht. Ich kann aber auch nicht die Meinung meiner ehem. Prof's teilen, welches alles in UML machen wollten.

    Ich nutze die UML nur um mir selbst Algorithmen zu verdeutlichen/strukturieren. Bei erweiterten Stringmanipulationen helfen Statecharts, bei der Darstellung von Algorithmen helfen Aktivitätsdiagramme, bei Übermittlung von Nachrichten helfen Sequenzdiagramme, bei der Strukturierung von Programmen helfen Klassendiagramme.

    Die UML ist keine Musterlösung für's Entwickeln von Software. Aber sie liefert für mich wichtige Tools zur Entwicklung von Algorithmen und wurde so schon längst zum Teil meiner Doku.

    Beispielausgabe: Ein String besteht aus mehreren Gleitkommazahlen, welche unterschiedliche Dezimaltrennzeichen haben können. Dieser String soll nun in die einzelnen Gleitkommazahlen zerlegt werden. Was liegt mir hier näher als einen Zustandsautomaten für das Problem zu entwerfen und diesen eins zu eins zu implementieren ?

    @noch ein Dilettant
    Wenn der Schaden hoch genug ist, ist jeder bedingt haftbar wenn er fahrlässig gehandelt hat weil er nicht nach dem neusten Stand der Technik entwickelt hat. Also muss potenziell jeder, welcher am Projekt beteiligt ist, auf die Sicherheit achten.
    Du kannst als Entwickler nicht erwarten dass man dich unschuldig spricht wenn du keine Testreihen hast, weil im Pflichtenheft keine vorgesehen waren, und deine fehlerhafte Software 100 Menschen das Leben gekostet hat.

    Aus diesem Grund ist dein Vergleich mit einem Arbeiter auch ein wenig mager. Der Schaden ist im Vergleich minimal. Ein Arbeiterfehler kann maximal 100 Auto's zerstören, ein Softwarefehler potenziell eine ganze Serie.



  • noch ein Dilettant schrieb:

    • Welche Kenntnisse von Uni/FH/Ausbildung waren wirklich hilfreich?

    SNMP



  • volkard schrieb:

    noch ein Dilettant schrieb:

    • Welche Kenntnisse von Uni/FH/Ausbildung waren wirklich hilfreich?

    SNMP

    dann hat sichs ja gelohnt 😉



  • noch ein Dilettant schrieb:

    Was sollte ein professioneller C++ Entwickler kennen und können?

    Das hängt sehr, sehr stark von der konkreten Arbeitsstelle ab. Ich brauchte bis heute keinerlei spezielle Mathe- bzw. Algorithmenkenntnisse die man nicht über logisches Denkvermögen herableiten kann (Selbst gewisse OS-Kenntnisse haben mit bislang mehr genützt). Einige andere wiederum haben damit täglich zu tun.

    noch ein Dilettant schrieb:

    Welche Kenntnisse von Uni/FH/Ausbildung waren wirklich hilfreich?

    Die Fähigkeit zu lernen. Wobei (und das trifft leider auf einige zu) diese Fähigkeit auch nicht nach dem Studium verkümmern sollte. Ich kenne nicht wenige die sich nach dem Studium maximal noch in ein-zwei Themen eingearbeitet haben, und anschließend sich darauf ausgeruht haben.

    Ich glaube das einzige was man wirklich allgemein Verwenden kann, ist logisches Denkvermögen und die Fähigkeit zu lernen. Selbst bei Tools und Frameworks sieht es schon sehr gemischt aus (und Entwicklungsmethoden... sorry, aber ich war bislang nur in kleineren Betrieben und kann mir ein schmunzel hier nicht ganz verkneifen).



  • Bitte ein Bit schrieb:

    Du kannst als Entwickler nicht erwarten dass man dich unschuldig spricht wenn du keine Testreihen hast, weil im Pflichtenheft keine vorgesehen waren, und deine fehlerhafte Software 100 Menschen das Leben gekostet hat.

    Wenn bei einer sicherheitsrelevanten Software vor der Auslieferung nicht eine gute Qualitätssicherung und umfassende Tests durchgeführt werden und deshalb ein fehlerhaftes in Umlauf kommt, dann ist das nicht Schuld des Entwicklers. Vielmehr Schuld derjenigen die entweder die falschen Prozesse aufgesetzt haben (keine ordentliche QS oder kein testing eingeplant haben) oder derjenigen, die diese Prozesse umgangen haben, indem sie die QS oder das Testen abgekürzt oder umgangen haben.
    So oder so wird der Entwickler oder die Tester usw. nicht in erster Linie dafür haften sondern die Firma, die für ihre Erfüllungsgehilfen grundsätzlich haften muss.
    Bei dem Auto, dessen fehlerhafte Software Menschenleben gekostet hat, würde zuerst einmal der Autohersteller gegenüber den geschädigten haften, danach haftet im Rahmen der Vertragslage die Zuliefererfirma/Softwarefirma, soweit nicht nachgewiesen werden kann, dass sie gegen ihre Pflichten im Rahmen des Vertrags verstoßen hat, und dann kann diese Firma den Entwickler oder Tester etc. haftbar machen, allerdings nur dann, wenn der nachgewiesenermaßen fahrlässig gehandelt hat.



  • pumuckl schrieb:

    ...und dann kann diese Firma den Entwickler oder Tester etc. haftbar machen, allerdings nur dann, wenn der nachgewiesenermaßen fahrlässig gehandelt hat.

    Manchmal stehen Firmen in enormen Zeitdruck, und da kann es ganz plötzlich sein, das man bewusst gewisse Fehler in Kauf nimmt ("Der Kunde wird es eh erst nach der Gewährleistung bemerken"). Problematisch ist es vor allem wenn dir durchaus bewusst ist, was du für einen Schaden in diesem Fall verursachen kannst.

    Manchmal sollte man lieber bestimmte Aufgaben verwehren, als sie umzusetzen - selbst auf die Gefahr hin gekündigt zu werden. Ich habe einmal etwas verweigert, mit dem Hinweis das ich dies nur auf schriftliche Aufforderung durchführe. Es hatte mir damals nicht den Job gekostet, wohl aber einiges an Stress eingebracht (und glaubt mal nicht das ich die schriftliche Aufforderung erhalten hätte), zum Glück war das Thema damit zumindest für mich durch (Ich habe auch nie erfahren was damit passiert ist, und der Kunde ist auch abgesprungen - was mir vorgehalten wurde).



  • die UML ist doch nicht so schlecht.

    Genau da scheiden sich die Geister. Bildchen hat man vorher auch schon gemalt. Deine Beispiele sind aber auf die Implementation bezogen. Algorithmen sind davon unabhaengig. UML hilft vielleicht eine bestimmte Implementation zu verstehen.



  • Ein professioneller C++ Entwickler sollte immer den kompliziertesten Weg einschlagen, alle möglichen Designpattern auf den Code klatschen (auch wenn es nicht nötig ist) und auch sonst behaupten, dass C nichts mit C++ zu tun hat.

    Wenn du diese Kriterien erfüllst, dann bist du zwar ein Trottel aber dafür ein professioneller C++ Programmierer.

    In diesem Sinne noch, einen schönen Tag.

    PS: Was macht denn das Zeichen des roten Kreuzes hier? :hoppschwiiz: :hoppschwiiz: :hoppschwiiz:



  • wtflol schrieb:

    Ein professioneller C++ Entwickler sollte immer den kompliziertesten Weg einschlagen, alle möglichen Designpattern auf den Code klatschen (auch wenn es nicht nötig ist) und auch sonst behaupten, dass C nichts mit C++ zu tun hat.

    Du verwechselst da was. Es ist genau andersrum.

    wtflol schrieb:

    PS: Was macht denn das Zeichen des roten Kreuzes hier? :hoppschwiiz: :hoppschwiiz: :hoppschwiiz:

    Du verwechselst da was. Es ist genau andersrum.



  • Die haben das weiße kreuz nicht richtig hin bekommen http://www.wk-cb.bz.it/ :hoppschwiiz:

    Ein professioneller C++ Entwickler muss mindestens 3 boost::bind in einer Zeile Code unterbekommen.



  • erkenner schrieb:

    Ein professioneller C++ Entwickler muss mindestens 3 boost::bind in einer Zeile Code unterbekommen.

    Zeilen können in einer freiformatierten Sprache wie C oder C++ beliebig lang sein, und daher ist es kein problem, beliebig viele boost::bind darin unterzubringen.

    Ansonsten danke allen, die bisher ihre (ernsthafte) Meinung gesagt haben und freue mich auch auf weiters Feedback.

    Wer C++ als Sprache für die professionelle Softwareentwicklung in Frage stellen will, kann auch gerne Alternativen aufzeigen, sollte dies aber auch gut begründen können.

    Ansonsten werden natürlich wieder die größten Trottel die Fußball WM gewinnen. Wer mit mehr als 3Jahren noch seinen Daseinszweck darin sieht, einem Ball hinterherzurennen, ist grenzdebil. Wer dafür absichtlich andere Menschen verletzt, gehört in die Anstalt. Eine Gesellschaft, die für sowas Milliarden ausgibt, ist krank.



  • noch ein Dilettant schrieb:

    erkenner schrieb:

    Ein professioneller C++ Entwickler muss mindestens 3 boost::bind in einer Zeile Code unterbekommen.

    Zeilen können in einer freiformatierten Sprache wie C oder C++ beliebig lang sein, und daher ist es kein problem, beliebig viele boost::bind darin unterzubringen.

    musst dich nicht dümmer stellen als du bist

    Wer C++ als Sprache für die professionelle Softwareentwicklung in Frage stellen will, kann auch gerne Alternativen aufzeigen, sollte dies aber auch gut begründen können.

    Ziemlich dumme Aussage, wenn du sie nicht auf ein Anwendungsgebiet beschränkst.



  • noch ein Dilettant schrieb:

    Wer C++ als Sprache für die professionelle Softwareentwicklung in Frage stellen will, kann auch gerne Alternativen aufzeigen, sollte dies aber auch gut begründen können.

    Alternative: Haskell
    Begründung: Darin kann man noch koplizierteren Code schreiben.



  • noch ein Dilettant schrieb:

    Wer C++ als Sprache für die professionelle Softwareentwicklung in Frage stellen will, kann auch gerne Alternativen aufzeigen, sollte dies aber auch gut begründen können.

    Die Programmiersprache D.

    Begründung:
    Ist durchdachter, hat nicht so viele Fallstricke und ist nicht wie C++ Stück für Stück gewachsen was nur zu Altballast führen würde.

    So und jetzt dürfen die Trolle wieder auf D rumhacken.



  • noch ein Dilettant schrieb:

    Wer C++ als Sprache für die professionelle Softwareentwicklung in Frage stellen will, kann auch gerne Alternativen aufzeigen, sollte dies aber auch gut begründen können.

    C++ ist eine aussterbene Sprache die immer noch auf dem Stand vom letzen Jahrtausend ist. C++ hat Unmengen an Bugs http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html. Const-correctness funktioniert nur mit workarounds...

    Nimmt C# oder Java oder Python



  • Könnte ein Moderator bitte diesen Thread schließen? Da verkommen vermutlich ernst gemeinte Fragen doch eh nur zu einer Farce.



  • Oder alle Beiträge von Unregs rauslöschen.



  • asc schrieb:

    Könnte ein Moderator bitte diesen Thread schließen? Da verkommen vermutlich ernst gemeinte Fragen doch eh nur zu einer Farce.

    Warum? Angst vor der Wahrheit? Oder fühlst du dich in deinem elitären "ich-bin-c++-programmierer"-Gefühl gekränkt, da der Hype um C++ seit geschätzten 17.89 Jahren vorbei ist?

    @D: Diese Sprache ist zwar ganz nett, aber das wars dann auch schon. Naja gut, im Vergleich zu C++ ist D natürlich sehr gut. Aber welche ernsthafte Sprache vergleicht sich heutzutage noch mit C++? Das wäre so als ob ein Maurer heutzutage sich an der Bauweise der Berliner Mauer orientieren würde.



  • Tyrdal schrieb:

    Oder alle Beiträge von Unregs rauslöschen.

    Oder Forum nach China verlegen. Dort werden ungeliebete Beiträge auch gerne gelöscht.



  • genau schrieb:

    Tyrdal schrieb:

    Oder alle Beiträge von Unregs rauslöschen.

    Oder Forum nach China verlegen. Dort werden ungeliebete Beiträge auch gerne gelöscht.

    💡 eher in ein offshore land 😋 👍 🤡


Anmelden zum Antworten