Softwarequalität (war: OpenBSD 6.9 erschienen)

Andy_m4

Well-Known Member
Aufgrund des thematischen Abschweifens rund um die Diskussion von Softwareentwicklung und Softwarequalität, hab ich mich entschlossen lieber einen eigenen Thread dazu aufzumachen. :-)
Der Ursprungsthread ist hier:
https://www.bsdforen.de/threads/openbsd-6-9-erschienen.36141/

Das Henne-Ei-Problem. Solange die Tools so weit von der Einsatzreife entfernt sind, gibt es wenig Anreiz zur Beschäftigung damit.
Ja. Softwareverifikation war ja auch nur ein Beispiel dafür, wie man im Entwicklungsprozess Sachen besser machen kann.

Was aber auch völlig richtig ist. Solange es beim Betrieb von Software so viele Unwägbarkeiten gibt, sollte man diese nach bestem Wissen und Gewissen kompensieren.
Sehe ich etwas anders. Aber wir müssen auch nicht einer Meinung sein. :-)

Was man halt beobachtet in so einem typischen Softwareprojekt ist, Bugs ein enormes Problem sind. Es sind eigentlich immer irgendwelche Bugs offen und die Zahl nimmt tendenziell eher zu als ab.
Dem mit Mitigations, Sandboxes und Telemetrie zu begegnen hat viele Probleme.
Einerseits bindet es Ressourcen. Der Kram muss ja auch implementiert werden und die Ressourcen die da reinfließen fehlen mir für das Fixen der Bugs (und geradeziehen des Entwicklungsprozesses).
Die Sachen verhindern auch keine Bugs. Die sind ja trotzdem da. Die sorgen nur dafür, das die nicht so einfach exploitet werden können. Nur längst nicht alle Bugs sind ja allein sicherheitsrelevant. Also selbst wenn man jetzt unterstellt das man damit die sicherheitsrelevanten Bugs in den Griff kriegt, nützt das bei allen anderen Bugs halt herzlich wenig.
Und es steigert die Komplexität. Die einem ja jetzt schon zu schaffen macht. Die versucht man mit noch mehr Komplexität zu erschlagen. :-)
Vor allem liegt dem ne irrige Annahme zugrunde: Dein Code ist ranzig. Also baust Du Dir ne Sandbox drum. Die Annahme ist jetzt, das Du dann plötzlich die Sandbox fehlerfrei hinkriegst. Also entweder schaffst Du fehlerfreien (oder zumindest fehlerarmen) Code zu schreiben. Dann brauchst Du auch keine Sandbox. Oder eben nicht. Dann ist aber auch deine Sandbox buggy.

Ich will nicht völlig dagegen argumentieren. Ich finde nur, das man viel zu einseitig auf solche Sachen setzt und Anderes (Bugvermeidung) vernachlässigt.

Stand heute ist der Bau fehlerfreier Software jenseits trivialer Programme unmöglich und wird das auch auf absehbare Zeit bleiben.
Gut. Fehlerfrei wirst Du sicher nicht hinkriegen. Aber fehlerarm schon. Man kann viel dafür tun. Allen voran im Bereich Ausbildung und vor allem in vernünftigen Zeitmanagement. Solange das neue Feature bis gestern fertig sein muss, wird sich an der Qualität wenig ändern. Egal was für Tools Du benutzt.

aber im Browser-Bereich landet man letzten Endes (noch) leider immer bei Javascript
Letzten Endes landet man bei Maschinencode. Der kennt auch viele Abstraktionen nicht. Ist aber nicht schlimm. Weil der Compiler obendrüber das für Dich regelt. Genauso kannst Du es auch mit Sprachen wie Javascript machen. Da kannst Du beispielsweise zu TypeScript greifen.

Ich bin froh um beide Techniken. Mit Telemetrie kannst du überhaupt das Verhalten deiner Software beobachten, anstatt einen Blindflug hinlegen zu müssen.
So wie bei Windows welches bis unters Dach vollgestopft ist mit Telemetrie. Trotzdem kriegen die ihre Bugs nicht in den Griff.
Eher sieht es so aus: Neben der Unzahl an Bugs die sie nicht beherrschen haben sie jetzt auch noch Unmengen an Telemetriedaten die sich gar nicht vernünftig auswerten können.

Gefühlt ist die Qualität von Software in vielen Bereichen stark gestiegen.
Weiß nicht. Ich hab eher das umgekehrte Gefühl. Die Qualität hat eher gelitten. Ich hatte das ja schon mal erzählt, das meine Erfahrungswelt früher halt die war, das wenn ein Fehler aufgetreten ist ich zuerst geguckt hab, was ich falsch gemacht hab. Ganz einfach weil oftmals auch der Fehler bei mir lag.
Heutzutage guck ich zunächst, obs ein Bug gibt. Weils heutzutage eher so ist, das es dann auch tatsächlich ein Bug ist.
Klar gabs auch schon früher Probleme. Genauso gut wie es auch heute gute Software gibt. Ich will da nix schönreden oder so. Für einzelne Bereiche kann man das auch durchaus unterschiedlich sehen.
Aber insgesamt ist das Niveau ... na wenn ich es wohlwollend betrachte: Gleich geblieben. :-)
Klar. Die Software ist heute komplexer. Aber die Tools und Techniken auch. Komplexität taugt deshalb nicht als "Ausrede".


Ich hätte mir auch früher nicht träumen lassen, problemlos ein Rolling Release auf dem Desktop zu betreiben.
Früher gabs vorallem deshalb kein Rolling-Release, weils mangels Internet keine Möglichkeit gab laufend Aktualisierungen zu verteilen.
Ansonsten hat ja in der Open-Source-Szene Rolling-Release Tradtion. Also allein im Linux-Bereich. Da hat man z.B. bei Debian (gibts ja auch schon über 25 Jahre) immer testing oder gar unstable genommen.
Also jetzt nicht unbedingt auf dem Server. Aber auf dem Desktop: na klar. Schon allein deshalb, weil sonst die Hardware nicht ordentlich unterstützt wurde.

Betrifft das nicht speziell Elektronik, weil der rasante Fortschritt hochpreisige Anschaffungen eher unattraktiv macht?
Der beschleunigte Fortschritt trägt sicher sein Teil dazu bei.

Bei den funktionalen Anforderungen hat noch niemand einen auch nur näherungsweise konkurrenzfähigen Ersatz mit der Mächtigkeit von Active Directory, Exchange, Outlook und Office erschaffen.
Das nützt den Ransomware-Opfern jetzt aber nicht wirklich viel. Was nützt mir die beste Funktionalität, wenn ständig ein Damoklesschwert über mir schwebt? Die Leute machen es trotzdem und hoffen das der Kelch an Ihnen vorbei geht. Hat so ein bisschen was von Zocken.
 
Was man halt beobachtet in so einem typischen Softwareprojekt ist, Bugs ein enormes Problem sind. Es sind eigentlich immer irgendwelche Bugs offen und die Zahl nimmt tendenziell eher zu als ab.

Ja, das ist korrekt. Das ist dann ein Upstream-Problem und das Management kann fristgerecht liefern. :-)

Leider ist es so, dass heute viel mehr Wettbewerb herrscht, als vor sagen wir mal 20 Jahren.

Beispiel: Wenn ich als Firma eine relativ bugfreie und stabile Software rausbringen will, benoetige ich 3 Jahre. Mein Mitbewerber bringt die aber schon nach 6 Monaten raus. Zwar voller bugs und instabil, aber er kann den Bedarf bedienen. Die bugs werden nach und nach gefixed und nach 3 Jahren hat er auch eine relativ bugfreie und stabile Software. Nur bin ich dann vermutlich schon laengst nicht mehr auf dem Markt, da der Bedarf vom Wettbewerb schon lange gedeckt wurde.

Ich finde das auch sehr bedenklich und schlecht. Masse statt klasse. Aber so sieht das leider aus.
 
Ich war hier in Karlsruhe mal auf einer Software Craftmanship Veranstaltung. Die hatten komische Ideen wie Code Kommentare sind schlecht. Dafür fanden sie Cloud toll, heutzutage wäre es wohl Blockchain gewesen. Also ziemlich genau das Gegenteil von allem was ich für gutes Handwerk halte.

Ich kenne das nur in der Variante document why not what und Cloud im Sinne von deklarativer Infrastruktur und APIs für alles (vgl. The Twelve-Factor App). Das können halt nur wenige Unternehmen in guter Qualität in-house bereitstellen.

Auch im Jahre 2021 gibt es noch Deployments, bei denen ein Admin händisch eine Datei auf einen Rechner kopiert und händisch einen Service neustartet. :ugly:

Sehe ich etwas anders. Aber wir müssen auch nicht einer Meinung sein. :-)

In der Diskussion mit Personen anderer Meinung lernt man meist am meisten dazu. :)

Ich will nicht völlig dagegen argumentieren. Ich finde nur, das man viel zu einseitig auf solche Sachen setzt und Anderes (Bugvermeidung) vernachlässigt.

