Wie oft greifen Sie als Entwickler täglich auf Google zurück, um etwas für Ihre Arbeit nachzuschlagen? Wie verwendet man eine bestimmte Bibliothek? Gibt es eine Lösung für ein Problem, auf das Sie gestoßen sind?
Die Antwort lautet wahrscheinlich: mindestens einmal am Tag.
Heutzutage spart das Internet Entwicklern enorm viel Zeit. Ganz gleich, auf welches Problem Sie stoßen: Mit den richtigen Suchbegriffen finden Sie bei Google in vielen Fällen sofort eine passende Lösung.
Wenn wir beispielsweise wissen möchten, wie sich eine Datei zeilenweise einlesen lässt, könnten wir nach Folgendem suchen:

Das erste Ergebnis ist eine sehr gut bewertete Antwort auf Stack Overflow.

Entwickler sind vom Internet abhängig geworden – mit offensichtlichen Vorteilen: Viele Probleme lassen sich schneller lösen, und wir arbeiten produktiver. Doch können wir als Entwickler auch ohne Internetverbindung noch produktiv sein?
Schauen wir zunächst zurück auf die Zeit vor dem Internetboom, als im Web nur wenige Ressourcen für Entwickler verfügbar waren.
Vor zwanzig Jahren gingen wir meiner Erinnerung nach bei einem Problem beispielsweise folgendermaßen vor:
- Die Antwort in Büchern suchen: Entwickler hatten am Arbeitsplatz oder zu Hause ganze Sammlungen von Fachbüchern. Bei einem blockierenden Problem durchsuchten wir sie in der Hoffnung auf eine Lösung. Bücher können jedoch nicht jedes praktische Problem abdecken, sodass wir häufig nicht fanden, wonach wir suchten.
- Kollegen fragen: Eine weitere Möglichkeit bestand darin, auf die Erfahrung der Kollegen zu setzen. Wir fragten, ob jemand ein bestimmtes Problem bereits erlebt hatte, und hofften, dass es dafür schon eine Lösung gab.
- Tief in den Code einsteigen: Trat bei der Verwendung einer Bibliothek ein Problem auf, war es manchmal am effektivsten, die Bibliothek selbst zu debuggen, um die Ursache und eine mögliche Lösung zu verstehen. Ich erinnere mich an die Arbeit mit einem CORBA-Bus zu einer Zeit, als kaum Ressourcen verfügbar waren. Wir mussten die externe Bibliothek debuggen, um herauszufinden, was tatsächlich geschah.
- Den Support kontaktieren: Bei komplexen Problemen ohne Zugriff auf den Quellcode wandten wir uns mitunter an den Anbieter und hofften auf Unterstützung. Ich erinnere mich etwa an ein schwieriges DCOM-Problem, wegen dessen wir Microsoft kontaktierten. Die Lösung dauerte drei Wochen, weil wir zunächst die richtige Ansprechperson erreichen mussten – und das war alles andere als einfach.
Zum Glück ist das Web inzwischen eine wahre Fundgrube für Entwickler, und oft reichen wenige Klicks, um eine Lösung zu finden. Doch welche Nachteile hat diese Abhängigkeit vom Internet?
- Eine schlechte Copy-and-Paste-Gewohnheit entwickeln: Finden Entwickler im Web eine Lösung, kopieren sie diese möglicherweise einfach in ihren Code und wenden sich, sobald sie funktioniert, der nächsten Aufgabe zu. Dabei versuchen sie womöglich gar nicht, die Überlegungen hinter der vorgeschlagenen Lösung vollständig zu verstehen.
- Als Entwickler bequem werden: Entwickler können sich daran gewöhnen, nicht einmal mehr selbst nach einer Lösung zu suchen, sondern direkt eine einfache Frage zu stellen und zu erwarten, dass andere die Recherche übernehmen. Tatsächlich ist erstaunlich, wie viele grundlegende Fragen auf Stack Overflow sich mit einer simplen Suche beantworten ließen.
- Auch die Kommunikation zwischen Entwicklern kann darunter leiden.
Zurück zur Ausgangsfrage und speziell zu C++: Könnten Sie ohne Internetzugang schnell eine effiziente Lösung für diese grundlegenden Aufgaben finden?
- Prüfen, ob ein std::string mit einer anderen Zeichenkette beginnt.
- Prüfen, ob ein std::string mit einer anderen Zeichenkette endet.
- Die Fakultät einer Zahl berechnen.
- Prüfen, ob eine Zahl eine Primzahl ist.
Versuchen Sie, diese Probleme selbst zu lösen. Vielleicht überrascht es Sie, wie abhängig Sie inzwischen vom Internet sind: Ohne das Web können selbst grundlegende Aufgaben plötzlich weniger einfach erscheinen. Eine zunehmende Abhängigkeit vom Web ist nicht zwangsläufig problematisch, doch wir sollten ihre Nachteile kennen. Bevor wir online suchen, können wir einige Minuten investieren und zunächst selbst über das Problem nachdenken. So verstehen wir genauer, worum es geht, können mit den richtigen Begriffen gezielter suchen und anschließend auch die Überlegungen hinter einer gefundenen Lösung vollständig nachvollziehen.
