Künstliche Intelligenz
Dumm oder mit WLAN & App: Was für eine smarte Waschmaschine ab 300 Euro spricht
WLAN und App bei der Waschmaschine? In Verbindung mit einem Smart Home kann das nervige Aufgaben erleichtern, Fehler vermeiden und Geld sparen.
Waschmaschinen mit WLAN-Anbindung und App-Steuerung versprechen höheren Komfort, bessere Kontrolle und sogar Energieeinsparungen. Inzwischen sind viele Funktionen auch bei günstigen Geräten für unter 300 Euro zu haben. Doch was steckt wirklich hinter den smarten Funktionen, welche braucht man – und für wen lohnt sich die Anschaffung einer vernetzten Waschmaschine?
Die Waschmaschine gehört zu den wichtigsten Haushaltsgeräten. Sie läuft regelmäßig, verbraucht Strom und Wasser und bleibt meist unbeachtet, sofern sie funktioniert. Doch während Heizung, Beleuchtung und Haustür längst auf das Smart Home reagieren, liegen Waschmaschinen in der Prio-Liste der Vernetzung erstaunlich weit hinten. Immerhin entdecken immer mehr Hersteller die Waschmaschine als Baustein im vernetzten Zuhause – und bauen WLAN und smarte Funktionen längst nicht mehr nur in Top-Modelle ein, sondern auch in den Einsteiger-Klassen mit fairem Preis-Leistungs-Faktor. Mittlerweile findet man die Vernetzung schon bei Modellen, die für 299 Euro beworben werden.
Besonders im mittleren und oberen Preissegment ab etwa 600 Euro gibt es kaum noch Geräte, die nicht mit App und WLAN ausgestattet sind. Marken wie Bosch, Siemens, Samsung, LG, AEG oder Miele bieten zahlreiche Modelle mit App-Steuerung an. Die Versprechen klingen verlockend: Waschen per Smartphone starten, Verbrauch im Blick behalten, automatische, verschmutzungs- und umweltgerechte Dosierung der Waschmittel, smarte Programmwahl, Vermeiden von Farbunfällen und sogar Geld sparen dank Einbindung ins Smart Home.
Was bedeutet „smart“ bei Waschmaschinen?
Wer eine Waschmaschine mit WLAN kauft, kann diese mit dem eigenen Netzwerk verbinden und über eine Smartphone-App steuern. Klingt zunächst nach Spielerei – beim näheren Hinsehen ergeben sich jedoch einige praktische Möglichkeiten. Voraussetzung ist freilich, dass WLAN verfügbar ist – wer seine Maschine im Gemeinschaftskeller des Mehrfamilienhauses stellt und den Router im fünften Stock betreibt, hat schlechte Karten. Ein vergleichbares Problem kennen wir schon von smarten Stromzählern.
Steht die Verbindung, lässt sich der Waschvorgang von unterwegs starten. Das ist hilfreich, wenn man zum Beispiel auf dem Heimweg ist und die Wäsche möglichst frisch aus der Trommel holen möchte. Statt stundenlang in der feuchten Trommel zu liegen und dabei unangenehme Gerüche zu produzieren, läuft das Waschprogramm genau rechtzeitig los. Einige Modelle senden zudem eine Push-Nachricht ans Handy, wenn die Maschine fertig ist oder ein Problem erkannt wurde – etwa ein Wasserleck oder ein blockierter Abfluss.
Besonders nützlich sind Waschmaschinen, die automatisch die Beladung erkennen und das Waschprogramm darauf abstimmen. Manche Geräte analysieren sogar den Verschmutzungsgrad des Wassers, um die Waschdauer flexibel anzupassen. In Kombination mit automatischer Waschmitteldosierung, wie sie etwa bei Bosch (i-DOS) oder AEG (AutoDose) zum Einsatz kommt, wird der Waschvorgang effizienter und schonender für Textilien und Umwelt.
Auch die Sprachsteuerung per Alexa oder Google Assistant ist inzwischen bei einigen Herstellern möglich. So kann man etwa den aktuellen Status abfragen oder einen Waschgang starten, ohne das Smartphone in die Hand zu nehmen. Allerdings funktioniert das nur, wenn die App des Herstellers entsprechende Schnittstellen bietet – und diese auch zuverlässig arbeiten. Ein Beispiel dafür ist das Home-Connect-System von Bosch, welches etwa bei der Bosch WGB244A40 integriert ist.
Praktischer Nutzen: Wann lohnen sich die smarten Funktionen wirklich?
Ob sich eine smarte Waschmaschine lohnt, hängt stark vom Alltag und den eigenen Ansprüchen ab. Wer regelmäßig wäscht, die Maschine nicht in Hörweite der Wohnungstür betreibt oder viel unterwegs ist, profitiert durchaus von den Komfortfunktionen.
Ein Beispiel: In einem Haushalt mit Kindern fällt häufig Wäsche an – oft zu ungünstigen Zeiten. Wenn die Maschine über die App steuerbar ist, lässt sich der Waschgang auch spät abends oder in der Mittagspause anstoßen, ohne dass man vor Ort sein muss. Die Benachrichtigung aufs Handy verhindert unnötige Wartezeiten oder vergessene Trommeln.
In einem anderen Szenario nutzen Technikaffine die Waschmaschine als Teil ihres Smart Homes. Sie integrieren das Gerät in Automatisierungen, etwa mit Home Assistant oder Apple Homekit. So lässt sich die Maschine automatisch dann starten, wenn der eigene Stromverbrauch niedrig oder der Strompreis besonders günstig ist. Auch in Haushalten mit Photovoltaik-Anlage oder Balkonkraftwerk kann das hilfreich sein – etwa wenn die Waschmaschine genau dann loslegt, wenn die Sonne scheint und viel Eigenstrom produziert wird.
Bei fast allen Herstellern kann man seine eigenen Waschprogramme konfigurieren und in der App festlegen, wie viele Spülvorgänge es geben soll, wie viele Schleuder-Umdrehungen, wie viel Wasser und welche Temperatur. Manche Apps beraten, wie viele Wolldecken man mit wie vielen Frotteehandtüchern zusammen in die Trommel packen sollte. Aber wie so oft: Wirklich smart wird es erst dann, wenn man sich nicht selbst damit auseinander setzen muss, was für diese Wäsche jetzt die richtige Einstellung ist.
Einige der Funktionen lesen sich spannend, werden in der Praxis aber wohl selten zum Einsatz kommen. So kann man mit der App von Haier die Waschetiketten aller Kleidungsstücke abfotografieren, die man in die Trommel packt. Die Handy-App sorgt dann dafür, dass auf jeden Fall das richtige Waschprogramm läuft. Gut möglich, dass Singles mit geringem Wäscheaufkommen so etwas gelegentlich nutzen, um zu verhindern, dass der Wollpullover des neuen Schwarms in Kindergröße wieder herauskommt. Aber es wirkt unrealistisch, dass jemand solche Tätigkeiten beim täglichen Waschen in der kinderreichen Großfamilie tatsächlich regelmäßig durchführt. Schließlich gibt es auch (fast) niemanden, der den Inhalt seines Kühlschranks täglich mit Waage, Barcodescanner und Eingabe des Haltbarkeitsdatums indiziert, obwohl die Technik dafür auch schon seit Jahren verfügbar wäre.
Hersteller und Modelle im Überblick: Was bekommt man für sein Geld?
Die bekannten Hersteller setzen auf eigene App-Plattformen. Bosch und Siemens nutzen Home Connect, LG setzt auf die ThinQ-App, Samsung auf Smartthings. Es gibt eigene Lösungen von AEG, Haier oder Gorenje. Preislich beginnen smarte Waschmaschinen bei inwzischen bei knapp 300 Euro. Wer etwas mehr auf den Tisch legt, hat eine größere Auswahl inklusive bekannter Marken – etwa von Samsung oder LG. Wer mehr Komfort, leisere Direktantriebe und automatische Dosierung wünscht, landet schnell bei 800 bis über 1000 Euro. Miele und Bosch bewegen sich im oberen Bereich, bieten dafür aber auch mehr Ausstattung und leben von ihrem guten Ruf. Preis-Tipp: Nicht bei jedem Hersteller muss man ganz oben ins Regal greifen, um smarte Funktionen zu bekommen. Die Gorenje WPAM74SA1T wechselt schon für 379 Euro den Besitzer.
Bosch bietet mit Home Connect eine solide App mit klarer Struktur und guter Integration in andere Smart-Home-Systeme wie Home Assistant. Viele der Geräte verfügen über i-DOS, also eine automatische Waschmitteldosierung, sowie eine Beladungserkennung. LG wirbt mit „AI Direct Drive“: Die Maschine erkennt Textilarten und vergleicht sie mit einer Datenbank, um das passende Programm zu wählen. Samsung setzt auf „AI Ecobubble“, eine Funktion, die Schaum vor dem Waschgang erzeugt und so bei niedrigen Temperaturen effizient waschen soll. Die Smartthings-App bietet eine gute Benutzeroberfläche, erlaubt aber wenig Eingriffe durch Drittsysteme.
Miele und AEG legen den Fokus auf eigene Ökosysteme. Die Apps sind übersichtlich, bieten aber weniger Freiheiten für Bastler oder Smart-Home-Fans.
Geld sparen: So funktioniert nachhaltiges Waschen mit smarter Technik
Ein großer Vorteil smarter Waschmaschinen liegt im gezielten Energiemanagement. Wer einen dynamischen Stromtarif nutzt – etwa von Anbietern wie Tibber oder Awattar –, kann die Waschmaschine automatisiert dann starten lassen, wenn der Strompreis besonders niedrig ist. Die Preise ändern sich dort stündlich, je nach Angebot und Nachfrage am Strommarkt.
In Kombination mit einem Smart-Home-System (Bestenliste) lässt sich die Waschmaschine so programmieren, dass sie nur dann startet, wenn der Preis unter einen bestimmten Wert fällt. Das spart nicht nur Geld, sondern entlastet auch das Stromnetz.
Noch interessanter wird es mit einer eigenen Photovoltaik-Anlage oder einem Balkonkraftwerk (Bestenliste). Über eine smarte Steckdose (Bestenliste) wie den Shelly Plug oder FritzDECT lassen sich Energieflüsse messen. Wenn der Eigenverbrauch über einen definierten Schwellenwert steigt – etwa weil gerade viel Sonnenstrom produziert wird – startet die Waschmaschine automatisch. So nutzt man den selbst erzeugten Strom direkt und reduziert den Bezug aus dem Netz.
Diese Form der Automatisierung erfordert zwar etwas technisches Know-how, lässt sich aber mit Plattformen wie Home Assistant vergleichsweise einfach umsetzen. Wer seine Waschmaschine regelmäßig auf diese Weise betreibt, kann je nach Stromtarif mehrere Euro im Monat sparen – und gleichzeitig Umwelt und Stromnetz schonen.
KI-Funktionen: Intelligente Unterstützung oder nur ein Etikett?
Viele Hersteller bewerben ihre Waschmaschinen inzwischen mit Künstlicher Intelligenz – doch was steckt dahinter?
In der Praxis handelt es sich meist um regelbasierte Systeme, die mit Hilfe von Sensoren Beladung, Textilart und Verschmutzungsgrad erkennen und daraufhin das optimale Waschprogramm vorschlagen. LGs AI Direct Drive analysiert beispielsweise die Trommelbewegung und vergleicht sie mit hinterlegten Mustern, um die Art der Kleidung respektive die verwendeten Stoffe zu bestimmen. Samsung setzt auf eine Kombination aus Sensoren und App-Empfehlungen, um das passende Programm auszuwählen.
Tatsächlich können diese Funktionen den Alltag erleichtern, besonders für Nutzer, die sich nicht mit Programmnamen wie „Baumwolle Eco 60°C“ auseinandersetzen wollen. Die Maschine wählt selbstständig ein Programm, das so wenig Energie und Waschmittel wie möglich verbraucht, aber trotzdem sauber wäscht. „Künstliche Intelligenz“ im eigentlichen Sinne – also selbstlernende Systeme mit kontinuierlicher Verbesserung – steckt dahinter aber in der Regel nicht.
Ausstattung: Was eine moderne Waschmaschine unbedingt mitbringen sollte
Unabhängig vom Smart-Label gibt es technische Merkmale, auf die man beim Kauf achten sollte. Ein leiser Direktantrieb – oft als Inverter-Motor oder Direct Drive bezeichnet – sorgt für weniger Vibrationen, höhere Laufruhe und längere Lebensdauer. Eine automatische Beladungserkennung hilft dabei, Wasser und Energie zu sparen, indem sie das Waschprogramm anpasst. Die automatische Waschmitteldosierung ist nicht nur komfortabel, sondern verhindert auch Überdosierung – gut für Umwelt und Geldbeutel. Und obwohl sie so heißt, dosiert sie nicht nur das Waschmittel, sondern bei Bedarf auch den Weich- oder Hygienespüler.
Sicherheitsfunktionen wie Aquastopp oder Leckagesensoren sollten ebenfalls vorhanden sein. Bei App-Anbindung gibts im Störungsfall auch sofort eine Push-Nachricht aufs Handy. Nett zu haben, aber weniger wichtig sind dagegen Spielereien wie eine beleuchtete Trommel oder aufwendige Touchdisplays, die zwar toll aussehen, aber nicht immer zur Bedienfreundlichkeit beitragen. Und je nachdem, wie organisiert man ist, sind die Nachlege-Systeme moderner Waschmaschinen sehr praktisch. Mit denen kann man den vergessenen Socken oder die Unterhose, die doch noch unterm Bett lag, nach Start des Waschprogramms hinzugeben.
Fazit: Für wen lohnt sich eine smarte Waschmaschine?
Smarte Waschmaschinen sind kein Muss – aber sie bieten echten Mehrwert, wenn man ihre Funktionen sinnvoll nutzt. Für Gelegenheitswäscher oder Technikmuffel lohnt sich der Aufpreis nur bedingt. Hier genügt oft ein solides Modell ohne WLAN – solange es die wichtigsten Grundfunktionen mitbringt.
Wer viel wäscht, sich für Energieoptimierung interessiert oder bereits ein Smart Home betreibt, profitiert vom zusätzlichen Komfort und Sparpotenzial. Auch Familien oder Berufstätige mit wenig Zeit können von Fernstart, Benachrichtigungen und automatischer Dosierung spürbar profitieren.
Wer sich für eine smarte Waschmaschine entscheidet, sollte neben den App-Funktionen vor allem auf Qualität, Energieeffizienz und sinnvolle Automatisierung achten. Denn erst wenn Technik den Alltag wirklich erleichtert – und nicht nur bunter macht – wird aus „smart“ auch „clever“.
Künstliche Intelligenz
Bastelanleitung: Joystick aus IKEA-Kiste bauen
Der Bau eines eigenen Gamecontrollers ist ein besonders schönes Projekt für angehende (und auch junge) Maker, denn er erfordert wenig technische Vorkenntnisse und führt, mit höchstens sehr einfachen Lötaufgaben, schnell zu einem praktischen, selbst gebauten Gerät – mit dem man eine Menge Spaß haben kann. Dafür notwendige Sets, die einen Joystick, leuchtende Knöpfe sowie alle notwendigen Kabel und die Platine zum Anschluss an einen USB-Port enthalten, kosten ca. 25 Euro. Diese muss man nur noch in ein passendes Gehäuse verbauen. Dafür eignet sich im Prinzip natürlich nahezu jede größere Box oder Holzkiste, etwa eine Weinkiste, für den Einbau von ein oder sogar zwei Joysticks samt Knöpfen.
Was die Ikea-Boxen namens Glis (in der Größe 17 × 10 × 8 cm), die es in verschiedenen Farben im 3er-Pack für 6,99 Euro gibt, für solch ein Projekt aber geradezu prädestiniert, sind die vier Einkerbungen im Deckel, die ursprünglich dazu dienen, die Kisten besser stapeln zu können. Für uns markieren sie stattdessen die Position von vier Arcade-Buttons. Außerdem lassen sich die Boxen leicht bearbeiten und bleiben dennoch stabil genug.
- Controller für Retro-Gaming bauen
- Ikea-Boxen umfunktionieren
- Frei konfigurierbare Tastenbelegung
Schnell gebohrt
Die notwendigen Löcher für die Knöpfe kann man nicht nur mit einem Stufen- bzw. Lochbohrer (der Durchmesser der Knöpfe beträgt in der Regel 30 mm) in den Deckel bohren, notfalls reicht auch der Schleifaufsatz eines Dremels aus – ein Werkzeug, das man versierten Kindern und Jugendlichen durchaus eigenverantwortlich in die Hand geben kann .
Das war die Leseprobe unseres heise-Plus-Artikels „Bastelanleitung: Joystick aus IKEA-Kiste bauen“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.
Künstliche Intelligenz
Bericht: Apples Diensteabteilung überholt Umsatz von Tesla
Analysten gehen davon aus, dass es Apple erstmals gelingt, in seiner schnell wachsenden Sparte Services einen Jahresumsatz von 100 Milliarden US-Dollar zu überschreiten. Das berichtet die Financial Times. Im Finanzjahr sollen es demnach insgesamt 108,6 Milliarden Dollar sein, ein Plus von 13 Prozent gegenüber dem Vorjahr, so eine Prognose von Visible Alpha, aus der die Zeitung zitiert. Apple berichtet am Donnerstag seine Quartalszahlen, die auch das Fiskaljahr abschließen, das jeweils im September endet. Der Bericht sorgte für gute Stimmung an der US-Technologiebörse NASDAQ: Apple gelang es am Dienstag kurzzeitig, erstmals einen Unternehmenswert von vier Billionen Dollar zu überspringen, etwas, was zuvor nur Nvidia und Microsoft gelungen war.
Weiterlesen nach der Anzeige
Massive Sparte mit hohen Gewinnen
Zur Einordnung: Sollten die Flüsterzahlen stimmen, wäre Apples Dienstegeschäft allein umsatzstärker als der E-Auto-Spezialist Tesla oder der Unterhaltungskonzern Disney. Frühere Schätzungen gingen davon aus, dass die Services-Sparte, die unter dem langjährigen Manager Eddy Cue, dem Senior Vice President of Internet Software and Services, agiert, ein Viertel von Apples Umsatz ausmachen und bis zur Hälfte der Gewinne liefern. Die Margen sind äußerst lukrativ.
Zu Apples Services gehören insbesondere der App Store mit seinen hohen Provisionen, aber auch der Abodienst iCloud+, die Streaming-Angebote Apple TV und Apple Music, die Support- und Serviceabteilung AppleCare, der Bezahldienst Apple Pay sowie kleinere Angebote wie der Videospieledienst Arcade oder das Nachrichtenangebot News+. Hinzu kommen Einnahmen wie jene, die Google für die Platzierung im Browser Safari zahlt – allein das sind wohl im Jahr über 20 Milliarden Dollar.
Apple steht unter Druck
Dass der Umsatz weiter derart wächst, ist bemerkenswert, weil das App-Store-Geschäft in vielen Teilen der Welt unter Druck steht. So erzwingt etwa die EU die Öffnung von Apples Plattform inklusiver alternativer App-Marktplätze, schreibt Apple vor, alternative Bezahlwege zuzulassen. Anderswo agieren Regulierer ähnlich – von Japan bis Brasilien. Auch gibt es immer wieder Klagen von App-Anbietern inklusive weltweit ausgetragenen Streitigkeiten mit dem Spieleriesen Epic Games.
Schließlich sah es zwischenzeitlich danach aus, dass Apple seine Sucheinnahmen von Google verlieren könnte, doch ein US-Gericht entschied in einem Kartelverfahren dann anders. Noch keinen zusätzlichen Cent macht Apple unterdessen mit seinem Sorgenkind Apple Intelligence. Das KI-System ist kostenloser Teil der Betriebssysteme, während Chatbot-Konzerne wie OpenAI oder Anthropic hohe Monatsgebühren von 20 Euro und mehr verlangen – allerdings für eine deutlich bessere Leistung.
Weiterlesen nach der Anzeige
(bsc)
Künstliche Intelligenz
Softwareentwicklung: Debugger? Nein, danke! | heise online
Ich benutze seit vielen Jahren keinen Debugger mehr. Stattdessen füge ich console.log oder fmt.Println an den Stellen in meinen Code ein, wo ich es für sinnvoll erachte. Dafür werde ich oft belächelt und gelegentlich kritisiert, weil das vermeintlich kein „richtiges“ Fehlersuchen wäre.
Weiterlesen nach der Anzeige

Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
Ich habe jedoch meine Gründe, und die sind – aus meiner Sicht – durchaus gut. Am Ende des Tages bin nämlich oft ich derjenige, der gefragt oder gerufen wird, wenn anderen Entwicklern (trotz Debugger) die Ideen ausgehen. Und ich finde den Fehler dann in der Regel nach einer Weile. Nicht weil ich keinen Debugger benutze, sondern weil letztlich die Methodik entscheidet und nicht das Tool.
Fangen wir damit an, was mir vorgeworfen wird. Da heißt es oft:
„Ach, du benutzt console.log? Wie niedlich!“
Oder:
„Das ist doch kein richtiges Debugging!“
Oder:
Weiterlesen nach der Anzeige
„Den Typen sollte man niemals wichtigen Code schreiben lassen, das ist kein richtiger Entwickler, der benutzt ja noch nicht mal einen Debugger!“
Die implizite Annahme dahinter ist immer: Ein guter Entwickler muss einen Debugger beherrschen. Interessanterweise ist das allerdings stark von der Community abhängig, in der man sich bewegt. In der Go- und in der JavaScript-Community beispielsweise sind fmt.Println beziehungsweise console.log völlig normal und akzeptiert. Niemand guckt einen da schräg an. In der Java- oder C#-Welt hingegen wird der Einsatz eines Debuggers oft als Pflicht angesehen. Das zeigt bereits: Es gibt nicht die eine richtige Art zu debuggen. Das ist stark davon abhängig, in welchem Ökosystem man sich bewegt.
Set-up-Aufwand und fehlende Übung
Warum benutze ich nun keinen Debugger? Dafür habe ich vier konkrete Gründe. Erstens: Der Set-up-Aufwand. Einen Debugger zu starten, zu attachen und zu konfigurieren kann je nach Set-up des Projekts (auf das man eventuell gar keinen Einfluss hat) sehr aufwendig sein. Besonders in fremden Projekten, wo man nicht genau weiß, wie die Infrastruktur aufgebaut ist, verliert man unter Umständen sehr schnell viel Zeit. Zeit, die man eigentlich für etwas anderes bräuchte, nämlich um den Fehler zu finden. Stattdessen konfiguriert man zunächst eine halbe Stunde lang Tools und ärgert sich, dass es nicht so funktioniert, wie man sich das vorstellt.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Debugger? Nein, Danke! // deutsch
Zweitens: Die fehlende Übung. Wenn man viele Tests schreibt – und das sollte man tun –, erübrigen sich die einfachen Fälle. Die landen gar nicht erst auf dem Tisch, weil die Tests sie bereits abfangen. Was übrig bleibt, sind die schwierigen Fälle. Die gibt es jedoch gar nicht so oft. Vielleicht alle paar Wochen einmal, vielleicht alle paar Monate. Deswegen fehlt dann die Übung mit dem Debugger. Man ist aus der Routine raus, und wenn man ihn dann braucht, steht man da und muss sich erst wieder zurechtfinden. Man weiß dann oft gar nicht mehr so richtig, wie das funktioniert, wo welche Buttons sind, und so weiter. Genau das verstärkt natürlich auch den ersten Punkt, weil man wieder von vorn anfängt, um herauszufinden, wie man ihn überhaupt startet und attached.
Timing-Verzerrung bei nebenläufigen Systemen
Drittens: Die Timing-Verzerrung. Das ist für mich ein wichtiger Punkt, der viel zu oft ignoriert wird. Ein Debugger und dort insbesondere der Einsatz von Breakpoints verzerren nämlich das Zeitverhalten der Anwendung dramatisch. Ich habe vor vielen Jahren einmal in einem Projekt mit hunderten parallel laufenden Threads gearbeitet. Da war es praktisch unmöglich, mit einem Debugger etwas ausfindig zu machen. Warum? Weil jeder Breakpoint zum einen das Zeitverhalten komplett verändert hat. Hielt man einen Thread an, liefen die anderen weiter, und auf einmal hatte man ein völlig anderes Timing, und dann war der Fehler unter Umständen plötzlich weg. Oder es tauchten neue Fehler auf. Zum anderen hatte man bei zwei Läufen sowieso nie denselben Stand, weil Threads nebenläufig sind und das Scheduling von ihnen nicht deterministisch ist. Das heißt, hier kam es sehr darauf an, nachvollziehen zu können, welcher Thread etwas macht, was dann bei einem anderen Thread etwas verursacht. Das geht nur, indem man Code liest, sich Dinge notiert und vor allem, indem man sehr viel über den Code nachdenkt. Ein Debugger hilft einem da tatsächlich überhaupt nicht weiter, im Gegenteil: Er macht die Sache eigentlich nur schlimmer.
Viertens – und das ist aus meiner Sicht der wichtigste Punkt überhaupt: Der Debugger nimmt einem nicht das Denken ab. Die eigentliche Arbeit ist nämlich vor allem das Nachvollziehen und Nachdenken darüber, wie es zu einer bestimmten Situation überhaupt gekommen ist. Das kann ein Debugger naturgemäß nicht. Er ist nur ein Werkzeug. Er zeigt, was passiert ist, aber nicht warum. Man sieht die Werte in den Variablen, man sieht, welche Funktionen gerade aufgerufen werden, aber man versteht nicht die Kausalkette, wie es überhaupt dazu gekommen ist. Genau dieses Warum ist die Arbeit, die man als Entwicklerin oder als Entwickler leisten muss. Und das ist leider das, was vielen häufig schwerfällt.
Systematisches Denken als Kernkompetenz
Genau das ist der springende Punkt: Was wirklich zählt, ist systematisches Denken. Die Kernkompetenz beim Debuggen ist nämlich nicht, einen Debugger bedienen zu können. Die Kernkompetenz ist, Fehler systematisch eingrenzen zu können. Durch logisches Schlussfolgern die Zahl der Optionen, die als Ursache infrage kommen, immer weiter zu reduzieren. Und genau das macht der Mensch, nicht das Tool. Der Debugger kann einem zeigen, wie der Stand der Dinge ist, aber er kann einem nicht sagen, was sein sollte und warum es anders ist als erwartet.
Ich möchte dazu ein konkretes Beispiel geben, das zeigt, was ich meine. Vor einer Weile hatten wir bei einem Kunden ein Problem mit asynchronem Rendering in einer React-App. Keiner von uns wusste, dass an besagter Stelle etwas Asynchrones passierte; es war uns einfach nicht bewusst. Nachdem dann zwei Entwickler daran schon mehrere Stunden gesucht hatten, haben sie mich gefragt, ob ich einmal mit nach dem Fehler schauen könne. Beide hatten mit dem Debugger gearbeitet, hatten sich die Komponenten-Hierarchie angeschaut, hatten sich die Props angeschaut, hatten alles Mögliche gemacht. Ich habe es durch das Verwenden von console.log, das Beobachten des Verhaltens, Lesen des Codes und Nachdenken geschafft, den Fehler nach und nach immer weiter einzugrenzen. Und nach einer knappen Stunde blieb nur noch eine Möglichkeit als Ursache übrig: Diese und jene Zeile musste anscheinend asynchron verarbeitet werden, es war die einzig mögliche Erklärung, wie es zu dem gezeigten Verhalten kommen konnte.
Dann haben wir in die Dokumentation von React geschaut, und genau so war es dann auch. Natürlich hätte man das auch am Anfang nachschauen können, nur kam niemand auf die Idee, ausgerechnet an dieser Stelle zu suchen. Die Lektion dabei ist: Der Debugger hat das Problem offensichtlich nicht gelöst. Sondern: Das systematische Eingrenzen hat es am Ende gebracht. Eben die Frage:
„Wo könnte das Problem liegen?“
und dann Schritt für Schritt, nach und nach, alle Möglichkeiten bis auf eine ausschließen.
Warum console.log funktioniert: Observability-Mindset
Wenn wir damit jetzt zu der Erkenntnis gekommen sind, dass systematisches Denken wichtiger ist als das Tool, stellt sich natürlich die Frage: Was ist dann an console.log oder fmt.Println eigentlich vermeintlich so falsch? Oder andersherum gefragt: Warum funktioniert das so gut? Dafür gibt es tatsächlich drei ausgezeichnete Gründe.
Erstens: das Observability-Mindset. Im Grunde macht man nämlich Observability im Kleinen. In Production hat man oft auch keinen Debugger – nur Logging, Tracing, Metrics. Wer gewohnt ist, durch gezieltes Logging zu debuggen, denkt automatisch in die Richtung:
„Was muss ich wissen, um das System zu verstehen?“
Man überlegt sich: An welcher Stelle brauche ich welche Informationen? Was ist relevant? Was hilft mir weiter? Das ist eine wertvolle Fähigkeit, gerade für moderne verteilte Systeme, bei denen man nicht mehr mit einem Debugger arbeiten kann, weil die einzelnen Services auf verschiedenen Maschinen laufen.
Reproduzierbarkeit und bewusstes Denken
Zweitens: Reproduzierbarkeit und Dokumentation. Mit Logs hat man eine dauerhafte Spur. Man kann den Code laufen lassen, die Ausgabe analysieren, den Code erneut laufen lassen, die Ausgaben vergleichen. Man sieht:
„Ah, beim ersten Mal war der Wert hier 42, beim zweiten Mal ist er aber 43, da muss irgendwo ein Zähler sein, der nicht zurückgesetzt wird.“
Mit einem Debugger ist das oft sehr viel flüchtiger. Man klickt sich durch, sieht etwas, aber hat es nicht festgehalten. Beim nächsten Durchlauf muss man sich dann wieder durchklicken, und wenn man nicht aufgepasst hat, weiß man gar nicht mehr so genau, was man beim letzten Mal eigentlich gesehen hat.
Drittens: Bewusstes Denken wird erzwungen. Man muss sich überlegen: Was will ich eigentlich wissen? Wo könnte das Problem liegen? Welche Variablen sind relevant? An welcher Stelle im Code muss ich schauen? All das fördert systematisches Denken. Gerade für weniger erfahrene Entwicklerinnen und Entwickler kann ein Debugger dann nämlich schnell ein schlechtes Hilfsmittel werden: Sie setzen dann einen Breakpoint, schauen sich Variablen an, klicken sich durch den Call-Stack, verstehen aber nicht den größeren Zusammenhang. Sie sehen zwar Daten, aber sie verstehen nicht, was sie bedeuten. Durch bewusstes Logging muss man sich diese Fragen aber stellen. Man muss sich überlegen, was relevant ist. Das ist eine wertvolle Übung.
Die Praxis bestätigt die Methodik
Jetzt kommt eine Beobachtung aus der Praxis, die das Ganze noch unterstreicht: Ich bin, wie eingangs bereits erwähnt, in Kundenprojekten oft derjenige, der gefragt wird, wenn anderen die Ideen ausgehen. Die Leute kommen zu mir und sagen:
„Golo, wir suchen jetzt seit Tagen nach der Ursache für diesen Bug, wir finden ihn einfach nicht, kannst du mal draufschauen?“
Trotz Debugger finden sie den Fehler nicht. Ich finde ihn dann über kurz oder lang – ohne Debugger. Warum? Weil die Methodik entscheidet, nicht das Tool. Genau das können leider viel zu viele Entwicklerinnen und Entwickler nicht allzu gut: systematisch eingrenzen und logisch schlussfolgern. Die verlassen sich darauf, dass der Debugger ihnen die Antwort quasi auf dem Silbertablett präsentieren wird. So funktioniert das jedoch nicht. Der Debugger ist nur ein Werkzeug, das einem Daten zeigt. Die Interpretation dessen, also das Verstehen, das logische Schlussfolgern, das muss man selbst machen.
Ich will es aber auch nicht so darstellen, als wären Debugger per se schlecht oder als ob man sie nie benutzen sollte. Das wäre unseriös, und das wäre auch falsch. Es gibt durchaus Situationen, in denen ein Debugger legitim und sinnvoll ist. Zum Beispiel beim Verstehen von fremdem Code, den man noch gar nicht kennt. Man steigt in ein neues Projekt ein, und da kann ein Debugger natürlich helfen, schnell einen Überblick zu bekommen, im Sinne von:
„Ah, diese Funktion ruft jene auf, die ruft wiederum diese andere auf.“
Oder bei sehr komplexen Objektgraphen, die man visualisieren möchte. Wenn man eine verschachtelte Datenstruktur hat, die man sich in einer schönen Baumansicht anschauen will, ist ein Debugger praktisch. Aber auch hier gilt: Der Debugger ersetzt nicht das Denken. Er ist ein Hilfsmittel, mehr nicht. Es geht mir also, um das noch einmal zu betonen, nicht darum, Debugger an sich zu verteufeln. Sondern es geht mir darum, zu sagen: Bloß weil jemand keinen Debugger verwendet, macht das sie oder ihn nicht zu einem schlechten Developer. Unter Umständen bewirkt es das genaue Gegenteil.
Die Methodik macht den Unterschied
Das heißt: Nicht das Tool macht gute Developer aus, sondern die Methodik macht es. Systematisches Eingrenzen, logisches Denken, die Fähigkeit, eine Kausalkette nachzuvollziehen – das sind die Fähigkeiten, die zählen. Nur weil jemand keinen Debugger benutzt, ist sie oder er nicht schlecht oder falsch aufgehoben in der Entwicklung. Im Gegenteil: Wer ohne Debugger auskommt, hat oft die bessere Methodik, weil sie oder er sich nicht auf ein Tool verlässt, sondern auf das eigene Denken.
Mein Rat daher: Probieren Sie es einmal aus. Versuchen Sie beim nächsten Problem einmal, bewusst ohne Debugger auszukommen. Setzen Sie bewusst console.log oder fmt.Println ein, grenzen Sie systematisch ein und denken Sie nach. Stellen Sie sich die Frage: Was könnte die Ursache sein? Wie kann ich das überprüfen? Was schließe ich damit aus? Das wird vermutlich anstrengend, weil man es vielleicht nicht so geübt ist, so zu arbeiten. Je öfter man das macht, desto überraschter wird man aber sein, wie gut das funktioniert. Und irgendwann wird man merken, dass man auf einmal viel bewusster über seinen Code nachdenkt.
(rme)
-
UX/UI & Webdesignvor 2 MonatenDer ultimative Guide für eine unvergessliche Customer Experience
-
UX/UI & Webdesignvor 2 MonatenAdobe Firefly Boards › PAGE online
-
Social Mediavor 2 MonatenRelatable, relevant, viral? Wer heute auf Social Media zum Vorbild wird – und warum das für Marken (k)eine gute Nachricht ist
-
UX/UI & Webdesignvor 2 WochenIllustrierte Reise nach New York City › PAGE online
-
Entwicklung & Codevor 2 MonatenPosit stellt Positron vor: Neue IDE für Data Science mit Python und R
-
Entwicklung & Codevor 2 MonatenEventSourcingDB 1.1 bietet flexiblere Konsistenzsteuerung und signierte Events
-
UX/UI & Webdesignvor 1 MonatFake It Untlil You Make It? Trifft diese Kampagne den Nerv der Zeit? › PAGE online
-
Apps & Mobile Entwicklungvor 2 MonatenGalaxy Tab S10 Lite: Günstiger Einstieg in Samsungs Premium-Tablets