Das eine tun, das andere nicht lassen. Gewisse Sachen kriegt man je nach Ökosystem und Programmiersprache sowieso schon fast geschenkt.

Um ein Beispiel exemplarisch herauszugreifen, Prometheus einzubinden sind ein paar Zeilen Code bzw. eine Dependency. So manche Laufzeitumgebung bietet ab Werk umfangreiche Sichtbarkeit samt Sandbox. Diesbezüglich muss man wenig bis gar nichts selber implementieren.

Solange das neue Feature bis gestern fertig sein muss, wird sich an der Qualität wenig ändern. Egal was für Tools Du benutzt.

Korrekt.

Da kannst Du beispielsweise zu TypeScript greifen.

Typescript ist auch mein Favorit in diesem Umfeld als geringstes Übel (Elm und Purescript bringen ja ihre ganz eigenen Probleme mit). Leider haben immer noch viele Javascript-Bibliotheken keine custom type definitions für Typescript, so dass man letzten Endes doch wieder bei Javascript landet. Es wird aber besser.

Trotzdem kriegen die ihre Bugs nicht in den Griff.

In Anbetracht der abartigen Abwärtskompatibilität und der gewachsenen Codebasis ist es erstaunlich, dass Windows überhaupt läuft. ;)

Eher sieht es so aus: Neben der Unzahl an Bugs die sie nicht beherrschen haben sie jetzt auch noch Unmengen an Telemetriedaten die sich gar nicht vernünftig auswerten können.

Auch dank Telemetrie hat Microsoft Windows von der Bluescreen-Hölle in ein halbwegs nutzbares Betriebssystem verwandelt (vgl. A Study of Logging and Telemetry at Microsoft). Ich bin zwar auch kein Freund von Windows (weder auf dem Desktop und schon gar nicht auf dem Server), aber das muss ich ihnen lassen.

Heutzutage guck ich zunächst, obs ein Bug gibt. Weils heutzutage eher so ist, das es dann auch tatsächlich ein Bug ist.

Ich wage zu behaupten, die meiste Software hat heutzutage anteilig deutlich mehr 3rd-Party-Code und deutlich weniger selbstgeschriebenen Code. Früher hat man vieles in wochen- und monatelanger Arbeit selbstgeschrieben, was man heute als 3rd-Party-Bibliothek verwendet und wie selbstverständlich darauf aufbaut.

Klar gabs auch schon früher Probleme.

Ich erinnere mich noch an die alten Unix-Zeiten und den guten Ratschlag bei den Kommandozeilen-Tools: "He who does not check input before, dumps core."

Inzwischen kann ich mich nicht mehr daran erinnern, wann mir der letzte SIGSEGV bei einem 08/15-Utility begegnet ist.

Klar. Die Software ist heute komplexer. Aber die Tools und Techniken auch. Komplexität taugt deshalb nicht als "Ausrede".

Die Anforderungen und Erwartungen sind erheblich gewachsen. Würde man heute eine Anwendung mit Erwartungshaltung und Anforderungen von vor 20 Jahren umsetzen, wäre man mit weniger Aufwand in kürzerer Zeit und höherer Qualität fertig. Wir nutzen die Produktivitätsgewinne eben auch, um anspruchsvollere Software zu bauen.

Früher gabs vorallem deshalb kein Rolling-Release, weils mangels Internet keine Möglichkeit gab laufend Aktualisierungen zu verteilen.

Soweit wollte ich gar nicht in die Vergangenheit zurück. Vor 10-15 Jahren war jedes Major Release auch namhafter freier Software meist ein Clusterfuck. Inzwischen kann man diesen Releases sehr entspannt entgegensehen.

Das nützt den Ransomware-Opfern jetzt aber nicht wirklich viel. Was nützt mir die beste Funktionalität, wenn ständig ein Damoklesschwert über mir schwebt? Die Leute machen es trotzdem und hoffen das der Kelch an Ihnen vorbei geht. Hat so ein bisschen was von Zocken.

Risikoabwägung, wie beim Einsatz einer jeden Software - selbst exim hat es ja vor zwei Wochen schwer erwischt. Viele Unternehmen haben halt leider kein vernünftiges Patch-Management (und Exchange ist diesbezüglich eine echte Bitch) und kriegen deswegen verdient eins auf die Schnauze.

Beispiel: Wenn ich als Firma eine relativ bugfreie und stabile Software rausbringen will, benoetige ich 3 Jahre. Mein Mitbewerber bringt die aber schon nach 6 Monaten raus. Zwar voller bugs und instabil, aber er kann den Bedarf bedienen. Die bugs werden nach und nach gefixed und nach 3 Jahren hat er auch eine relativ bugfreie und stabile Software. Nur bin ich dann vermutlich schon laengst nicht mehr auf dem Markt, da der Bedarf vom Wettbewerb schon lange gedeckt wurde.

Traurig aber wahr.
 
Traurig aber wahr.
Oder nach den drei Jahren existiert das gelöste Problem garnicht mehr für das man eine Lösung anbieten wollte, weil sich die schnellebige heutige Welt einfach schon weiter gedreht hat.

Ich mag mich mal etwas einklinken, ich verfolge die Diskusion interessiert, bin aber kein Entwickler.
Ich arbeite allerdings als "klassischer" Admin, muss also die "von entwicklern verbrochene" Software installieren z.B. auch auf Client-Seite, kümmere mich aber auch z.B. um den Support, habe also den Kontakt zu den Endbenutzern.

Neben offensichtlichen Fehlern erstaunt mich immer wieder wie unglaublich praxis/userfern viel entwickelt wird. Da kommt oft nach 2-X Jahren entwicklerzeit die tollste Software, die aber überhaupt nicht alle wichtiges Use-Cases abdeckt (aber dafür 800 nutzlose funktionen anbietet) und ein Design und Workflow hat der schon nen IT-Menschen überfordert, aber ganz sicher den 59-jährigen Hauptanwender für den die Software gedacht ist.

Und hinterher sind dann auch noch alle Pike-Beleidigt das man ihr so tolles produkt im endeffekt garnicht so toll findet, obwohls sogar "Fehlerfrei" im Programm sinne läuft.

Ganz anders sieht das bei Produkten aus bei denen der Endbenutzer im sinnvollen Umfang an der entwicklung beteiligt wird. Schade das dies so solten geschieht.
 
Ich gebe jetzt auch mal meine Einschätzung dazu ab, die aber z.T. sehr 'embedded' geprägt ist (man nehme eine SPC56 oder Tricore ...).

1. Wie ich vor 20 Jahren noch Fabriksteuerungen programmiert habe, mußten die laufen (man legt eine Halbleiterfertigung nicht mal so eben ungestraft lahm). Dort war es so, daß Code in einem Interpreter geschrieben wurde in einem Laufzeit System lief und auf C nur für Treiber unter besonderen Bedingungen und Kontrolle in einer Version C-- zurückgegriffen werden durfte (C-- besaß einige interessante Fähigkeiten von C nicht). Wenn du 2 oder 3 Blöcke fertig hattest, wurde das im von einem anderen geprüft und dann nur auf Teile der Fab ausgerollt und am Anfang täglich die Loggings kontrolliert. Bei komischen Verhalten wurde sofort zurückgerollt und du hattest ein Erklärungsproblem. Du konntest aber als Programmierer bei Feature Wünschen sagen "Das Feature gibt's jetzt nicht, weil zu komplex und risikoreich"; dann gab's das Feature nicht. Die besten Programmierer mußten spezifizieren und beurteilen

2. Im embedded Bereich habe ich (bei mehreren Firmen) erlebt, daß der Kunde erstmal was sehen will (Kundenlastenheft ist noch nicht fest, Pflichtenheft besteht aus den Überschriften). Die ersten 70% der vermuteten Funktionalität sind ja auch schnell zusammengeklopft; da stört die Spezifikation nur und die Architektur kann man nachschieben. Dann geht's los. Es gibt Sonderwünsche "Könnt ihr schnell ... einbauen, muß zur nächsten Beta / muß zur Serie noch rein" (wissen aber nur ein paar, weil der Kunde das direkt einem Programmierer einflößt). Schnelleinbau von Funktionen heißt, daß man an verschiedenen Stellen mitten im Code anfängt ein paar Ausnahmen einzubauen (das steht dann in keiner Spezifikatiomn mehr). Programmierer X hat alle möglichen und unmöglichen Ausnahmen mit MAGIC-Numbers in numerischen Werten gekennzeichnet, Programmierer Y geht davon aus, daß er nur plausible Eingangswerte (und keine Magic Numbers) bekommt (Plausiprüfungen kosten eh nur Zeit und erzeugen ab und zu Ausnahmen) und auf Z, der meint man müßte erst mal aufräumen wird nicht gehört, weil Aufräumen kostet ja Zeit und der PM versichert, daß alles läuft). Inzwischen hat sich V mit einer Mail, die die Vorgesetzten nicht verstehen, abgesichert, daß wenn er keine saubere Umgebung hat, sein Code auch nicht sauber laufen kann (wo er teilweise Recht hat).

