Software machen - Das schwerste wo gibt?



  • tntnet schrieb:

    Und wir haben neue Kellerfenster bekommen, von denen einer aufgrund eines Produktionsfehlers bald gesprungen ist.

    Schon. Aber die Glasfirma muss sich auch nicht "nur" hinsetzen und ein einziges Mal das ultimative Kellerfenster bauen und kann dann lauter exakte Kopien davon ausliefern. Bei Software ist das eben schon der Fall.



  • vista schrieb:

    Apollon schrieb:

    Software ist das komplexeste was der Mensch bislang geschaffen hat.

    unsinn!

    Mehr ist dir wohl nicht eingefallen.



  • Ok , was ist den komplexer als Software? Wenn wir mal nicht grad von nem "Hello World" Programm reden?



  • BorisDieKlinge schrieb:

    Ok , was ist den komplexer als Software? Wenn wir mal nicht grad von nem "Hello World" Programm reden?

    Nenn mir ein objektives Verfahren zur Bemessung von Komplexität. Was ist komplexer: Ne 3D Engine oder der Bau einer Pyramide.
    => Die Fragestellung is Müll^^



  • Fehler im Code sind doch gut, sonst wären wir immer noch Protozoen 🤡



  • ne 3D engine is komplexer..



  • BorisDieKlinge schrieb:

    ne 3D engine is komplexer..

    es kommt auf das umfeld drauf an.... für uns heute ja.... für die Ägypter damals war es eine hoch leistung.
    Heute belächeln wir die erfindung des rades.... aber es ist im grund für die damalige Situation eine meisterleistung. Man kann vom heutigen stand da nichts beurteilen.



  • Stellen wir mal das "Rad" und ne "3D engine" ins Verhältnis...

    würe damals als das "Rad" erfunden wurde ne "3D Engine" erfunden wie weit wären wir jetzt?

    Glaube es gibt grenzen des Denkens sich ein rad und ihre funktionsweise vorzusellen ist ja ganze enfach ... sich die funktionweise ne 3D Engie vorzusellen nicht.. auch in 100 jahren nicht, kommt dem menschen "ne 3D Engine" so einfach vor wie uns das Rad.



  • Dinge die Menschen bzw. Firmen herstellen sind einfach so gut, wie es notwendig ist, um sie zu verkaufen.
    Eine CPU ist deswegen im Normalfall Fehlerfrei, weil man sie kaum verkaufen könnte, wenn sie nen Fehler hätte. Trotzdem passiert es - ein Pentium der ersten Generation kann ja nichtmal Rechnen (uh-oh, Übertreibungs-Alarm *g*).

    Was andere Chips angeht, z.B. Mainboard Chipsets, sieht man dass hier durchaus (wesentlich) mehr Fehler passieren (ganz einfach weil billiger produziert wird), und dass hier auch ganz deutlich zu sehen ist: wo mehr verlangt wird, wir dauch mehr geboten. Ein SiS oder VIA Chipset für ein "30€ Mainboard aus dem Kaugummiautomaten" fehlerfrei? Würde ich schon als sensationellen Glücksfall bezeichnen. Nach ein paar Monaten haben die Hersteller die Fehler dann meist soweit im Griff dass sie sie mit dem BIOS irgendwie maskieren können, aber wer kennt das nicht dass man Karte X in Mainboard Y steckt, und nixmehr geht? Und dann im Inet in diversen Foren 100e Beiträge findet ala "ja, das Chipset Z verträgt sich halt nicht mit Karte X - hatte das gleiche Problem" blabla. Guckt man sich dagegen Chipsets für Server Mainboard an... passiert da seltsamerweise weniger, obwohl die oft komplizierter sind (2, 4, 8 Sockel, komplizierte Speicherarchitektur, ...), der Markt kleiner ist (d.h. zusätzliche Entwicklungszeit deutlich mehr in den Pro-Stück-Preis eingeht), etc.

    Genauso ein Auto welches andauernd kaputtgeht ist schwer zu verkaufen. Allerdings sind wie man sieht auch hier die Qualitätsansprüche nicht so hoch dass Mercedes oder BMW Pleite machen müssten -- an der (mangelnden) "Fehlerfreiheit" ihrer Produkte gemessen hätten es beide verdient.

    Programme wie Word, IE aber auch Firefox und Open Office haben nicht nur deswegen so viele Fehler weil sie so komplex sind, sondern auch weil es egal ist, weil die Leute die sowas verwenden keine so hohen Ansprüche stellen. Weiters ist natürlich ein Faktor den man nicht vergessen darf die Verfügbarkeit von besseren (und zumindest nicht wesentlich teureren) Alternativen. Source Safe wird deswegen so oft verwendet weil viele Firmen es mit der MSDN Subscription mitbekommen haben, also quasi "gratis" -- nicht weil SourceSafe so gut oder gar fehlerfrei (lol) wäre. Oder konkreter: wenn es keine Software gibt die das was ich will macht und nicht voll mit Bugs ist, dann kaufe ich halt auch was Fehlerbehaftetes. Bzw. wenn es keine Alternative gibt die ich mir leisten kann (oder will).

    In anderen Bereichen wieder trifft man häufig auf fehlerfreie Software, bzw. wenigstens so-gut-wie fehlerfreie. Ich hätte z.B. noch nie gehört dass die Software die den Laser bei Augenoperationen steuert (Hornhaut lasern z.B. - *ziemlich* kritische Sache) so nen wilden Knopf gehabt hätte dass sie wem das Aug zerschiesst. Ganz einfach deswegen weil so ein System niemals verkauft werden könnte, wenn die Software einmal in der Art versagt.

    ----

    Kurz: Software ist deswegen so oft fehlerhaft, weil der Markt es verzeiht - anders gesagt: weil sie es sich leisten kann. Die Software. Blubb 🙂



  • BorisDieKlinge schrieb:

    ohh man... was bist du für einer? grün hinter den ohren;)

    Was hast du denn auf die Diplomarbeit bekommen?

    hustbaer schrieb:

    Kurz: Software ist deswegen so oft fehlerhaft, weil der Markt es verzeiht - anders gesagt: weil sie es sich leisten kann. Die Software. Blubb 🙂

    Ist wohl die beste Erklärung.



  • 1,3 mit Sternchen 😉 und nen guten Job;)



  • Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".



  • Die Dynamic einer Software macht die Sache komplex!

    Ein Haus wird konstruiert und gebaut.. fertig!!

    Eine Software wir lebt auf eine Art. Sie ist dynamisch die Strukturen verändert sich intern je nach Anwendungfall etc. Der code repereseniter dein Statisches Muster eines Dynamischen ablaufs (OO, Multithreading,etc.)... Das ist das Problem man kann im vorraus nicht immer das 100% komplette Verhalten der Späteren Laufzeit abdecken... Das macht die Sache kompliziert...



  • Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Wieso nicht?



  • BorisDieKlinge schrieb:

    Die Dynamic einer Software macht die Sache komplex!

    Ein Haus wird konstruiert und gebaut.. fertig!!

    Eine Software wir lebt auf eine Art. Sie ist dynamisch die Strukturen verändert sich intern je nach Anwendungfall etc. Der code repereseniter dein Statisches Muster eines Dynamischen ablaufs (OO, Multithreading,etc.)... Das ist das Problem man kann im v****** nicht immer das 100% komplette Verhalten der Späteren Laufzeit abdecken... Das macht die Sache kompliziert...

    Neee, klar, und der Architekt/Bauingeneur weiss genau, was in den nexten 20 Jahren auf ein Haus zukommt 🙄



  • Klar weiss es der Architekt/Bauingeneur. Deswegen bauen z.B. Japaner besonders erdbebensicher.

    hustbaer schrieb:

    Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Wieso nicht?

    Weil 10 Jahre Entwicklungszeit, 7 Milliarden Euro, und Menschenleben ebenso eine *ziemlich* kritische Sache ist und es da nicht egal war, ob die verwendete Software Fehler hat.



  • Blue-Tiger schrieb:

    BorisDieKlinge schrieb:

    Die Dynamic einer Software macht die Sache komplex!

    Ein Haus wird konstruiert und gebaut.. fertig!!

    Eine Software wir lebt auf eine Art. Sie ist dynamisch die Strukturen verändert sich intern je nach Anwendungfall etc. Der code repereseniter dein Statisches Muster eines Dynamischen ablaufs (OO, Multithreading,etc.)... Das ist das Problem man kann im v****** nicht immer das 100% komplette Verhalten der Späteren Laufzeit abdecken... Das macht die Sache kompliziert...

    Neee, klar, und der Architekt/Bauingeneur weiss genau, was in den nexten 20 Jahren auf ein Haus zukommt 🙄

    Hoffentlich ja! Kann mir nicht vorstellen, das Stürme, Schnee, Regen usw. nicht bedacht werden. Bei Autos ist das auch so: die werden so getestet, als wenn man 20 Jahre damit fährt. Die werden so ebendmal in der heissesten Wüste getestet, da wo es arsch kalt ist und eh niemand normalerweise Auto fährt. Usw. usw. Kann sich die Software-Industrie ne Scheibe von abschneiden!

    Klar, wenn ein Flugzeug auf ein Haus kracht, kann das der Architekt auch nicht "sehen". Aber das ist ja dann auch eher nicht der Normalfall. Wenn ich meine Festplatte formatiere, beschwere ich mich ja auch nicht, warum auf einmal Windows weg ist. 😉



  • Artchi schrieb:

    Wenn ich meine Festplatte formatiere, beschwere ich mich ja auch nicht, warum auf einmal Windows weg ist. 😉

    Du vielleicht nicht...



  • Ich denke zum einen ist Software-Testing noch nicht so weit, wie es seien sollte. Während man heute Häuser, Autos etc. in Simulatoren testet, die alle möglichen Fälle simulieren, wird Software eher über das anwenden oder Unit-Tests getestet. Ich denke mehr Fuzzy-Testing bei Software würde helfen. Dann gibt es für Häuser, Autos und Flugzeuge auch andere Qualitätsnormen. Gibt es für Software überhaupt vergleichbares?

    Es gibt denke ich auch extreme Unterschiede zwischen dem Vorgehen einer Software-Firma und der einer Auto-Firma oder einem anderen Ingenieurs-Bereich.

    Die Komponenten eines Autos haben eben gewisse Kriterien und Zulassungsgrenzen, die man einfacher festhalten kann. Entwirft man nun ein neues Auto, kann man leichter prüfen welche Komponenten man weiterhin verwenden kann, modifizieren oder gar neu entwickeln muss, da man die neuen Anforderungen einfach mit den Design-Anforderungen vergleichen kann.

    Bei Software sind die Anforderungen ja oft sehr Waage. Man kann schlecht abschätzen, wie die Software in 5 Jahren modifiziert werden wird. Und die meisten Software-Projekte werden ja nicht komplett neu geschrieben. Windows, OpenOffice, Firefox, Internet Explorer etc. enthalten ja Jahr(zehnte)e alten Code. Da wird eben aus einem Autofahrgestell am Ende ein Raketenmotor. Damit konnte man aber am Anfang gar nicht rechnen.

    Apollon schrieb:

    Die Ariane 5 war urspruenglich als bemannte Mission geplant und kostete 7 Milliarden Euro. Troztdem ist sie explodiert. Das deckt sich nicht mit der Erklaerung des "gnaedigen Marktes".

    Die ist doch explodiert, weil man lieber 7, als 8 Milliarden ausgeben wollte, um die ganze Software neu zu implementieren...



  • Hem, also eigentlich unterscheidet sich die Arbeit der Autoentwickler nicht wirklich von der, der Software entwickler. Bis auf das Testing! Da habe ich ja gesagt, das sich die Software-Industrie ne Scheibe abschneiden kann.

    Mein Bruder hat Fzg-Technik studiert und arbeitet in einer Motorsportfirma als Berechner und Diplom-Arbeit hat er bei VW gemacht. Nun, was meinste was die für Testing und Balancing alles an Zeit und somit Geld stecken? Klar können die vieles über Software simulieren. Aber trotzdem gehen die auf die Teststrecke und für Serienfahrzeuge in die Wüste oder den Polarkreis. VW hat alleine für das Fahrwerk-Balancing des aktuellen Golf GTI knapp 12 Monate gebraucht. Erfahrung ist schön und gut, aber sobald du nen neuen oder neuartigen Motor einbaust, haste ein anderes Fahrverhalten. Dann geht die Arbeit von vorne los, bei null.

    Sowas wie Grenzwerte gibt es nicht, eher umgekehrt. Wenn du nen Bugatti Veyron mit 1001 PS baust (die Dinger fahren ja hier in Wolfsburg rum), muß halt einfach nur die Bremsanlage mehr 1001 PS haben. Aber die mußt erstmal 1001 PS auf die Strasse bringen. Zeitweise hat VW den Veyron sogar verworfen und neu angefangen, weil 1001 PS einfach nicht so zu fahren gingen, wie man es sich vorgestellt hatte.

    Also, es ist völlig egal ob du nen Compactwagen mit "nur" 200 PS baust, oder nen Brummer mit 1001 PS. Die Auto-Ingineure fangen jedes Auto bei null an!!! Erfahrungswerte zählen natürlich, aber schon alleine ein anderer Radstand zwingt dich das Auto neu zu balancieren. Was meinste warum der VW-Konzern keine heckgetriebenen Autos hat? 😉

    Selbst Autos wie der VW Fox werden mit Sonderkonstruktionsblättern (sozusagen die Changerequests bei der VW-Planung) überhäuft, weil irgendwas nicht hinhaut, wie der Ingineur es sich ursprünglich gedacht hat. Und selbst wenn nur ein Loch im Türblech um ein paar Millimeter verschoben wird, kommt die Lackiererei ins Spiel, weil die sich beschwert, das doch dann der Lack nicht mehr korrekt abliessen kann. Ja ja... man sollte nicht glauben, das nur Software schwer zu entwickeln ist.

    Der Unterschied ist nur, das die Autohersteller Änderungen nachträglich schwieriger bzw. nur mit immensen Kostenaufwand vornehmen können. Und deshalb die Planung, Testing und Balancing ausführlicher ausfällt.

    Das ist bei Konsolenspielen auch so: die Dinger kannst du nicht patchen. Jedes Spiel wird von Sony, Nintendo und MS nochmal selbst auf Herz und Nieren getestet, bevor es in die Disc-Presse kommt. Ich weiß noch, als SEGA unser Spiel nicht auf Dreamcast releasen wollte, bzw. uns immer wieder eine Mängelliste zuschickte.

    Bei PC-Software ist es aber egal: bei Fehlern kann man ja kostengünstig nen Patch nachreichen.


Anmelden zum Antworten