Stoßen Softwareentwickler oft auf Probleme bei den sie nicht die Lösung wissen?
Hey lerne gerade das programmieren und habe mich gefragt ob man oft als Softwareentwickler auf Probleme stoßt wie z.B der Fehler im Code aber man nicht weiß woran der Fehler liegt. Sorry wenn die Frage komisch wirkt aber beim lernen der Programmiersprachen stoße ich so oft auf Probleme das ich mich frage ob es bei den Profis immernoch so ist. Danke für die Antworten 👍
5 Antworten
Wir wissen nur sehr selten die Lösung. Unser Job besteht darin Lösungen zu entwickeln/schaffen! Das macht unseren Job aus.
Bereits vorhande Lösungen kann jeder "Depp" zusammenkopieren. Das macht den Unterschied zum "Profi". (Wobei die Bezeichnung Profie ein sehr relativer/denbarer Begriff ist)
Ich bin seit nunmehr 40 Jahren im "Geschäft". Fehler und "Probleme" sind das Salz in der Suppe. Ohne Diese entwickelt man sich nicht.
Wenn ich die Stunden zusammenzählen würde, welche ich ich für die Fehlersuche und das Austüffteln von möglichs eleganten/effizienten Lösungen aufgewandt habe, kommen Jahrzehnte zusammen. (Das tippen von Codezeilen ist lediglich eine lästige Beschäftigung)
Fehler machen klug! Fehler machen Erfinderisch .
Man muss sich nur mal was vor Augen halten:
Es ist nchit witihcg, in wlecehr Rneflogheie die Bstachuebn in eneim Wort snid
Manchmal hilft schon die Änderung des Blickwinkels. ... Von Hinten gelesen sieht man die Fehler.
Auch bei logischen Problemen spielt uns die "Erwartung" und Gewohnheit einen Streich, da hilft es auch nicht den Monitor umzudrehen.
Ein Patentrezept gegen Denk-/Logikfehler gibt es nicht.
Ich versuche die Stelle, ab welcher der Debugger falsche Ergebnisse liefert neu zu denken, indem ich sie in einer anderen Sprache umsetze.
Alles was man in C# ( oder anderen Sprachen) programmieren kann, geht auch in Powershell. (Nur anders)
Ich hatte irgendwann mal ein Problem mit RegEx.Match/-replace in C# . (Ich bekam einfach nicht das erwartete Ergebnis) Zu verführerisch sind die Namen der Optionen Singleline/Multiline, wenn man einen Text mit Zeilenumbrüchen nach mehrzeiligen Ausdrücken durchsucht. Böse Falle: Die Optionen beschreiben nicht was man sucht oder welcher Art der Text ist , sondern wie der Parser diesen betrachten soll! ("Singleline" soll mehrzeiligen Text als eine Zeile ansehen! ). ...Nur der Kopf klammert sich an Mehrzeilig ...
Anderer Blickwinkel auf die gleiche Sache:In Powershells Standartoperatoren -match/ -replace wird grundsätzlich ein Textstring an Zeilenumbrüchen zelegt und dann Zeile für Zeile abgearbeitet.
Das Standardvorgehen ist es in dem Fall, Zeilenvorschübe durch einen "stumme" Platzhalter zu ersetzen , danach ist der ganze Text eine einzige Zeile.....
...Klick.... Heureka....Das nenne ich lernen auf die harte Tour. Dieser Denkfehler passierte mir nie wieder.
Viele Anfänger machen den Fehler sich irgendwas "anzulesen" oder gar in einem Video anzuschauen, ohne die Sache selbst zu durchdenken. Es bildet sich ein "Dogma" (das ist eben unumstößlich so und geht nicht anders)...
...und wenn es nicht klappt, hilft Google oder "KI". (...tut es eben nicht !, denn die Mehrheit reitet eben immer wieder die gleichen Gäule und die Algorithmen bevorzugen "Mehrheiten")
Ich habe mir bei Problemen angewöhnt Probleme zu zerlegen, indem ich sie in einer möglichst primitiven Art betrachtet. Im Zweifel nehme ich einen Zettel und male die Schritte auf. ...und wenn in dem "Bild" die meist Pfeile durchgestrichen sind bleibt nur noch die Lösung.
Wenn du das Unmögliche ausgeschlossen hast, muss das, was übrig bleibt, die Wahrheit sein - wie unwahrscheinlich es auch ist (A.C. Doyle)Ja, bereits vorhande Lösungen ohne Sinn und Verstand zusammenkopieren kann wirklich jeder "Depp". Ohne Vorbilder hat zwar noch keiner etwas gelernt. Aber auch das ist natürlich immer eigene Anstrengung. Wer ernsthaft von anderen lernen will, der muß ihre Arbeit verstehen. Nur wenn ich etwas verstanden habe, kann ich verantworten, es zu übernehmen oder sogar versuchen, es zu verbessern.
Ja, das kommt jedenfalls öfter vor, als einem lieb ist. Wie oft es vorkommt, kannst Du daran erkennen, wie viele Probleme unsere Kollegen aus aller Welt in den darauf spezialisierten Onlineforen zur Diskussion stellen. Nicht weniger beachtenswert ist, wie viel guten Rat hilfsbereite erfahrene Kollegen den Fragestellern dort geben.
Daß auch viele Anfängerprobleme dabei sind, sollte niemanden zum Spott reizen. Es kommen auch genug nichttriviale schwierig zu lösende Probleme vor. Den Profi macht meiner Meinung nach nicht nur der Umfang seines Fachwissens und sein Selbstbewußtsein aus, sondern auch Ehrlichkeit im Umgang mit den eigenen Fehlern und den Grenzen der eigenen Fähigkeiten. Nichts ist unprofessioneller als Prahlerei.
Du brauchst Dich deshalb Deiner Probleme nicht zu schämen. Nutze sie als Trainigsgelegenheiten, nicht nur um im Programmieren selbst dazuzulernen, sondern auch in der gezielten Informationssuche und im kollegialen Informationsaustausch. Die englische Sprache ist dabei ungemein nützlich. Falls Du darin bislang unsicher bist, fang einfach ohne Scheu damit an.
Hier sind als Beispiel Seiten eines ausgezeichneten Onlineforums:
https://stackoverflow.com/questions/tagged/java
Einen Fehler zu fabrizieren und ihn einfach nicht finden zu können kommt vor. Ist wie beim Korrekturlesen, wenn man immer wieder den Fehler überliest.
Das ist aber kein 'Problem' für das man eien 'Lösung' finden muß. Problemlösungen finden kann halt sehr knackig sein, wenn es auch effizient sein muß.
Ich sage immer, dass man nicht so programmieren muss, dass man keinen Fehler macht. Man muss so programmieren, dass man eine Chance hat, die (unvermeidlichen) Fehler zu finden.
Ja, das ist so. Ich bin seit langem Programmierer und suche manchmal mehrere Tage einen Fehler oder verfolge das eigentümliche Verhalten meiner Software.
...und wenn man den Fehler gefunden hat, könnte man sich in den Ar*** beißen... 🤣
- ...ähm? Wie konnte das nur ...
- logisch... das konnte gar nicht...
...Das sind aber auch die Momente, welche beflügeln und Adrenalin duch den Körper jagen.
Der Heureka-Moment...
Man muss nachdenken. Und nicht jeder schafft alles.
Oh danke für deine Antwort. Aber ist doch bestimmt sehr nervenaufreibend oder?