3. Sauberes Programmieren wird glaube ich fast nirgends gelehrt, aber Programmierer ist ein geiler Job

4. "Das können wir mit einem Update nachschieben"

4. Ich habe mehrmals vorgeschlagen sich mit ADA zu beschäftigen. Alle möglichen Ausreden, warum das Schei.. ist und man das nicht braucht. Programmieren konnte es aber keiner und mit den Konzepten hat sich keiner beschäftigt. Kostet natürlich auch Zeit, sich mal richtig mit sowas zu beschäftigen. BTW bei den SIL Normen stand früher bei C 'recommended' bei ADA 'highly recommended'

5. Das Mgmt glaubt, Programieraufgaben kann man rund um den Globus verteilen (praktisch macht dann jeder was er will); es gibt da ein Land das Elbonien heißt...

6. Spice, KGAS, ... netter Versuch, bloß wird oft das Kernproblem nicht angegangen und die besagten Methoden zum Paradigma erhoben und viele von denen, die sie predigen, können nicht programmieren (sonst säßen sie in irgendeinem Labor und müßten programmieren).

7. FMEA: Gibt's, will ich nicht, müssen wir machen. Viele haben nicht verstanden, daß die FMEA ein Freund ist. Da kann man nachweisen, daß man sich Gedanken gemacht hat und kommt auch auf Sachen. Ich (persönlich) will keine FuSi Anwendung bauen und mir denken "Ist mir egal, wen einem anderen was passiert, dann hat er halt Pech gehabt"

8. Programmierer sollten mal sehen mit welchem Aufwand sich Mechanik Konstrukteure um "Kleinigkeiten" =wichtige Merkmale ("Besondere Merkmale" gehören dazu, ist was spezielles) kümmern, damit es danach was wird. Und ein Update einer Mechanik Konstruktion spielt man nicht so einfach ein...

9. Ich habe öfters dubiose Konstruktionen in Code gesehen, die ein paar Bytes (einmalig) gespart haben; der Controller hatte 256kByte RAM. Da 20 bytes zu sparen und sich potentielle Probleme einzuhandeln- das bringts

Fazit: Sauber programmieren geht, es müssen aber alle (Kunde, Hersteller, Programmierer, Mgmt, PM, ...) wollen und es muß mit Verstand kontrolliert werden. So ein Mars Rover oder eine Voyager Sonde läuft ja auch nicht zufällig zuverlässig. Und so ein *BSD läuft auch nicht zufällig zuverlässig (BSD geht z.B. auch den Weg, daß ein Feature erst reinkommt, wenn man genügend Zeit dafür hat und die Umsetzung ausgereift ist).

Warum wird nicht sauber programmiert (typische Merkmale):
Keine Zeit, kein sauberes Aufsetzen des Projekts, unklare Anforderungen (das Projekt wird immer größer, die Features immer mehr), illusorische Zeitschienen (ich würde als PM einfach mal den Faktor 3 auf die zeitschiene der SW Entwickler rechnen=, "sattelfestes" Programmieren wird nicht durch erfahrene Programmmierer kontrolliert, die auch tatsächlich mal etwas anhalten dürfen um eine Entwicklungsschleife zu drehen, Programmierer sind oft nicht richtig ausgebildet, Einstellung "schieben wir ein Update nach".

So genug gekotzt.
 
"Geht das nicht billiger?", ist auch so ein Punkt. Bei allem, was man irgendwie sehen und anfassen kann, ist auch dem größten Erbsenzähler intuitiv klar, dass es eine eine sinnvolle Untergrenze an Kostenersparnis gibt, unter die man nicht drücken kann, wenn das Endergebnis noch halbwegs Hand und Fuß haben soll. Computer hingegen sind zwar die komplexesten Maschinen, die die Menschheit bisher gebaut hat, aber alles, was damit zu tun hat, wird zu oft als einfaches Gedaddel wahrgenommen, was im Prinzip jeder kann. Mit allen Konsequenzen.
 
"Geht das nicht billiger?", ist auch so ein Punkt. Bei allem, was man irgendwie sehen und anfassen kann, ist auch dem größten Erbsenzähler intuitiv klar, dass es eine eine sinnvolle Untergrenze an Kostenersparnis gibt, unter die man nicht drücken kann, wenn das Endergebnis noch halbwegs Hand und Fuß haben soll. Computer hingegen sind zwar die komplexesten Maschinen, die die Menschheit bisher gebaut hat, aber alles, was damit zu tun hat, wird zu oft als einfaches Gedaddel wahrgenommen, was im Prinzip jeder kann. Mit allen Konsequenzen.

Für dtl. über 90% der Bevölkerung ist jede art von Computertechnik ja noch immer so eine art Magische Wundermaschine, die niemand so richtig versteht, und ehrlich gesagt unterstützen Presse und Medien diese sehr problematische Idee erstaunlich oft - und das schon sehr lange.

Dann gibts wieder Hersteller die so tun als würde heutzutage ja eh alles vollautomatisch funktionieren und das erweckt natürlich auch Erwartungshaltungen das dies nicht nur die persönlichen Geräte mit dem Apfellogo betrifft sondern jede art von IT.

Ich glaube diese beiden Punkte verbinden sich zusammen mit ein paar anderen faktoren dann zu dem geschilderten Gedanken - das ist ja eh heutzutages alles vollautomatisch in meinem Handy mit dadrinn, und das zum laufen zu kriegen kann ja jeder 14-jährige der irgendwie nen bisschen Kentniss von der o.G. "Magie" hat, weil so richtig verstehen tut das ja eh niemand.

Und wir selbst, seien wir ehrlich, sind alle oft auch nicht gerade große Künstler dadrinn die komplexen vorgänge und ineinander spielenden teilbereiche von Betriebsystem, der ja meist vielschichten Softwareebenen, der lokalen & globalen Netzwerktechnik, Serversysteme, Hardware e.t.c. für jemand sehr IT-Fernen schlüssig zu erklären, zumal man ja oft auch selbst nur das Wissen aus seinem Teilbereich in der ausreichenden tiefe hat. Oft ist es auch schwer noch sinnvolle Analogien aus der Analogenwelt zu finden.

Nehmen wir einfach mal ein beispiel aus meiner Praxis - viele Nutzer sitzen im Homeoffice und verbinden sich mit "uns" über eine mittelbekannte propiertäre VPN-Software aus ihrem privaten Netz heraus. Diese ist etwas anfällig für alle arten von "Verbindungsproblemen" im weiteren sinne, muss bei so einem Problem neu Verbunden werden und eine bestimmte Software muss dann immer aufwändig freigeschaltet werden.
Taucht das häufiger auf kommt natürlich schnell "unmut" auf. Und die Frage: Warum? Das kann dann "lokal" am Router des Endbenutzers liegen (Überfordert mit dem NAT), oder am WLAN, Powerlan, LAN vorort, am jew. Anschluss oder der Überforderung des Anschlußes, am lokalen Uplink des Providers, am Peering des Providers zu unserem Anbieter e.t.c. Und natürlich auch bei jedem dieser Punkte an X verschiedenen Ebenen, beteiligten Softwareprodukten e.t.c. Bei "Last"-Problemen kann das auch sehr schwankend sein.
Das kann ich niemanden schlüssig erklären, egal wie gut man es versucht. Zu viele Fremdworte, zu wenig Ideen was das Internet, VPN, die lokale Software e.t.c. überhaupt IST geschweige denn wie es funktioniert. Wie als würde man versuchen einem Römer zu erzählen wie ein Auto funktioniert nur jetzt halt gerade nicht.

Oft bleibt dann aber Hängen "Wir wissen ja auch nicht so genau wie das funktioniert und woran das liegt" - und das ist in sehr sehr vielen Bereichen so -> Magie, es wird ja nur "rumgedaddelt"
 
Das Wort "Bananensoftware" trifft es eigentlich ganz gut. Die Software reift beim Kunden. Die Kunden sind inzwischen dementsprechend konditioniert. Wer setzt schon Software ein, die seit 5 Jahren keine Updates mehr bekommen hat, egal ob sie bugfrei ist oder nicht. Irgendwie werden Patches erwartet und sind - so paradox das erscheinen mag - ein "Qualitaetsmerkmal". Ausserdem kann man neue Versionen nochmal als Update verkaufen. Wartungsvertraege und Lizenzen bringen auch viel Geld.

Ich erinnere mich noch daran, dass ich mir damals einen Traum erfuellt und eine alte, analoge Leica-Kamera gekauft habe. In der Anleitung stand, dass ich mir eine Kamera fuers Leben gekauft habe. Selbst heute, nach weit ueber einem halben Jahrhundert, kann ich diese Kamera noch zu Leica schicken und sie wird gewartet und repariert. Kaufe ich mir heute eine neue Kamera, ist auf den ersten Seiten der Hinweis, wie diese Kamera zu entsorgen ist.

Die Werbeindustrie hat ganze Arbeit geleistet. Was letztes Jahr noch das Spitzenmodell war, will heute keiner mehr haben. Nur das neueste Modell ist gut genug. In einer Marktwirtschaft, die auf staendigem Wachstum ausgelegt ist, ist kaum noch Platz fuer bezahlbare und nachhaltige Qualitaet. Das gilt auch fuer Software.
 
Zuletzt bearbeitet:
Ich habe heute so einen Tag wo ich über lauter Unit Test stolpere die überhaupt nicht kompilieren, wenn man etwas anderes als unsere Standard-auf-dem-Schreibtisch Hardware baut. Das ist anscheinend seit längerem niemandem aufgefallen, weil das halt niemand baut. Und das bedeutet wiederum, dass Unit Tests für wichtige Komponenten da draußen beim Kunden nie gelaufen sind. Und ich komme mit meinem eigenen Kram nicht voran, weil ich an solchem Pfusch nicht einfach vorbei laufen kann. :grumble:

Da hat jemand die Komponente aktualisiert und die Unit Tests nicht angepasst. War wohl zu faul die mal auszuprobieren und in der CI Pipeline ist der Test auch nicht mit drin, weil die Tests eigentlich nicht plattformspezifisch sein sollten.
 
So ein Mars Rover oder eine Voyager Sonde läuft ja auch nicht zufällig zuverlässig.
Hatten die nicht bei der NASA mal nachweislich weltweit die wenigsten "Errors per 1000 lines of code" in ihrer Software?

Gut, bei denen ist das halt auch der USP - wenn die Software nicht fehlerfrei ist, funktioniert deren Geschäft halt nicht. Bei so ziemlich jeder anderen Bude ist das genau das Gegenteil, jeder Tag der ohne Softwarerelease verstreicht, kostet Geld und bringt keines
 
Ganz anders sieht das bei Produkten aus bei denen der Endbenutzer im sinnvollen Umfang an der entwicklung beteiligt wird. Schade das dies so solten geschieht.

Wasserfall plus die Abwesenheit von ordentlichem Requirements Engineering - die perfekte Kombination, will man viel Geld verbrennen. ;)

