88588
26.03.2010, aktualisiert am 05.04.2010
15610
25
1
Wie werd ich ein richtig guter Programmierer?
hi
Hallo Miteinander,
Ich möchte gerne in Programmieren richtig gut werde, aber mir fehlen die Ansatz Punkte.
Habe schon wegen C++/ Visual Basic / MySQL nachgefragt und gewisse Tipps von euch bekommen.
Ich sehe mich aber mehr dazu richtig ein Spezialist zu werden, dafür würd ich gern wissen wie ich Anfangen soll?
Und weiter machen soll, damit auch das gelernet vertifft wird und immer mich weiterbilden kann.
Mfg
c4nY
Hallo Miteinander,
Ich möchte gerne in Programmieren richtig gut werde, aber mir fehlen die Ansatz Punkte.
Habe schon wegen C++/ Visual Basic / MySQL nachgefragt und gewisse Tipps von euch bekommen.
Ich sehe mich aber mehr dazu richtig ein Spezialist zu werden, dafür würd ich gern wissen wie ich Anfangen soll?
Und weiter machen soll, damit auch das gelernet vertifft wird und immer mich weiterbilden kann.
Mfg
c4nY
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 01.04.2010 um 04:45:44 Uhr
[01.04.2010]
Egal, ob für Yusuf die Frage beantwortet ist oder vielleicht auch schon uninteressant - wegen der Qualität und des breiten Spektrums der Antworten setze ich den Status mal auf "Beantwortet", damit die NutzerInnen von benutzer.de den Beitrag finden können.
[05.04.2010]
Geschlossen - kein Feedback.
Egal, ob für Yusuf die Frage beantwortet ist oder vielleicht auch schon uninteressant - wegen der Qualität und des breiten Spektrums der Antworten setze ich den Status mal auf "Beantwortet", damit die NutzerInnen von benutzer.de den Beitrag finden können.
[05.04.2010]
Geschlossen - kein Feedback.
Content-ID: 139234
Url: https://administrator.de/forum/wie-werd-ich-ein-richtig-guter-programmierer-139234.html
Ausgedruckt am: 23.12.2024 um 19:12 Uhr
25 Kommentare
Neuester Kommentar
Hi,
erstmal solltest du dir eine menge Zeit einpflegen..
Dann zbsp. mit Anfänger Bücher die Sprache verstehen und lernen.Fortgeschrittene Bücher gibt es natührlich auch!
Oder du sucht nach Programmierkursen die natührlich nicht immer in deiner Umgebung sind und eine Menge Geld kosten.
Also im kuzen gesagt AUSDAUER+ZEIT+LUST+(GELD)=PROGRAMMIERER
Programmieren lernt man nicht in einem Monat Es gibt 1000sende von Möglichkeiten!!
PS. So sehe ich das zmdst.
lg
tmystr
erstmal solltest du dir eine menge Zeit einpflegen..
Dann zbsp. mit Anfänger Bücher die Sprache verstehen und lernen.Fortgeschrittene Bücher gibt es natührlich auch!
Oder du sucht nach Programmierkursen die natührlich nicht immer in deiner Umgebung sind und eine Menge Geld kosten.
Also im kuzen gesagt AUSDAUER+ZEIT+LUST+(GELD)=PROGRAMMIERER
Programmieren lernt man nicht in einem Monat Es gibt 1000sende von Möglichkeiten!!
PS. So sehe ich das zmdst.
lg
tmystr
Logisch denken können wäre auch vorteilhaft.
Zitat von @noodyn:
Du solltest dir ein oder zwei Sprachen aussuchen und dich darauf spezialisieren. Mache eigene Projekte programmiere eigene
Anwendungen. ÜbenÜbenÜben.
Du solltest dir ein oder zwei Sprachen aussuchen und dich darauf spezialisieren. Mache eigene Projekte programmiere eigene
Anwendungen. ÜbenÜbenÜben.
Sich auf 1-2 Sprachen festzulegen wird dich zwar sicher zu einem Arbeitsplatz geleiten, aber etwas über den Tellerrand sollte man schon schauen.
Beim Programmieren geht es im Grunde immer nur um eines "Wie löse ich Problem A mit Tool B."
Hierbei sind die Prinzipien des Schaffens von Software so ziemlich IMMER gleich.
Wie ist die Syntax, Wie wird sie benutzt und was bieten sich für Möglichkeiten um Problem A zu lösen.
Hat man die Grundprinzipien verstanden sollte es egal sein welche Sprache man nimmt für die Entwicklung/Umsetzung.
Von daher wähle für den Start eine Sprache die dir die Grundprinzipien idiotensicher beibringt und danach kannst du über den Tellerrand schauen.
Dazu kommt dann noch wie hier schon alle geschrieben haben --> üben üben üben üben üben üben üben üben üben .
Hi !
...Und die vielen Nächte, die er sich um die Ohren hauen kann, hast Du vergessen...
Denn sein Arbeitgeber wird ihn wohl fürs Lernen/Üben einer Programmiersprache eher nicht freistellen und als Einsteiger wird er wohl (hoffentlich!) nicht auf Kundeprojekte losgelassen...
mrtux
PS: Und ja, Stanton hat schon recht, man merkt ganz klar, es ist wieder Freitag...
...Und die vielen Nächte, die er sich um die Ohren hauen kann, hast Du vergessen...
Denn sein Arbeitgeber wird ihn wohl fürs Lernen/Üben einer Programmiersprache eher nicht freistellen und als Einsteiger wird er wohl (hoffentlich!) nicht auf Kundeprojekte losgelassen...
mrtux
PS: Und ja, Stanton hat schon recht, man merkt ganz klar, es ist wieder Freitag...
Ich habe mir dieslebe Frage vor ein paar Wochen gestellt.
Nun habe ich mit Java begonnen, da ich hier den einfachsten Kursus
und für mich den besten Kursus onlin egfunden habe.
Schau dir den Link-Tipp an:
Also ich bin jetzt schon echt weit gekommen,
so dass ich einige kleinere Programme schon selbst hinbekomme.
Nachher kannst du dann ja auf eine .NET Sprache umsteigen,
es geht um die Grundprinzipien und Methoden der Objektorientierung
die wichtig sind.
Ich lerne zwar grade Java, aber ich hab mittlerweile keine Probleme mehr
den Quellcode eines .NET-Programmes zu lesen.
(Nebenbei, ich fange grade mit Fensterapplikationen an)
Nun habe ich mit Java begonnen, da ich hier den einfachsten Kursus
und für mich den besten Kursus onlin egfunden habe.
Schau dir den Link-Tipp an:
Also ich bin jetzt schon echt weit gekommen,
so dass ich einige kleinere Programme schon selbst hinbekomme.
Nachher kannst du dann ja auf eine .NET Sprache umsteigen,
es geht um die Grundprinzipien und Methoden der Objektorientierung
die wichtig sind.
Ich lerne zwar grade Java, aber ich hab mittlerweile keine Probleme mehr
den Quellcode eines .NET-Programmes zu lesen.
(Nebenbei, ich fange grade mit Fensterapplikationen an)
Also ich habe angefangen bei
Seiten wie selfhtml oder css4you
super easy ist es auch wenn du dir ein Wikipad zulegst und da ma en bisschen rumspielst.
Dann gibt es vom Herdt-Verlag richtig gute Bücher, die würde ich mir anschaffen und dann haste schon ma einiges abgedeckt, sofern du soviel Nerven für Theorie hast.
Und dann, wenn du das wirklich willst. Mach ne Ausbildung zum Webdesigner oder Systementwickler, da lernste thoerie und praxis, in einer guten Firma versteht sich
Seiten wie selfhtml oder css4you
super easy ist es auch wenn du dir ein Wikipad zulegst und da ma en bisschen rumspielst.
Dann gibt es vom Herdt-Verlag richtig gute Bücher, die würde ich mir anschaffen und dann haste schon ma einiges abgedeckt, sofern du soviel Nerven für Theorie hast.
Und dann, wenn du das wirklich willst. Mach ne Ausbildung zum Webdesigner oder Systementwickler, da lernste thoerie und praxis, in einer guten Firma versteht sich
[OT]
[/OT]
@c4yusuf
Ich denke, einen entscheidenden Schrittt hast du schon getan - die Frage für dich ist ja nicht "Kann ich oder jeder überhaupt programmieren lernen?",
sondern "nur noch" das "Wie kann ich..."
Und wenn du dieses Selbstvertrauen mitbringst, ein wenig logisch-strukturiertes Denken vielleicht auch und ansonsten eine wohlhabende Familie,
die dich die ersten 20, 30 Jahre ein bisschen unterstützen kann, bis du Geld mit dem Erlernten einfährst...
-> dann wäre eigentlich nur noch als erster Schritt ein Tastschreibkurs an der VHS zum schnelleren Schreiben meine Empfehlung.
Dann klappt das.
Ansonsten siehe auch Psalm 77,7. "Ich denke und sinne des Nachts und rede mit meinem Herzen, mein Geist muß forschen.
Biber
P.S. @all.
Bitte keine Freitags-Folgefragen wie "Wie werde ich ein guter Lotto-Spieler?", "Wie gelingen meine Napfkuchen immer?" oder "1000 Super-Tipps beim Bratwurstgrillen".
Zitat von @mrtux:
...Und die vielen Nächte, die er sich um die Ohren hauen kann, hast Du vergessen...
Es gibt sogar Programmierer, die sich in schlaflosen Nächten ersatzweise eine Sleep.exe zusammenschroten....Und die vielen Nächte, die er sich um die Ohren hauen kann, hast Du vergessen...
[/OT]
@c4yusuf
Wie werd ich ein richtig guter Programmierer?
- Definiere "Programmierer".
- Definiere "guter Programmierer".
- Definiere "richtig guter Programmierer".
- Bis dahin lehne alle Anforderungen und Projekte ab, die so unpräzise formuliert sind wie die gestellte Frage (das gehört mit zu "guter Programmierung").
Ich denke, einen entscheidenden Schrittt hast du schon getan - die Frage für dich ist ja nicht "Kann ich oder jeder überhaupt programmieren lernen?",
sondern "nur noch" das "Wie kann ich..."
Und wenn du dieses Selbstvertrauen mitbringst, ein wenig logisch-strukturiertes Denken vielleicht auch und ansonsten eine wohlhabende Familie,
die dich die ersten 20, 30 Jahre ein bisschen unterstützen kann, bis du Geld mit dem Erlernten einfährst...
-> dann wäre eigentlich nur noch als erster Schritt ein Tastschreibkurs an der VHS zum schnelleren Schreiben meine Empfehlung.
Dann klappt das.
Ansonsten siehe auch Psalm 77,7. "Ich denke und sinne des Nachts und rede mit meinem Herzen, mein Geist muß forschen.
Biber
P.S. @all.
Bitte keine Freitags-Folgefragen wie "Wie werde ich ein guter Lotto-Spieler?", "Wie gelingen meine Napfkuchen immer?" oder "1000 Super-Tipps beim Bratwurstgrillen".
Hi,
also du solltest vielleicht wie schon angesprochen, erstmal eine Auswahl treffen. Dabei denke ich, ist es sinnvoll gleich verschiedene Prinzipien kennenzulernen, also z.b. objektorientierte Sprachen und sequentielle Sprachen, vielleicht noch Skriptsprachen. Ich denke, wenn du mit Java, C und php anfängst, hast du von allem etwas und wirst schnell merken, worauf du dich wirklich konzentrieren willst.
Und dann ist der einzig wahre Weg: Üben, üben, üben und noch mehr üben!
Grüße
also du solltest vielleicht wie schon angesprochen, erstmal eine Auswahl treffen. Dabei denke ich, ist es sinnvoll gleich verschiedene Prinzipien kennenzulernen, also z.b. objektorientierte Sprachen und sequentielle Sprachen, vielleicht noch Skriptsprachen. Ich denke, wenn du mit Java, C und php anfängst, hast du von allem etwas und wirst schnell merken, worauf du dich wirklich konzentrieren willst.
Und dann ist der einzig wahre Weg: Üben, üben, üben und noch mehr üben!
Grüße
Hi Biber !
...und zum Frühstück geht es dann mit viel Java weiter...
mrtux
Zitat von @Biber:
Es gibt sogar Programmierer, die sich in schlaflosen Nächten ersatzweise eine Sleep.exe zusammenschroten.
Es gibt sogar Programmierer, die sich in schlaflosen Nächten ersatzweise eine Sleep.exe zusammenschroten.
...und zum Frühstück geht es dann mit viel Java weiter...
mrtux
Hi,
Ich bin auch dabei. Mittlerweile seit gut 10 Jahren.
Such Dir zuerst den Bereich aus, also Microkontroller, Web, Businesslösungen, Game oder Treiber.
Jeder Bereich benutzt unterschiedliche Sprachen.
Microkontroller:
Hier ist es Assembler, C und ggf. eine Basic-Variante. Außerdem solltest Du hier wirklich was von Elektronik verstehen.
Web:
ASP, ASP.Net, PHP, Flash, Silverlight, Java-Appletts (und auch HTML, wobei das keine wirkliche Sprache ist), etc.
Business:
VB.Net, C#.Net, Java.Net, Java (ggf. VBA)
Game:
C++, (ggf. Java und vb.Net,C#.net)
Treiber:
c, c++ (ggf. Assembler)
Ich würde Dir zu Dot.Net raten (vb.Net, da es leicht zu lesen ist).
http://www.microsoft.com/germany/Express/
Hier kannst Du die Expressvarianten downloaden (kostenlos). Zudem kannst Du die Quelltexte leicht in andere Dot.Net-Sprachen übersetzen (z.B. mit SharpDevelop).
Auch Webseiten kannst du damit erstellen und Du lernst den Umgang mit XML (Datasets).
(Java ist auch kostenlos)
Ach ja, mit Datenbanken solltest Du dich auch beschäftigen.
c++ ist nicht so trivial, wenn Du es jedoch verstanden hast, sind weitere Sprachen nicht mehr so schwer zu verstehen.
Anwendungen für Mobile Geräte wie Handys kannst Du z.B. mit dem MobileFramework im Visualstudio (dot.Net) erstellen.
Gute Foren sind
Vbarchiv.de und codeproject.com
Hier gibt es ne menge Projekte, die du dir runterladen kannst. Somit kannst Du direkt anfangen das zu lernen, was Du gerne umsetzen würdest.
Ich bin auch dabei. Mittlerweile seit gut 10 Jahren.
Such Dir zuerst den Bereich aus, also Microkontroller, Web, Businesslösungen, Game oder Treiber.
Jeder Bereich benutzt unterschiedliche Sprachen.
Microkontroller:
Hier ist es Assembler, C und ggf. eine Basic-Variante. Außerdem solltest Du hier wirklich was von Elektronik verstehen.
Web:
ASP, ASP.Net, PHP, Flash, Silverlight, Java-Appletts (und auch HTML, wobei das keine wirkliche Sprache ist), etc.
Business:
VB.Net, C#.Net, Java.Net, Java (ggf. VBA)
Game:
C++, (ggf. Java und vb.Net,C#.net)
Treiber:
c, c++ (ggf. Assembler)
Ich würde Dir zu Dot.Net raten (vb.Net, da es leicht zu lesen ist).
http://www.microsoft.com/germany/Express/
Hier kannst Du die Expressvarianten downloaden (kostenlos). Zudem kannst Du die Quelltexte leicht in andere Dot.Net-Sprachen übersetzen (z.B. mit SharpDevelop).
Auch Webseiten kannst du damit erstellen und Du lernst den Umgang mit XML (Datasets).
(Java ist auch kostenlos)
Ach ja, mit Datenbanken solltest Du dich auch beschäftigen.
c++ ist nicht so trivial, wenn Du es jedoch verstanden hast, sind weitere Sprachen nicht mehr so schwer zu verstehen.
Anwendungen für Mobile Geräte wie Handys kannst Du z.B. mit dem MobileFramework im Visualstudio (dot.Net) erstellen.
Gute Foren sind
Vbarchiv.de und codeproject.com
Hier gibt es ne menge Projekte, die du dir runterladen kannst. Somit kannst Du direkt anfangen das zu lernen, was Du gerne umsetzen würdest.
Hallo c4nY,
Ein guter Programmierer zu sein ist mehr eine Berufung, als ein Beruf. Sicherlich benötigt man viel Übung,
aber was ich noch viel wichtiger finde ist absolute Korrektheit der Sprache.
Jede Programmiersprache hat eine genau vorgeschriebene Syntax und wenn man schon mit der deutschen Schriftsprache so leichtfertig umgeht,
sehe ich für einen "Spezialisten" eher schwarz.
Der menschliche Leser verzeiht einen Syntax-Fehler, ein Programm nicht!
MfG
itoldie
Ein guter Programmierer zu sein ist mehr eine Berufung, als ein Beruf. Sicherlich benötigt man viel Übung,
aber was ich noch viel wichtiger finde ist absolute Korrektheit der Sprache.
Jede Programmiersprache hat eine genau vorgeschriebene Syntax und wenn man schon mit der deutschen Schriftsprache so leichtfertig umgeht,
sehe ich für einen "Spezialisten" eher schwarz.
Der menschliche Leser verzeiht einen Syntax-Fehler, ein Programm nicht!
MfG
itoldie
Für einen richtigen guten Programmierer sind Grundverständnis, sauberes Arbeiten, Dokumentation und Erkennen von Strukturen, Vorstellungskraft etc. wichtig.
Es ist grundsätzlich egal, welche Sprache Du beherrschst. Es ist ehr wichtiger die Grundsätze der Programmiersprachen zu verstehen, die Struktur und die Logik hinter den einzelnen Prozeduren, Funktionen, Klassen und Komponenten. Alte Hasen kennen nicht nur das Programmieren, sondern haben sich auch mit dem Computer und dem Betriebsystem an sich auseinander gesetzt. Nur dann kennt man auch die kleinsten Aktionen des Computers. Sie wissen nicht nur mit welchen Befehl man eine Datei öffnet, sondern was auch wirklich passiert. Heutzutage werden diese Dinge jedoch kaum vermittelt, da in Berufslehrgängen wie Fachinformatiker für AE nicht soviel Zeit bleibt um wirklich bei Null anzufangen.
Viel wichtiger ist aber auch das Interesse dafür zu haben. Es bringt nichts etwas zu Lernen wofür man kein Interesse hat. Du solltest es also nur machen, wenn Du es von Dir aus willst und nicht nur um Geld zu verdienen. Denn dann wirst Du nur ein Programmierer - vielleicht ein guter - aber dann ehr von der Sorte Struktogramm-Abschreiber
Wie andere bereits geschrieben haben erfordert es viel Zeit. Du wirst lange vor den Bildschirm sitzen - sehr sehr lange. Zeit wird zur teilweise zur Nebensächlichkeit. Denke auch demenstprechend an einem Ausgleich zu der langen Bildschirmarbeit.
Wenn Dir eine Aufgabe gestellt wird - solltest Du in der Lage sein, Dir die technische Lösung vorstellen zu können. Nicht nur das, Du mußt in der Lage sein diese auch so zu dokumentieren, das es später für Dich und andere leicht nachvollziehbar ist. Dokumentation ist eines jdeden Programmierers schlimme Hühnerauge. Es wird als zeiträuberische und unproduktive Aufgabe gesehen.
Damit kommen wir zum letzten Punkt. Viele Programmierer legen einfach los und setzen das um, was Sie im Kopf haben. Leider kommt dabei die Dokumentation zu kurz. Daher solltest Du Dir auch immer ein Konzept dazu niederlegen. Das hilft Dir dann auch eventuelle Schwachstellen früh genug zu erkennen und somit im Nachhinein Zeit zu sparen. Auch während des Programmierens ist Dokumentation pflicht. Du mußt nicht jede Zeile kommentieren, aber weit genug alle Funktionen und ggf. einzelne Schritte kommentieren, damit Du und auch andere später durchblicken können. Das ist Teil eines sauberen und guten Programmierstils. Du solltest auch grundlegende Konventionen einhalten und diese sinnvoll erweitern um somit sauber arbeiten zu können.
Es ist grundsätzlich egal, welche Sprache Du beherrschst. Es ist ehr wichtiger die Grundsätze der Programmiersprachen zu verstehen, die Struktur und die Logik hinter den einzelnen Prozeduren, Funktionen, Klassen und Komponenten. Alte Hasen kennen nicht nur das Programmieren, sondern haben sich auch mit dem Computer und dem Betriebsystem an sich auseinander gesetzt. Nur dann kennt man auch die kleinsten Aktionen des Computers. Sie wissen nicht nur mit welchen Befehl man eine Datei öffnet, sondern was auch wirklich passiert. Heutzutage werden diese Dinge jedoch kaum vermittelt, da in Berufslehrgängen wie Fachinformatiker für AE nicht soviel Zeit bleibt um wirklich bei Null anzufangen.
Viel wichtiger ist aber auch das Interesse dafür zu haben. Es bringt nichts etwas zu Lernen wofür man kein Interesse hat. Du solltest es also nur machen, wenn Du es von Dir aus willst und nicht nur um Geld zu verdienen. Denn dann wirst Du nur ein Programmierer - vielleicht ein guter - aber dann ehr von der Sorte Struktogramm-Abschreiber
Wie andere bereits geschrieben haben erfordert es viel Zeit. Du wirst lange vor den Bildschirm sitzen - sehr sehr lange. Zeit wird zur teilweise zur Nebensächlichkeit. Denke auch demenstprechend an einem Ausgleich zu der langen Bildschirmarbeit.
Wenn Dir eine Aufgabe gestellt wird - solltest Du in der Lage sein, Dir die technische Lösung vorstellen zu können. Nicht nur das, Du mußt in der Lage sein diese auch so zu dokumentieren, das es später für Dich und andere leicht nachvollziehbar ist. Dokumentation ist eines jdeden Programmierers schlimme Hühnerauge. Es wird als zeiträuberische und unproduktive Aufgabe gesehen.
Damit kommen wir zum letzten Punkt. Viele Programmierer legen einfach los und setzen das um, was Sie im Kopf haben. Leider kommt dabei die Dokumentation zu kurz. Daher solltest Du Dir auch immer ein Konzept dazu niederlegen. Das hilft Dir dann auch eventuelle Schwachstellen früh genug zu erkennen und somit im Nachhinein Zeit zu sparen. Auch während des Programmierens ist Dokumentation pflicht. Du mußt nicht jede Zeile kommentieren, aber weit genug alle Funktionen und ggf. einzelne Schritte kommentieren, damit Du und auch andere später durchblicken können. Das ist Teil eines sauberen und guten Programmierstils. Du solltest auch grundlegende Konventionen einhalten und diese sinnvoll erweitern um somit sauber arbeiten zu können.
Also für mich einen Programmierer im Speziellen...und ich spreche jetzt von Anwendungsprogrammierung, aus:
Er sollte logisch denken können (wurde ja schon öfters gennant)
Er sollte mit viel Geduld und Ehrgeiz an die Sache ran gehen
Er sollte Kreativ denken können, denn besonders zum festigen des Gelernten muss man einfach Programme schreiben
Mehrere Programmiersprachen lernen. Die Syntax ist meist recht ähnlich (PL/I -> JCL / C/C++ -> C#...usw) Was ich damit sagen will, wenn man die Syntax versteht (hier wieder die logik) dann kommt es nurnoch auf den Fleiß an, quasi das Wörterbuch zu lernen
Im allgemeinen kann man das wort "Guter Programmierer" nicht definieren, im Prinzip ist jeder auf seinen eigene weiß gut, jeder programmiert unterschiedlich. Das endergebnis zählt für den Kunden, nicht wo der Code aussieht.
Gruß Bankaifan
Er sollte logisch denken können (wurde ja schon öfters gennant)
Er sollte mit viel Geduld und Ehrgeiz an die Sache ran gehen
Er sollte Kreativ denken können, denn besonders zum festigen des Gelernten muss man einfach Programme schreiben
Mehrere Programmiersprachen lernen. Die Syntax ist meist recht ähnlich (PL/I -> JCL / C/C++ -> C#...usw) Was ich damit sagen will, wenn man die Syntax versteht (hier wieder die logik) dann kommt es nurnoch auf den Fleiß an, quasi das Wörterbuch zu lernen
Im allgemeinen kann man das wort "Guter Programmierer" nicht definieren, im Prinzip ist jeder auf seinen eigene weiß gut, jeder programmiert unterschiedlich. Das endergebnis zählt für den Kunden, nicht wo der Code aussieht.
Gruß Bankaifan
Moin, Moin, noch einmal,
es ist schon lobenswert, sich das Ziel zu setzen, einmal ein "guter Programmierer" zu werden.Ich kann nur aus meiner mehr als 40-jährigen Erfahrung sagen, daß das Ganze nicht so ohne weiteres planbar ist.
Manche Leute haben es einfach drauf, denen "gibt es der Herr im Schlaf", andere bemühen sich redlich, aber werden es nie!
Es gibt leider kein Patentrezept dafür, dieses Ziel zu erreichen.
Als ich in dieses Geschäft eingestiegen bin, waren Lochkarten,Lochstreifen, Magnetbänder und Plattenspeicher von heute unglaublicher Abmessung unser Arbeitsmaterial.
Ein IBM-Rechner mit einem Hauptspeicher von 64K war schon ein "Großrechner"!!!
Unter diesen Bedingungen war die Leistungsfähigkeit des Rechners unser Hauptproblem.
Ein Gutes hatten aber diese eingeschränkten Möglichkeiten: Wir haben gelernt um jedes Byte zu kämpfen.
Damit habe ich auch schon ein Kennzeichen eines m. E. "guten" Programms benannt, nämlich das Optimale aus der Leistungsfähigkeit der Hardware herauszuholen.
Heutzutage wird recht schlampig programmiert und Fehler werden oft " von hinten durch die Brust ins Auge" repariert.
Das Motto " ob mit 50 oder 5000 Programmierschritten- Hauptsache das Problem ist gelöst", ist das Dilemma und eine Hauptursache für Instabilität, lange Laufzeiten und Ressourcen-Verschwendung.
Ich kann dementsprechend nur empfehlen, klein anfangen und immer das Optimum im Auge behalten! Und das geht nur durch üben, üben und nochmals üben.
Welche Sprache dabei verwendet wird ist absolut zweitrangig.
MfG
itoldie
es ist schon lobenswert, sich das Ziel zu setzen, einmal ein "guter Programmierer" zu werden.Ich kann nur aus meiner mehr als 40-jährigen Erfahrung sagen, daß das Ganze nicht so ohne weiteres planbar ist.
Manche Leute haben es einfach drauf, denen "gibt es der Herr im Schlaf", andere bemühen sich redlich, aber werden es nie!
Es gibt leider kein Patentrezept dafür, dieses Ziel zu erreichen.
Als ich in dieses Geschäft eingestiegen bin, waren Lochkarten,Lochstreifen, Magnetbänder und Plattenspeicher von heute unglaublicher Abmessung unser Arbeitsmaterial.
Ein IBM-Rechner mit einem Hauptspeicher von 64K war schon ein "Großrechner"!!!
Unter diesen Bedingungen war die Leistungsfähigkeit des Rechners unser Hauptproblem.
Ein Gutes hatten aber diese eingeschränkten Möglichkeiten: Wir haben gelernt um jedes Byte zu kämpfen.
Damit habe ich auch schon ein Kennzeichen eines m. E. "guten" Programms benannt, nämlich das Optimale aus der Leistungsfähigkeit der Hardware herauszuholen.
Heutzutage wird recht schlampig programmiert und Fehler werden oft " von hinten durch die Brust ins Auge" repariert.
Das Motto " ob mit 50 oder 5000 Programmierschritten- Hauptsache das Problem ist gelöst", ist das Dilemma und eine Hauptursache für Instabilität, lange Laufzeiten und Ressourcen-Verschwendung.
Ich kann dementsprechend nur empfehlen, klein anfangen und immer das Optimum im Auge behalten! Und das geht nur durch üben, üben und nochmals üben.
Welche Sprache dabei verwendet wird ist absolut zweitrangig.
MfG
itoldie
@72871
Ich geb dir vollkommen recht. Ich merke es selbst, bin jetzt seit etwas mehr als einem halben Jahr in der Lehrer und es ist unglaublich wie "Pi mal Daumen" man Speicher festlegt.
Wieder ein Beispiel aus PL/I: Hier werden alle Variablen vorbestimmt, was ihren zur Verfügung stehenden Speicher betrifft. Und siehe da... man setzt es einfach mal auf 100 Stellen, selbst wenn man genau weiß, dass nur ein Monat rein muss...also maximal 10 Stellen (Für leerschritte oder punkte).
Und so ist es überall. Und dann wundert man sich später, warum das Programm so langsam läuft.
BTT:
Ein "guter Programmierer" lässt sich weder an seinem Können noch seinem Wissen oder seinen Ergebnissen beurteilen, das spielt alles zusammen. Und niemand ist "perfekt".
Gruß Bankaifan
Ich geb dir vollkommen recht. Ich merke es selbst, bin jetzt seit etwas mehr als einem halben Jahr in der Lehrer und es ist unglaublich wie "Pi mal Daumen" man Speicher festlegt.
Wieder ein Beispiel aus PL/I: Hier werden alle Variablen vorbestimmt, was ihren zur Verfügung stehenden Speicher betrifft. Und siehe da... man setzt es einfach mal auf 100 Stellen, selbst wenn man genau weiß, dass nur ein Monat rein muss...also maximal 10 Stellen (Für leerschritte oder punkte).
Und so ist es überall. Und dann wundert man sich später, warum das Programm so langsam läuft.
BTT:
Ein "guter Programmierer" lässt sich weder an seinem Können noch seinem Wissen oder seinen Ergebnissen beurteilen, das spielt alles zusammen. Und niemand ist "perfekt".
Gruß Bankaifan
Hallo c4nyusuf (Y. Ö.),
guter Programmierer?? Es macht einen Unterschied ob mann Treiber, Prozessleitsysteme oder Bürosoftware entwickelt. In der Tat es wird heute all zu oft schlampig programmiert. Aber, was ist gut? Meine ersten Programme habe ich an Fernschreibern und Lochkartenstanzern geschgrieben. Entwicklungstechniken habe ich mie selbst erarbeitet, ein langer Weg, aber bin ich gut?
Für mich gelten folgende Qualitätskriterien:
Handwerkliches Können heißt nicht nur eine oder mehrere Sprachen zu beherschen, das kommt meist von selbst und wer eine Sprache kann, lernt auch schnell eine andere. Wichtiger ist lesbar und übersichtlich zu programmieren. Und die Arbeit beginnt mit Papier und Bleistift, nicht am Rechner! Mit einer Ausnahme: Wenn ich zunächst wissen will mit welchen Werkzeugen kann ich Problem x und y lösen. Aber dann ist das Papier drann für die Top-down oder Bottom-up - Entwicklung oder einer Kombination aus beidem, damit es übersichtlich und sauber wird.
Das Problem zu verstehen ist die wichtigste Kunst des Entwicklers. Er muß verstehen welches Problem zu lösen ist und erkennen ob alle Informationen vorhanden sind. Wenn erst in der Testphase festgestellt wird, dass Informationen fehlen, muß eventuell viel umgebaut werden. Das führt zu unübersichtlichen und fehlerträchtigen Produkten.
Das Verständniss von Anwendern bzw. Kunden ist kaum weniger wichtig. Anwender sind keine Informatiker, verstehen also nicht was geht und wie. Sie können sich oft auch nicht vorstellen, was der Rechenknecht alles kann, wenn man es ihm sagt. Entsprechend sehen Vorgaben aus. Was kann man alles falsch machen? Wie muß eine Fehlermeldung aussehen, damit eine Sekretärin nicht in Panik gerät? Dies und vieles mehr ist bei der Entwicklung zu berücksichtigen.
Dokumentation wurde schon angesprochen. Der Umfang hängt aber stark von der Größe des Projektes ab.
Der Programmierer muß die erste Version der Bedienungsanleitung schreiben. Hier zeigt sich dann, wie es mit dem Verständniss der Anwender bestellt ist. Was für uns selbstverständlich ist kann für sie schon eine Wissenschaft sein. Darauf muß die Beschreibung Rücksicht nehmen.
Ein Programm zu schreiben das sogar funktioniert ist leicht. Es aber so zu gestalten, dass Anwender es intuitiv nutzen können ist eine Kunst.
In diese Dinge kann man sich hineinarbeiten, am besten mit einem konkreten Projekt für Freunde oder Bekannte.
Schade ist nur, dass Qualität auch Zeit braucht (Gut Ding will Weile haben) und damit Geld kostet. Doch wer will's bezahlen?
Freundliche Grüße
Peter
guter Programmierer?? Es macht einen Unterschied ob mann Treiber, Prozessleitsysteme oder Bürosoftware entwickelt. In der Tat es wird heute all zu oft schlampig programmiert. Aber, was ist gut? Meine ersten Programme habe ich an Fernschreibern und Lochkartenstanzern geschgrieben. Entwicklungstechniken habe ich mie selbst erarbeitet, ein langer Weg, aber bin ich gut?
Für mich gelten folgende Qualitätskriterien:
- handwerkliches Können
- Problemverständnis
- Anwender/Kundenverständniss
- Dokumentation
- Bedienungsanleitung
Handwerkliches Können heißt nicht nur eine oder mehrere Sprachen zu beherschen, das kommt meist von selbst und wer eine Sprache kann, lernt auch schnell eine andere. Wichtiger ist lesbar und übersichtlich zu programmieren. Und die Arbeit beginnt mit Papier und Bleistift, nicht am Rechner! Mit einer Ausnahme: Wenn ich zunächst wissen will mit welchen Werkzeugen kann ich Problem x und y lösen. Aber dann ist das Papier drann für die Top-down oder Bottom-up - Entwicklung oder einer Kombination aus beidem, damit es übersichtlich und sauber wird.
Das Problem zu verstehen ist die wichtigste Kunst des Entwicklers. Er muß verstehen welches Problem zu lösen ist und erkennen ob alle Informationen vorhanden sind. Wenn erst in der Testphase festgestellt wird, dass Informationen fehlen, muß eventuell viel umgebaut werden. Das führt zu unübersichtlichen und fehlerträchtigen Produkten.
Das Verständniss von Anwendern bzw. Kunden ist kaum weniger wichtig. Anwender sind keine Informatiker, verstehen also nicht was geht und wie. Sie können sich oft auch nicht vorstellen, was der Rechenknecht alles kann, wenn man es ihm sagt. Entsprechend sehen Vorgaben aus. Was kann man alles falsch machen? Wie muß eine Fehlermeldung aussehen, damit eine Sekretärin nicht in Panik gerät? Dies und vieles mehr ist bei der Entwicklung zu berücksichtigen.
Dokumentation wurde schon angesprochen. Der Umfang hängt aber stark von der Größe des Projektes ab.
Der Programmierer muß die erste Version der Bedienungsanleitung schreiben. Hier zeigt sich dann, wie es mit dem Verständniss der Anwender bestellt ist. Was für uns selbstverständlich ist kann für sie schon eine Wissenschaft sein. Darauf muß die Beschreibung Rücksicht nehmen.
Ein Programm zu schreiben das sogar funktioniert ist leicht. Es aber so zu gestalten, dass Anwender es intuitiv nutzen können ist eine Kunst.
In diese Dinge kann man sich hineinarbeiten, am besten mit einem konkreten Projekt für Freunde oder Bekannte.
Schade ist nur, dass Qualität auch Zeit braucht (Gut Ding will Weile haben) und damit Geld kostet. Doch wer will's bezahlen?
Freundliche Grüße
Peter
Moin lefgruen,
Auch richtig, lefgruen.
Zum "Wesentlichen" des Programmierers gehört aber auch das Übersetzen und Abbilden-Können einer fachlich-deskriptiven Anforderung (in der Regel eher umgangssprachlich und mit viel Gestik und Mimik wortreich durch Endkunden rübergebracht) in einen sprachlich und syntaktisch viel, viel ärmeren Wortschatz (den der Programmiersprache).
Da es bei dieser Abbildung der komplexen Realität, die nun mal riechen, duften, schmecken, angenehm oder nervig sein kann, in ein viel, viel stilisiertes vereinfachtes Modell zusammengedampft werden muss, ist es eben auch elementar für einen Programmierer, ständige Kontrollen, Überprüfungen und Tests der versuchten "Übersetzungen" durchzuführen.
Anders ausgedrückt, nicht nur die analytischen Fahigkeiten sind gefragt, auch der richtige Umgang mit Feedback, mit Interpretationen, mit Teilergebnissen, Suboptima und Näherungslösungen.
Da insbesondere das Feedback und eine irgendwie bestätigte Annäherung an eine Lösung hier in diesem Beitrag seit mehr als einer Woche fehlt, werde ich Beitrag jetzt schließen.
Sollte noch jemand volle neue Aspekte / unabdingbare Kommentare hier anhängen wollen - bitte PN an einen der hilfsbereiten netten Moderatoren oder an mich.
Grüße
Biber
Auch richtig, lefgruen.
Zum "Wesentlichen" des Programmierers gehört aber auch das Übersetzen und Abbilden-Können einer fachlich-deskriptiven Anforderung (in der Regel eher umgangssprachlich und mit viel Gestik und Mimik wortreich durch Endkunden rübergebracht) in einen sprachlich und syntaktisch viel, viel ärmeren Wortschatz (den der Programmiersprache).
Da es bei dieser Abbildung der komplexen Realität, die nun mal riechen, duften, schmecken, angenehm oder nervig sein kann, in ein viel, viel stilisiertes vereinfachtes Modell zusammengedampft werden muss, ist es eben auch elementar für einen Programmierer, ständige Kontrollen, Überprüfungen und Tests der versuchten "Übersetzungen" durchzuführen.
- Zum einen ganz billig funktional im Programmcode ("Geht denn das Programm in den Else-Zweig, wenn die Datei leer ist?"),
- zum anderen auch etwas komplexer durch Kommunikation mit dem Anfordernden ("Sollte die Eingabemaske wirklich so aussehen? Das hier ist ihre Beschreibung laut Pflichtenheft...")
Anders ausgedrückt, nicht nur die analytischen Fahigkeiten sind gefragt, auch der richtige Umgang mit Feedback, mit Interpretationen, mit Teilergebnissen, Suboptima und Näherungslösungen.
Da insbesondere das Feedback und eine irgendwie bestätigte Annäherung an eine Lösung hier in diesem Beitrag seit mehr als einer Woche fehlt, werde ich Beitrag jetzt schließen.
Sollte noch jemand volle neue Aspekte / unabdingbare Kommentare hier anhängen wollen - bitte PN an einen der hilfsbereiten netten Moderatoren oder an mich.
Grüße
Biber