Wer setzt schon Software ein, die seit 5 Jahren keine Updates mehr bekommen hat, egal ob sie bugfrei ist oder nicht.

Nachdem heutzutage sehr viel Software direkt oder indirekt am Netz hängt, würde ich mir bei seit 5 Jahren nicht aktualisierter Software schon arge Gedanken machen, ob auch etwaige Sicherheitslücken überhaupt gefixt wurden und/oder noch werden.

Irgendwie werden Patches erwartet und sind - so paradox das erscheinen mag - ein "Qualitaetsmerkmal".

Software lebt ja im Normalfall nicht isoliert vor sich hin. Wenn ein Produkt nicht einmal seine 3rd-Party-Bibliotheken regelmäßig aktualisiert, hat das schon ein Gschmäckle und ist ein Indiz dafür, dass man beim Auftreten von Problemen jeglicher Art nicht auf Behebung der Bugs bzw. Sicherheitslücken hoffen darf (Stichwort bit rot).

Ausserdem kann man neue Versionen nochmal als Update verkaufen. Wartungsvertraege und Lizenzen bringen auch viel Geld.

Überraschenderweise wollen auch Softwareentwickler, Admins und Support-Mitarbeiter für ihre Arbeit bezahlt werden. :eek:

Ich erinnere mich noch daran, dass ich mir damals einen Traum erfuellt und eine alte, analoge Leica-Kamera gekauft habe. In der Anleitung stand, dass ich mir eine Kamera fuers Leben gekauft habe. Selbst heute, nach weit ueber einem halben Jahrhundert, kann ich diese Kamera noch zu Leica schicken und sie wird gewartet und repariert.

Die Vorteile simpler Technik. Die Nachteile im Vergleich zu einer modernen Digitalkamera sollte man halt im Hinterkopf behalten.

Kaufe ich mir heute eine neue Kamera, ist auf den ersten Seiten der Hinweis, wie diese Kamera zu entsorgen ist.

Das ist Vorschrift gemäß ElektroG. Bei Unterlassung finanziert der Hersteller der Kamera einer Hundertschaft Abmahnanwälte den neuen Porsche. :ugly:

Die Werbeindustrie hat ganze Arbeit geleistet. Was letztes Jahr noch das Spitzenmodell war, will heute keiner mehr haben. Nur das neueste Modell ist gut genug.

Ein Hoch auf den Fortschritt. Meine 2018 angeschaffte Workstation hat mir pro Arbeitstag gut und gerne 5-10 Minuten Wartezeit erspart und sich damit innerhalb von 12-24 Monaten amortisiert. Die gewonnene Zeit konnte ich gut nutzen, um in der gleichen Zeit bessere Software zu entwickeln. Dank COVID-19 und der damit verbundenen Lieferschwierigkeiten bzw. verzögerten Produktzyklen wird mein für 2021 geplantes Upgrade wahrscheinlich erst 2022 stattfinden.

Bin ich jetzt ein Opfer der Werbeindustrie, weil ich nicht bei meinem alten Rechner geblieben bin? :confused:

In einer Marktwirtschaft, die auf staendigem Wachstum ausgelegt ist, ist kaum noch Platz fuer bezahlbare und nachhaltige Qualitaet.

Welche Branchen abseits der Software hast du denn besonders im Blick?

Das gilt auch fuer Software.

Ich habe gerade eben erst mein jährliches Abo für meine qualitativ hochwertige Entwicklungsumgebung verlängert, die einen dreistelligen Betrag pro Jahr kostet - obwohl es viele ebenso hervorragende wie kostenlose Entwicklungsumgebungen gibt. Nachdem die Entwicklungsumgebung kürzlich 20. Geburtstag gefeiert hat und es dem Hersteller bestens geht - kann es sein, dass es diesen Markt doch gibt?

Natürlich gibt es auch einen Markt für billig hingerotzte Software. Ich möchte aber niemanden vorschreiben, auf was er Wert legt bzw. was sein Budget hergibt.

Hatten die nicht bei der NASA mal nachweislich weltweit die wenigsten "Errors per 1000 lines of code" in ihrer Software?

They Write The Right Stuff. Bei inflationsbereinigt ~2750 US-$ pro Zeile Code käme ich für FreeBSD auf grob 100.000.000.000 US-$. :eek:

Gut, bei denen ist das halt auch der USP - wenn die Software nicht fehlerfrei ist, funktioniert deren Geschäft halt nicht. Bei so ziemlich jeder anderen Bude ist das genau das Gegenteil, jeder Tag der ohne Softwarerelease verstreicht, kostet Geld und bringt keines.

Man kann in Schönheit sterben bzw. pleite gehen.
 
Ein Gegenbeispiel ist qmail von djb :)

Ich muss dich enttäuschen: https://www.helpnetsecurity.com/2020/05/20/qmail-rce/
At the time Bernstein pointed out that the vulnerabilities (CVE-2005-1513, CVE-2005-1514, CVE-2005-1515) could not be exploited in a default Qmail installation as “the memory consumption of each qmail-smtpd process is severely limited by default”, so they were never addressed.

But Qualys researchers recently decided to audit the security of the software again, and discovered that the three vulnerabilities also affect the qmail-local process, which is reachable remotely and is not memory-limited by default, ergo the flaws can be exploited.

Inzwischen haben Mail-Server soviel Speicher, dass die einst aufgrund der Speicherknappheit nicht ausnutzbaren Sicherheitslücken qmail in der Standardkonfiguration in ein Scheunentor verwandelt haben. :ugly:

Nicht sicherheitsrelevant, aber ein schönes Beispiel für bit rot ist der Umstand, dass qmail aufgrund der fehlenden Unterstützung für SMTPUTF8 inzwischen viele vollkommen korrekte Mails gar nicht mehr zustellen kann, d.h. als MTA heutzutage völlig untauglich ist.
 
Ein offenes Scheunentor würde ich qmail nicht nennen.

Meine Formulierung war in der Tat zu hart, zumal der von djb produzierte Code hervorragend war. Unbeachtet dessen ist qmail als MTA nicht mehr tauglich und diese Sicherheitslücken werden für immer offen bleiben.


Viele der 22 CVEs betreffen gar nicht das ursprüngliche qmail, das Gegenstand der Diskussion war.


Ich verstehe bis heute nicht, warum man bei bestimmten Betriebssystemen so lange an sendmail als Default-MTA festhält. :ugly:
 
Nachdem heutzutage sehr viel Software direkt oder indirekt am Netz hängt, würde ich mir bei seit 5 Jahren nicht aktualisierter Software schon arge Gedanken machen, ob auch etwaige Sicherheitslücken überhaupt gefixt wurden und/oder noch werden.
Das war auch eher hypothetisch gemeint. ;-)

Überraschenderweise wollen auch Softwareentwickler, Admins und Support-Mitarbeiter für ihre Arbeit bezahlt werden.
Logisch. Das ist dann auch das Geschaeftsmodell.

Die Vorteile simpler Technik. Die Nachteile im Vergleich zu einer modernen Digitalkamera sollte man halt im Hinterkopf behalten.
Das sehe ich anders. Bilder aus Digitalkameras sehen steril und kuenstlich aus. Ihnen fehlt die Seele. Ausserdem geht das fotografische Koennen verloren, da das Handwerk nicht mehr erlernt werden muss. Bilder kosten nichts mehr und daher braucht man nur noch den Finger auf Autofeuer druecken. Irgendwas gutes wird schon dabei sein. ;-)

Da ist jetzt ueberspitzt dargestellt. Der Trend in diese Richtung ist jedoch sehr gut erkennbar.

Ausserdem ist eine analoge Leica ein mechanisches Praezisionsinstrument, welches qualitativ hochwertig und nachhaltig ist. Das hat dann natuerlich auch seinen Preis.

Das ist Vorschrift gemäß ElektroG. Bei Unterlassung finanziert der Hersteller der Kamera einer Hundertschaft Abmahnanwälte den neuen Porsche. :ugly:
Klar, aber das sagt auch einiges ueber unsere Wegwerfgesellschaft aus. Aus wirtschaftlicher Sicht kurzfristig gut, aus oekologischer Sicht langfristig eine Katastrophe.

Ein Hoch auf den Fortschritt. Meine 2018 angeschaffte Workstation hat mir pro Arbeitstag gut und gerne 5-10 Minuten Wartezeit erspart und sich damit innerhalb von 12-24 Monaten amortisiert. Die gewonnene Zeit konnte ich gut nutzen, um in der gleichen Zeit bessere Software zu entwickeln. Dank COVID-19 und der damit verbundenen Lieferschwierigkeiten bzw. verzögerten Produktzyklen wird mein für 2021 geplantes Upgrade wahrscheinlich erst 2022 stattfinden.

Bin ich jetzt ein Opfer der Werbeindustrie, weil ich nicht bei meinem alten Rechner geblieben bin? :confused:
Meiner Meinung nach schon. Die Industrie hat ein Interesse daran, neue Software und Hardware zu verkaufen. Daher werden die Rechner auch mit jedem Update langsamer. Darueber gibt es auch schoene Rants im Netz. Wenn man natuerlich beruflich darauf angewiesen ist, muss man wahrscheinlich dem Trend folgen. Zeit ist Geld.

Welche Branchen abseits der Software hast du denn besonders im Blick?
Vor allem die Technologiebranche mit all ihrer Konsumelektronik. Entweder kauft man sich beispielsweise alle 2-3 Jahre ein neues Smartphone, oder man bekommt keine Updates mehr. Der Akku ist nicht mehr austauschbar, der Speicher nicht mehr erweiterbar usw... Repariert wird nicht mehr.
 
Das sehe ich anders. Bilder aus Digitalkameras sehen steril und kuenstlich aus. Ihnen fehlt die Seele.

Die Diskussion gibt es in ähnlicher Form mit CDs vs. LPs, ebenso bei gedruckten Büchern.

Deswegen beschränke ich mich auf zwei Zitate aus diesem Artikel:
  • The goal of the industry has always been to narrow the gap between a photographer’s skill level and the quality and speed of the results achieved.
  • So yes, I’d say that digital is better. But I’d also say that just because something is better, that doesn’t mean it’s more enjoyable. Air conditioning is better, but I still like to open the windows. Automatic transmissions are better, but I still prefer a clutch pedal. Air travel is better, but I still like to drive or take the train. Digital may be better, but I still like to shoot with film. A lot of people – an ever-increasing number, I am pleased to say – do as well.

Ausserdem geht das fotografische Koennen verloren, da das Handwerk nicht mehr erlernt werden muss.

Manche Aspekte sind (weitestgehend) technikunabhängig, z.B. die Bildkomposition. Ansonsten führen kürzere Feedback-Zyklen zu besseren Ergebnissen. Nicht nur bei der Softwareentwicklung, auch beim Fotografieren. Du entwickelst deutlich schneller ein tiefgreifendes Verständnis für Blende, Belichtung & Co., wenn deine Feedbackschleifen aus Sekunden statt Tagen bestehen.

Du kannst natürlich auch einfach eine moderne Kamera auf Automatik stehen lassen, wenn du dich mit der Materie überhaupt nicht tiefergehend auseinandersetzen möchtest. Das bleibt aber jedem selbst überlassen.

Bilder kosten nichts mehr und daher braucht man nur noch den Finger auf Autofeuer druecken. Irgendwas gutes wird schon dabei sein. ;-)

Ich finde es fantastisch und äußerst begrüßenswert, dass Fotografie inzwischen auch einer weniger betuchten Gesellschaftsschicht als Hobby offensteht. So wie die Erschwinglichkeit von Rechnern es mir ermöglicht hat, als junger Kerl mit IT anzufangen.

Das auch Laien dank der Automatik gute Fotos schießen und sich hinterher daran erfreuen können, stimmt mich auch eher positiv. :)

Klar, aber das sagt auch einiges ueber unsere Wegwerfgesellschaft aus. Aus wirtschaftlicher Sicht kurzfristig gut, aus oekologischer Sicht langfristig eine Katastrophe.

Ich finde es wiederum gut, dass man sich frühzeitig um das Recycling wertvoller Rohstoffe im Güterkreislauf Gedanken macht. Wie groß der Impact eines Landes - wenngleich Industrienation - mit ungefähr einem Prozent der Weltbevölkerung diesbezüglich sein mag, sprengt den Rahmen der Diskussion.

Meiner Meinung nach schon. Die Industrie hat ein Interesse daran, neue Software und Hardware zu verkaufen. Daher werden die Rechner auch mit jedem Update langsamer.

Ich betreibe Arch Linux auf meiner Maschine, was im Laufe der Jahre durch Software-Updates schneller geworden ist. Verbesserte Runtimes, besser optimierende Compiler, 3D-beschleunigte Oberflächen uvm. haben im Laufe der Zeit für einen Performance-Gewinn nur durch Software-Updates bei gleichbleibender Hardware geführt.

Selbst Windows 10 ist schneller als Windows 7.

Darueber gibt es auch schoene Rants im Netz.

Du meinst diesen bekannten Artikel über Input Lag?

Ansonsten sprechen die Benchmarks (bis auf die Spectre/Meltdown-Mitigations, die bekanntermaßen und messbar Performance gekostet haben) durch die Bank von besserer Performance mit jeder Software-Generation.

Falls du solide Quellen hast, das Software auf breiter Front unabhängig vom Leistungsumfang, Plattformunabhängigkeit und anderer relevanter Faktoren langsamer wird, immer her damit - das würde mich brennend interessieren. :D

Verzichten würde ich aber auf Rants, die sich darüber beschweren, dass Photoshop 1.0 weniger RAM braucht als Photoshop 2021 - dafür fehlt mir ehrlich gesagt sowohl die Muße als auch das Verständnis. :ugly:

Wenn man natuerlich beruflich darauf angewiesen ist, muss man wahrscheinlich dem Trend folgen. Zeit ist Geld.

Steuern und Abgaben für die arbeitende Bevölkerung - und damit die Kosten der Arbeitszeit - sind in Deutschland enorm hoch. Dementsprechend groß ist im beruflichen Umfeld der Anreiz, sich modernere Hardware zuzulegen. Aber auch für Hobbies - egal ob Bildbearbeitung, Gaming uvm. - gibt es ganz ohne Werbung Anreize, nicht auf 10 Jahre alter Hardware zu verharren. Welcher Hobby-Fotograf möchte bei der Bildbearbeitung schon minutenlang in seiner spärlichen Freizeit auf rödelnde HDDs warten, wenn die SSD den gleichen Job in Sekunden erledigt?

Vor allem die Technologiebranche mit all ihrer Konsumelektronik. Entweder kauft man sich beispielsweise alle 2-3 Jahre ein neues Smartphone, oder man bekommt keine Updates mehr. Der Akku ist nicht mehr austauschbar, der RAM nicht mehr erweiterbar usw. Repariert wird nicht mehr.

Als Kunde kriegst du hier sehr wohl bezahlbare und nachhaltige Qualität, wenn du möchtest.

Für Smartphones gibt es 5+ und 7+ Jahre Updates. In diesem vergleichsweise jungen Feld (Smartphones in dieser Form gibt es erst 14 Jahre) ist es aber auch schwierig, langjährigen Treiber-Support von Lieferanten für die Bauteile zu bekommen, was kurze Produktzyklen begünstigt. Es gibt von zumindest einem Hersteller ein Blog, in dem er auch über die Probleme der Materialbeschaffung berichtet (Spoiler: harte Arbeit).

Integrierte Akkus führen zu leichteren und schmaleren Smartphones. Insbesondere für den Teil der Bevölkerung mit einer Vorliebe für figurbetonte Kleidung mit deswegen sehr flachen weil enganliegenden Hosentaschen ist das ein Faktor bei der Kaufentscheidung. Es gibt aber nach wie vor ausreichend Modelle mit leicht tauschbaren Akkus.

Stromsparenden LPDDR4-RAM muss man verlöten und kann ihn gar nicht mit Steckverbindung betreiben, weil das die Physik nicht hergibt. Die Alternative sind weniger portable Laptops samt schlechterer Akkulaufzeit. Ansonsten gibt es immer noch genug Laptops mit SO-DIMMs, die preislich nicht teurer sind als die mit verlötetem RAM.

Keine (direkte) Entscheidung der Konsumenten ist der Umstand, dass in Deutschland der Faktor Arbeit so enorm mit Steuern und Abhaben belastet ist, dass sich abseits von Reparatur-Cafés oftmals noch nicht einmal Reparaturversuche wirtschaftlich rechnen. Nach aktuellen Hochrechnungen ändert sich an diesem Umstand aber auch am 26. September keinesfalls etwas.
 
Du meinst diesen bekannten Artikel über Input Lag?

Ansonsten sprechen die Benchmarks (bis auf die Spectre/Meltdown-Mitigations, die bekanntermaßen und messbar Performance gekostet haben) durch die Bank von besserer Performance mit jeder Software-Generation.

Falls du solide Quellen hast, das Software auf breiter Front unabhängig vom Leistungsumfang, Plattformunabhängigkeit und anderer relevanter Faktoren langsamer wird, immer her damit - das würde mich brennend interessieren. :D

Verzichten würde ich aber auf Rants, die sich darüber beschweren, dass Photoshop 1.0 weniger RAM braucht als Photoshop 2021 - dafür fehlt mir ehrlich gesagt sowohl die Muße als auch das Verständnis.
So als Beispiel: https://www.chip.de/news/Millionens...ates-bewusst-langsamer-gemacht_151383829.html

Ich meine mich zu erinnern, dass Microsoft sowas kurzzeitig auch schon gemacht hat, um einen Umstieg von Windows 7 auf Windows 10 zu forcieren.

Auch bei Monstersoftware wie z.B. DATEV beobachte ich das seit ueber 20 Jahren. Nach jedem Upgrade ist die Software fetter und traeger. Es werden hunderte Module geladen, von denen man allerdings nur einen Bruchteil benoetigt. Spaetestens nach 2-3 Releases ist neue Hardware notwendig. Alleine ein Update oder Bugfix dauert teilweise Stunden. Ein Umzug auf einen neuen Server dauert Tage und ist ohne Support kaum noch moeglich.

Zum Thema Kameras und Konsumelektronik: Ich sehe den rasanten technischen Fortschritt mit gemischten Gefuehlen: Zum einen bin ich natuerlich technikbegeistert, was inzwischen moeglich ist und moechte auch am liebsten alles davon haben oder zumindest ausprobieren. Auf der anderen Seite sehe ich, wie der Planet und die Arbeiter in den armen Laendern ausgebeutet werden und die Muellberge anwachsen und was alles im Meer landet. Wir leben in einer Kauf-, Konsum- und Wegwerfgesellschaft.

Es ist ohne Frage gut, wenn jeder ohne Fachkenntnisse und bezahlbar auf Knopfdruck Fotos, Musik, usw. produzieren kann. Auf der anderen Seite wird viel gekauft, weil durch die Werbung begehrlichkeiten geweckt werden und das landet dann oft im Schrank, ohne wirklich genutzt zu werden. Kaum hat man was gekauft, schon schielt man auf das naechste Modell.
 
So als Beispiel: https://www.chip.de/news/Millionens...ates-bewusst-langsamer-gemacht_151383829.html

Ich meine mich zu erinnern, dass Microsoft sowas kurzzeitig auch schon gemacht hat, um einen Umstieg von Windows 7 auf Windows 10 zu forcieren.

Nein, da gabs nur "fiese" Meldungen in Fullscreen das man von seinem unsupporteten Windows 7 kostenlos auf 10 aktualisieren sollte.

Hab auch nie beobachtet das Windows 7 irgenwo "langsamer" geworden ist, außer ggf. durch die ungefähr zeitgleich gekommenden Hardbleed mitigations und so - villeicht haben manche das damit verwechselt?

Und tatsächlich funktioniert 10 bei SSD / 4GB ram selbst auf 14 (!) Jahre alten Thinkpads schneller als XP ... da kann man imho nicht meckern.

Zum Thema Kameras und Konsumelektronik: Ich sehe den rasanten technischen Fortschritt mit gemischten Gefuehlen: Zum einen bin ich natuerlich technikbegeistert, was inzwischen moeglich ist und moechte auch am liebsten alles davon haben oder zumindest ausprobieren. Auf der anderen Seite sehe ich, wie der Planet und die Arbeiter in den armen Laendern ausgebeutet werden und die Muellberge anwachsen und was alles im Meer landet. Wir leben in einer Kauf-, Konsum- und Wegwerfgesellschaft.

Es ist ohne Frage gut, wenn jeder ohne Fachkenntnisse und bezahlbar auf Knopfdruck Fotos, Musik, usw. produzieren kann. Auf der anderen Seite wird viel gekauft, weil durch die Werbung begehrlichkeiten geweckt werden und das landet dann oft im Schrank, ohne wirklich genutzt zu werden. Kaum hat man was gekauft, schon schielt man auf das naechste Modell.

Das sehe ich sehr ähnlich und mag mich da auch garnicht komplett von ausschließen, auch wenn ich mir da "mühe" gebe.

Ich glaube das größere Problem ist allerdings, und das mache ich nicht, das heutzutage nicht ein, zwei Hobbys (Computer / Reisen z.B.) ausgelebt werden und das mit "Augenmaß".

Sondern alles immer extem auf allen ebenen maximal konsumiert werden muss. Auch neue Hobbys werden nicht vorsichtig mal "angetestet" mit einfachen gebraucht oder leihgeräten sondern die vollausstattung wird immer neu gekauft.

Zu den 5 Materialintensiven Hobbys von denen man jedes Jahr mind 2 tauscht muss die Bude alle 2 Jahre schnieke aktualisiert werden, deko krams, alles muss aussehen wie aus dem Ikea-Katalog + noch X völlig nutzlose Spielzeuge z.B. elektronischer art.

Großer Fernseher alle 3,5 Jahre, dicke Anlage alle 10

Man reist nicht aus Leidenschaft sondern um "gut dazustehen" 1x im Jahr nach malle, 1x nach Dänemark und 1x noch irgendwo exotischer hin.

Dazu muss nen dickes SUV da stehen um den kleinen Penis auszugeleichen bzw. das dubiose unsicherheitsgefühl der ehefrau gegenüber den Kindern.

Usw.

Und das alles zusammen, alles gleichzeitig, immer mehr mehr mehr auf ALLEN ebenen. Ich glaube das ist das große Problem.
Nicht der Gamer der in der Sperrmüll-Bude sich alle 5 Jahre nen Rechner kauft, und auch nicht der Motorrad und Hifi-Entusiast der sich da alle 10 Jahre aktualisiert.

Ich glaube aber, 2,3 dinge aus Leidenschaft zu machen befriedigt deutlich mehr.
 
Beispiel: Wenn ich als Firma eine relativ bugfreie und stabile Software rausbringen will, benoetige ich 3 Jahre. Mein Mitbewerber bringt die aber schon nach 6 Monaten raus.
Das trifft sehr schön den Nagel auf den Kopf.
Es ist ja nicht so das wir prinzipiell keine bessere Software haben könnten.
Es besteht halt viel zu oft nur kein Anreiz das auch zu tun. Wenn es dem jeweiligen Hersteller wehtun würde wenn er schlechte Qualität abliefert, dann würde er es ziemlich sicher besser machen. Oftmals bleibt das aber folgenlos.

In der Diskussion mit Personen anderer Meinung lernt man meist am meisten dazu.
Eben. So sieht es aus. Es geht primär darum auch vielleicht mal einen Blickwinkel zu bekommen den man bisher vielleicht noch gar nicht so beachtet hat oder nicht haben kann, weil man sich in anderen Bereichen tummelt.
Ob man dann die Meinung übernimmt steht aber immer noch auf einem anderen Blatt. :-)

In Anbetracht der abartigen Abwärtskompatibilität und der gewachsenen Codebasis ist es erstaunlich, dass Windows überhaupt läuft.
Da ist was dran. Ich finde Microsoft jetzt als Softwarehersteller auch gar nicht so schlimm. Da gibts deutlich Schlimmeres.
Was aber eben auch zeigt, wie schlecht der Zustand allgemein ist.

Auch dank Telemetrie hat Microsoft Windows von der Bluescreen-Hölle in ein halbwegs nutzbares Betriebssystem verwandelt (vgl. A Study of Logging and Telemetry at Microsoft).
Na das Microsoft selbst ihren Telemetriekram Wirksamkeit bescheinigt ist jetzt nicht wirklich überraschend. :-)
Ich will (wie bereits gesagt) deren Nutzen auch nicht grundsätzlich bestreiten. Sondern darum, das man halt die Prioritäten bei den Maßnahmen so setzt, das man Software mit möglichst wenig Bugs heraus bekommt. Und Telemetrie würde ich da eher weiter hinten einreihen.

Zumal (wie gesagt) es ja auch Nachteile hat.

Ich wage zu behaupten, die meiste Software hat heutzutage anteilig deutlich mehr 3rd-Party-Code und deutlich weniger selbstgeschriebenen Code.
Das ist sicher richtig. Ändert nur für meine Sicht als Anwender nix. Da ist es egal, ob der Bug aus einer Drittbibliothek kommt oder vom Programm selbst. Bug ist Bug.

Inzwischen kann ich mich nicht mehr daran erinnern, wann mir der letzte SIGSEGV bei einem 08/15-Utility begegnet ist.
Also wenn man less bis heute nicht halbwegs bugfrei gekriegt hätte, wäre das ja auch ein Armutszeugnis. :-)

Die Anforderungen und Erwartungen sind erheblich gewachsen. Würde man heute eine Anwendung mit Erwartungshaltung und Anforderungen von vor 20 Jahren umsetzen, wäre man mit weniger Aufwand in kürzerer Zeit und höherer Qualität fertig.
Ja. Dazu hatte ich aber bereits was gesagt. Die Software und Ansprüche sind komplexer geworden. Dafür war aber auch Software entwickeln noch nie so einfach wie heute.

Abgesehen davon kann Anspruch und Komplexität allein keine Ausrede für schlechte Softwarequalität sein. Wenn ich in Bereiche und Funktionalitäten vordringe, die ich eigentlich (noch) nicht beherrsche, sollte ich daraus kein Produkt machen, welches ich unter die Leute werfe.
Heutzutage ist es aber eher umgekehrt. Und da wird teilweise nicht mal ein Hehl draus gemacht. Da wird dann einfach "beta" drangeschrieben.

Wie man das grundsätzlich lösen kann weiß ich auch nicht. Es wurde ja bereits aufgeworfen, das "der Markt" schlechte Qualität nicht unbedingt bestraft. Offenbar haben sich die Kunden daran gewöhnt. Die akzeptieren das nicht nur, sondern verteidigen das teilweise sogar. Die übernehmen inzwischen die Sprechblasen die sonst immer die Softwareindustrie bemüht so a-la " Ist nun mal so" und "Keine Software ist fehlerfrei". Die hat man sich offenbar schon zum Großteil zurechterzogen. :-)

Über die Ursachen und Lösungsmöglichkeiten kann man sicher diskutieren. Was aber (aus meiner Sicht) festzuhalten bleibt ist, das wir ein Qualitätsproblem haben. Und selbst wenn es früher schlechter gewesen sein sollte ist das weder eine Begründung noch eine Rechtfertigung für den jetzigen Zustand.
Von Software hängt heutzutage viel zu viel ab. Irgendeine Sicherheitslücke in irgendeinem IoT-Chinaschrott mag man ja noch als niedlich belächeln. Wenn dann aber irgendeine Malware oder ein Bug die Produktion zum Stillstand bringt, dann ist das nicht mehr so witzig. Und dann hängen da auch schnell mal Existenzen dran.

Wer setzt schon Software ein, die seit 5 Jahren keine Updates mehr bekommen hat, egal ob sie bugfrei ist oder nicht. Irgendwie werden Patches erwartet und sind - so paradox das erscheinen mag - ein "Qualitaetsmerkmal".
Ja. Das hab ich auch nie verstanden. Patchdays oder sogar Daily-Updates sind heutzutage an der Tagesordnung.
Eigentlich wollen viele nur ein System/Programm haben was einfach funktioniert. Sobald Updates ins Spiel kommen wirds schwierig.
Weil dann steh' ich plötzlich vor der Entscheidung:
Spiele ich das Update ein und riskiere damit, das beim Update was schief geht und ich dann bestimmte Sachen nicht mehr machen kann und ich sogar Zeit und Aufwand reinstecken muss, um das wieder zum laufen zu kriegen
Oder spiele ich das Update nicht ein und riskiere damit, das da offene bekannte Sicherheitslücken sind, die dann früher oder später (heutzutage meist früher) ausgenutzt werden.

Und Feature-Updates sind noch problematischer. Ich kaufe ja ein bestimmtes Produkt weil es jetzt die Funktionalität hat die ich brauche. Ich würde ja nicht einfach irgendwas kaufen in der Hoffnung das dann bei den Feature-Updates des Herstellers irgendwann mal ein Feature dabei ist das ich brauche.
Zumal mich die Erfahrung gelehrt hat, das Vieles auch verschlimmbessert wird. :-)
Und neue Funktionen bringen potentiell auch immer neue Bugs. Dann krieg ich also im Schlimmsten Fall Features die ich nicht brauche und die dann auch noch dazu führen das das Produkt fehlerhaft wird.

Erschwerend kommt hinzu, das der Unterschied zwischen Bugfixes und Feature-Updates zunehmend verwässert wird. Die bekommt man ja oftmals sogar nur als Bundle.

Auch bei Monstersoftware wie z.B. DATEV beobachte ich das seit ueber 20 Jahren. Nach jedem Upgrade ist die Software fetter und traeger. Es werden hunderte Module geladen, von denen man allerdings nur einen Bruchteil benoetigt.
Ja. Das finde ich auch lustig. Vor 30 Jahren hat man uns erzählt, das die Zukunft in modularer Software steckt. Du nimmst nur noch die Module die Du brauchst. Hat natürlich nie funktioniert.

Guck Dir allein Browser an (ist deshalb ein passendes Beispiel, weils jeder nachvollziehen kann). Die haben das ja auch mal versucht mit Plugins und AddOns. Firefox ist mal als schlanker Browser angetreten. Auch da war das Versprechen: Schmale Basis und der Rest kommt via AddOns dazu. Und dann guck heute mal, was so ein Firefox (oder nen beliebigen anderen modernen Browser) ohne AddOns schon allein auf die Waage bringt und was ich da alles für Schnickschnack drin hab, den ich gar nicht brauche.

In diesem vergleichsweise jungen Feld (Smartphones in dieser Form gibt es erst 14 Jahre) ist es aber auch schwierig, langjährigen Treiber-Support von Lieferanten für die Bauteile zu bekommen, was kurze Produktzyklen begünstigt.
Der Witz ist ja, wenn das nicht alles irgendwelche Closed-Source-BLOBs wären würden sich sogar Hacker finden, die Support leisten.
Vielleicht sollte man darüber nachdenken das solche Sachen verpflichtend Open-Source gemacht werden, wenn der Hersteller selbst kein Support mehr leistet.

Übrigens finde ich es ne lahme Ausrede von Smartphone-Herstellern wenn die sagen: Tja. Da können wir nix machen. Wir haben die Teile nicht selbst entwickelt sondern zugekauft. Die Entscheidung das zuzukaufen liegt ja bei dem Hersteller.

Langlebigere Produkte wären auf jeden Fall erstrebenswert. Klar. Die kosten auch mehr. Allerdings sollte der Kostenfaktor nicht der alles Entscheidende sein. Sonst könnten wir auch gleich alle Umweltschutzauflagen abschaffen. Sind ja nur Kosten die niemanden was bringen. :-)

Das Argument, das man ja auch alternative (langlebige) Produkte kriegt und der Käufer sozusagen via Kauf entscheiden kann, kann ich auch nur zum Teil gelten lassen.
Denn in anderen Bereichen hat man ja auch Regularien, die zumindest einen Mindeststandard an Produktsicherheit und Qualität vorschreiben. Warum sollte man das bei Software anders handhaben? Warum sollte es dort keine Regeln geben die Vorschreiben, das für eine gewisse Anzahl von Jahren verpflichtend Security-Updates angeboten werden müssen.
 
Zuletzt bearbeitet:
das dubiose unsicherheitsgefühl der ehefrau gegenüber den Kindern.
Ich bin ja noch ganz klassisch zu Fuß in die Schule gegangen. Wie meine Schulkameraden auch. Wenn da jemand mit Auto gebracht worden wäre, hätte der sich eher anhören müssen was er für ein Muttersöhnchen sei, sich da mit Auto hinfahren zu lassen.
Wie sich die Zeiten ändern.

Heute fährt Mami selbstverständlich die Sprößlinge zur Schule wegen ähm .... ja weil um die Schule herum morgens und beim Schulschluss immer soviel Autoverkehr ist. Das wäre viel zu gefährlich wenn man den Kleinen da allein rumlaufen ließe. :-)
 

Apple hat ja damit tatsächlich die Abstürze verhindert, die alte iPhones bedingt durch den Batterieverschleiß geplagt haben (und die Apple dank der Telemetrie überhaupt mitgekriegt hat). Die Strafe bezog sich ja hauptsächlich darauf, dass Apple die Kunden weder informiert hat noch ein opt-out möglich war. Gerade Apple ist ja im Bezug auf den Support alter Smartphones die Referenz (und das sage ich als Android-User).

Auch bei Monstersoftware wie z.B. DATEV beobachte ich das seit ueber 20 Jahren. Nach jedem Upgrade ist die Software fetter und traeger. Es werden hunderte Module geladen, von denen man allerdings nur einen Bruchteil benoetigt. Spaetestens nach 2-3 Releases ist neue Hardware notwendig. Alleine ein Update oder Bugfix dauert teilweise Stunden. Ein Umzug auf einen neuen Server dauert Tage und ist ohne Support kaum noch moeglich.

In Kenntnis von DATEV-Software kann ich dir versichern, dass es nichts mit böser Absicht oder forcierten Hardware-Upgrades zu tun hat. Aufgrund historisch gewachsener Strukturen war irgendwann mal die Komplettinstallation von praktisch allen Modulen die einzige Möglichkeit, die Unmenge von Problemen und Supportfällen zu vermeiden. Aufgrund der Vielzahl beteiligter Bereiche und genossenschaftlicher Behäbigkeit gab es dafür auch keine Lösung, die man mit 3 Leuten in einem Raum hätte mal eben beschließen können.

Abgesehen davon kann Anspruch und Komplexität allein keine Ausrede für schlechte Softwarequalität sein. Wenn ich in Bereiche und Funktionalitäten vordringe, die ich eigentlich (noch) nicht beherrsche, sollte ich daraus kein Produkt machen, welches ich unter die Leute werfe.

Neue Software ist immer Forschung und Entwicklung. Wo deine tatsächlichen Komplexitätsgrenzen liegen, findest du (oder dann deine Nutzer) beim Erreichen derselbigen heraus.

Heutzutage ist es aber eher umgekehrt. Und da wird teilweise nicht mal ein Hehl draus gemacht. Da wird dann einfach "beta" drangeschrieben.

Kein Plan überlebt den Produktionseinsatz. Irgendwann mal brauchst du das Feedback einer großen Nutzerbasis, willst du nicht am Bedarf vorbeientwickeln.

Und selbst wenn es früher schlechter gewesen sein sollte ist das weder eine Begründung noch eine Rechtfertigung für den jetzigen Zustand.

Die Herstellung qualitativ hochwertiger Software unter realen Bedingungen ist leider kein triviales Problem. Von außen sieht es natürlich immer leicht aus.

Zumindest für die Software, mit der ich jeden Tag arbeite, kann ich behaupten: die Qualität ist gut genug. Besser geht natürlich immer, aber Weihnachten ist ja noch etwas hin. :)

Ja. Das hab ich auch nie verstanden. Patchdays oder sogar Daily-Updates sind heutzutage an der Tagesordnung.

Viele kleine Updates sind doch um Größenordnungen besser als Big-Bang-Releases und tragen erheblich zur Qualitätsverbesserung bei.

Eigentlich wollen viele nur ein System/Programm haben was einfach funktioniert.

Natürlich - solange es mit allen aktuellen Anforderungen auch funktioniert. Wasch mir den Pelz, aber mach mich nicht nass.

Sobald Updates ins Spiel kommen wirds schwierig.

Die Alternative wäre die Einstellung jeglicher Weiterentwicklung und Stillstand?!

Oder spiele ich das Update nicht ein und riskiere damit, das da offene bekannte Sicherheitslücken sind, die dann früher oder später (heutzutage meist früher) ausgenutzt werden.

Solange dein System am Netz hängt, hast du sowieso praktisch keine Wahl. Es gibt nur die Flucht nach vorn.

Und Feature-Updates sind noch problematischer. Ich kaufe ja ein bestimmtes Produkt weil es jetzt die Funktionalität hat die ich brauche. Ich würde ja nicht einfach irgendwas kaufen in der Hoffnung das dann bei den Feature-Updates des Herstellers irgendwann mal ein Feature dabei ist das ich brauche.

Das hängt vom Produkt ab.

Bei meiner Entwicklungsumgebung erwarte ich schon, dass sie sich weiterentwickelt und aktuelle Standards unterstützt. Ebenso erwarte ich, dass sie gute Features der Konkurrenz übernimmt.

Mit dem Feature-Set von vor 10 Jahren würde ich sie nicht mehr einsetzen.

Erschwerend kommt hinzu, das der Unterschied zwischen Bugfixes und Feature-Updates zunehmend verwässert wird. Die bekommt man ja oftmals sogar nur als Bundle.

Weniger unterschiedliche Konfigurationen und Releases, die unterstützt werden, führen zu besserer Qualität. Die Qualität kann dann immer noch unbefriedigend sein; aber wenn man eine einzige Konfiguration nicht im Griff hat, dann erst recht nicht dutzende.

Ja. Das finde ich auch lustig. Vor 30 Jahren hat man uns erzählt, das die Zukunft in modularer Software steckt. Du nimmst nur noch die Module die Du brauchst. Hat natürlich nie funktioniert.

Siehe oben - je mehr unterschiedliche Varianten existieren, desto komplexer und fehleranfälliger wird es.

Und dann guck heute mal, was so ein Firefox (oder nen beliebigen anderen modernen Browser) ohne AddOns schon allein auf die Waage bringt und was ich da alles für Schnickschnack drin hab, den ich gar nicht brauche.

Andere User brauchen und wollen das und es steht dir ja frei, den Browser deiner Wahl einzusetzen. Zumal die mit den Systemanforderungen eines modernen Browsers die wenigsten Rechner ins Schwitzen bringst.

Der Witz ist ja, wenn das nicht alles irgendwelche Closed-Source-BLOBs wären würden sich sogar Hacker finden, die Support leisten.

In vielen Fällen dürfen die Hersteller aufgrund von Lizenzabkommen die Treiber gar nicht als Open-Source veröffentlichen.

Vielleicht sollte man darüber nachdenken das solche Sachen verpflichtend Open-Source gemacht werden, wenn der Hersteller selbst kein Support mehr leistet.

Eine Gewährleistungspflicht für Updates für einen gewissen Zeitraum wäre schon mal ein Anfang.

Übrigens finde ich es ne lahme Ausrede von Smartphone-Herstellern wenn die sagen: Tja. Da können wir nix machen. Wir haben die Teile nicht selbst entwickelt sondern zugekauft. Die Entscheidung das zuzukaufen liegt ja bei dem Hersteller.

Machst du dir es nicht etwas einfach? Bei der Komplexität von Smartphones kann das Stand heute kein Unternehmen eine solche Fertigungstiefe erreichen, nicht mal Apple oder Samsung.

In den meisten Fällen ist die Frage nur, von welchen Zulieferer man das jeweilige Bauteil nimmt. Du hast dann die Wahl zwischen 4 Herstellern, die dir 3 Jahre, 3 Jahre, 3 Jahre und 3 Jahre Support zusichern. Wenn es blöd läuft, geht der von dir gewählte Hersteller vor Ablauf der 3 Jahre pleite und liefert entgegen der Zusagen keine Updates mehr.

Mit verdammt tiefen Taschen kann man zwischendurch mal die Fertigungstiefe etwas erhöhen (siehe Apples M1).

Ansonsten ist die Alternative der Ausstieg aus dem Smartphone-Geschäft.

Langlebigere Produkte wären auf jeden Fall erstrebenswert. Klar. Die kosten auch mehr. Allerdings sollte der Kostenfaktor nicht der alles Entscheidende sein.

Als Konsument muss ich mich leider mit der Begrenzheit meines Budgets herumärgern. :ugly:
Als IT-ler habe ich noch den Luxus, nicht auf den letzten Cent schauen zu müssen. Viele andere haben diese Option nicht.

Das Argument, das man ja auch alternative (langlebige) Produkte kriegt und der Käufer sozusagen via Kauf entscheiden kann, kann ich auch nur zum Teil gelten lassen.

Das war meinerseits auf die Ausgangsfrage bzw. -aussage bezogen, es gäbe kaum noch "bezahlbare und nachhaltige Qualitaet", selbst wenn man wollte.

Ich möchte ja gar nicht in Abrede stellen, dass viele Konsumenten den billigsten Anbieter nehmen und mancherorts entsprechende Vorschriften wünschenswert wären. Darauf habe ich als Einzelperson aber jenseits meiner eigenen Konsumentscheidungen keinen nennenswerten Einfluss.

Denn in anderen Bereichen hat man ja auch Regularien, die zumindest einen Mindeststandard an Produktsicherheit und Qualität vorschreiben. Warum sollte man das bei Software anders handhaben?

Welche objektive und belastbare Metrik für die Qualität von Software hast du im Sinn?

Warum sollte es dort keine Regeln geben die Vorschreiben, das für eine gewisse Anzahl von Jahren verpflichtend Security-Updates angeboten werden müssen.

Zumindest bei Lizenzverträgen ist das üblicherweise Bestandteil des Vertrages bzw. eine vom Hersteller sowieso zugesicherte Eigenschaft.

Bei u.a. Smartphones, wie bereits erwähnt, wäre es auch aus meiner Sicht wünschenswert. Leider ist auch mein politischer Einfluss mangels tiefer Taschen und medialer Wirkung sehr begrenzt.
 
Zurück
Oben