Hallo!
Mal ein Fragen.
Ist Programmieren eine Kunst?
Sind Programmierer automatisch intelligent, weil sie Programmierer sind?
Gibt es einen "den besten Programmierer"? -wenn Ja, wer ist es?
Wie unterscheidet man zwischen einem guten und einem schlechten
Programmierer?
Die Fragen sind ernst gemeint, weil ich meinen Beruf als vom Niveau her
"besten" Beruf neben Kernforschung o.ä. ansehe.
Gruß
>Ist Programmieren eine Kunst?
Devinitiv JA !
>Sind Programmierer automatisch intelligent, weil sie Programmierer sind?
Doppeldevinitiv NEIN !
>Gibt es einen "den besten Programmierer"? -wenn Ja, wer ist es?
Gegenfrage, gibt es "Den besten Sportler" ?
Buckaro Banzai ist nur eine filmgestalt ;-)
>Wie unterscheidet man zwischen einem guten und einem schlechten>Programmierer?
An der Zahl der nachbesserungen seiner Soft, der göße de Compilates im
Vergleich zu ähnlicher soft der Konkurrenz und der Intuitiven Bedienung.
Oder einfacher gesagt:
ein führerschein macht nicht automatisch einen guten Fahrer ;-)
>Sind Programmierer automatisch intelligent, weil sie Programmierer sind?>>Doppeldevinitiv NEIN !
Habe jedoch noch nie einen "dummen" Programmierer angetroffen ;-)
> Ist Programmieren eine Kunst?
vergleichbar mit schriftsteller - und da gibt es solche und solche.
> Sind Programmierer automatisch intelligent, weil sie Programmierer> sind?
nein.
> Gibt es einen "den besten Programmierer"? -wenn Ja, wer ist es?
klar. ich, wer sonst ;-)
> Wie unterscheidet man zwischen einem guten und einem schlechten> Programmierer?
schau seinen code an. versuch mit ihm zu reden. versuch ihm ein
pflichtenheft zu erklären. da kommt dann bald auf, dass 90% nicht
unbedingt als "gut" zu bezeichen sind. wennst glück hast, findest du
unter 0.1% vom rest einen brilianten kopf .. aber in der praxis wohl
kaum.
> Ist Programmieren eine Kunst?
Kunst kommt nicht unbedingt von können!
> Sind Programmierer automatisch intelligent, weil sie Programmierer sind?
Kommt darauf an wie Intelligenz definiert wird....., logisches Denken
ist eine Voraussetzung!
Z.B. ist ein Synchron-Dolmetscher nicht deshalb unintelligent, weil er
nicht programmieren kann; dafür kann er aber aber sofort zwischen
(mehreren) Sprachen übersetzen. Eine andere Art Intelligenz oder
Begabung.
> Gibt es einen "den besten Programmierer"? -wenn Ja, wer ist es?
Was ist der beste Programmierer? Kürzester Code, Assembler-Ass,
Wenig Fehler in der SW?
> Wie unterscheidet man zwischen einem guten und einem schlechten> Programmierer?
Nicht unbedingt an der Bedienbarkeit des Programms. Ich habe schon viele
gute Programmierer getroffen, deren Programme anfangs unmöglich zu
bedienen waren; nach einer Erklärung was das Programm eigentlich tun
sollte, und Anregungen vom Anwender war das Ergebnis Super!
Kommentar Programmierer: Wenn man erfährt was das Programm eigentlich
"tun soll", ist es einfacher gute Programme zu schreiben.......
Leider wird den Programmierern oft wichtige Information vorenthalten!!!
>> Gibt es einen "den besten Programmierer"? -wenn Ja, wer ist es?>Was ist der beste Programmierer? Kürzester Code, Assembler-Ass,>Wenig Fehler in der SW?
Derjenige, der seine SW am besten verkauft: "it's not a bug, ist's a
feature!"
;)
>Gibt es einen "den besten Programmierer"
Wird der sein, der sein Programm noch auf die DOS-Startdiskette mit
unterbringt, welches einen größeren Funktionsumfang besitzt als die
5GB-Version des Mitbewunderers und außerdem fehlerfrei läuft. :)
>Wie unterscheidet man zwischen einem guten und einem schlechten>Programmierer?
Die schlechten reden mehr, um ihr Produkt an den Mann zu bringen. :)
Maclockl schrieb:
> Ist Programmieren eine Kunst?
Manchmal Ja, manchmal Nein. Ich täte da kein pauschales Ja geben, denn
Programmieren täte ich als Handwerk und Kunst zugleich betrachten.
> Sind Programmierer automatisch intelligent, weil sie Programmierer sind?
Sind Politiker automatisch intelligent, weil sie im Bundestag sitzen?
> Gibt es einen "den besten Programmierer"? -wenn Ja, wer ist es?
Wayne?
> Wie unterscheidet man zwischen einem guten und einem schlechten> Programmierer?
Schlechte Programmierer gehen zu Microsoft, gute zu Apple. Ne, mal im
Ernst. Ein guter Programmierer zeichnet sich durch eine systematische
und strukturierte Heransgehensweise an die Entwicklung von Software aus.
Weiterhin tut er die Entwicklung der Software ordentlich und umfassend
dokumentieren (Kommentare im Quelltext!) und gibt die Software erst dann
als fertig heraus, wenn er ein umfangreiches Bugfixing gemacht hat.
Nebendem klaut er nicht unerlaubt von Anderen. So ungefähr...
> Die Fragen sind ernst gemeint, weil ich meinen Beruf als vom Niveau her> "besten" Beruf neben Kernforschung o.ä. ansehe.
Jedem das Seine.
Die meisten Programmierer sind nur Mittelmaß und verzetteln sich in
Spielereien ohne zu begreifen was wirklich wichtig ist – die
strukturierte Benutzeroberfläche.
Eins der ganz schlimmen Beispiele ist Eclipse. Schöner Editor, schöne
Details aber die Struktur von Menüs und Fenstern folgt mehr der schönen
Form als der Funktion.
Die Form muss der Funktion folgen, nicht umgekehrt – egal ob Toaster
oder Programm.
Programmierer werden zumindest im Heiseforum als dumme Handwerker ohne
eigene Denkfähigkeit bezeichnet, die einen Akademiker als Vordenker
brauchen um für diesen die Routineaufgaben und vorgekauten Algorithmen
schematisch in den Rechner zu hacken.
Programmierer werden zumindest im Heiseforum als dumme Handwerker ohne
eigene Denkfähigkeit bezeichnet....
Ha. Ja. Wenn sie sich als das darstellen... Es gibt Leute, die koennen
sich ueber die Programmiersprache aufheizen. Ueber Betriebssysteme. Das
ist leider uninteressant. Wichtig ist wer das Problem loest, und das ist
der mit den Algorithmen, mit dem Loesungsansatz.
Wenn mir ein Kunde mit einer Programmiersprache kommt, bin ich
eigentlich schon draussen, dann hat er sein Problem offensichtlich
geloest.
Hauptproblem ist die Kommunikation von Programmierern mit ihren
Auftraggebern. Ich schreibe z.B. Software zur Prozessanalyse und
-Steuerung für Druckereien (BDE, MIS).
Ich habe mal in dieser Branche gelernt und gearbeitet, ich kann mit den
Leuten reden und verstehe, was sie meinen. Ich kenne die Technologie und
die Fachbegriffe.
Ich kenne aber auch viele Projekte, die kläglich daran gescheitert sind,
dass sich die "Super-Informatiker" und die Leute aus der Produktion
partout nicht verständigen konnten (oder wollten).
Gute Programmierer erkennt man ausserdem an der Liebe zum Detail, ohne
sich zu verzetteln und die Bedienbarkeit zu verschlechtern. Ohne irgend
jemand zu nahe treten zu wollen, gibt es eine Tendenz, dass fest
angestellte Programmierer m.E. es an dieser Liebe zum Detail, pfiffigen
Ideen und sorgfältigem Oberflächendesign häufiger fehlen lassen, als
Freiberufler. So ist zumindest meine Erfahrung. Viele Softwareprodukte
größerer Firmen, die ich kenne, funktionieren zwar, sind aber lieb- und
einfallslos "hingerotzt".
Frank
Gast schrieb:
> Die Form muss der Funktion folgen, nicht umgekehrt – egal ob Toaster> oder Programm.
Naja, bei Apple gibts schon immer function follows form. Und irgendwie
verdienen die anscheinend auch genug Geld...
Maclockl schrieb:
> Ist Programmieren eine Kunst?
Nein.
Programmieren erfordert außer Kreativität auch Können und Disziplin.
Ist also deutlich schwerer als Kunst.
> Sind Programmierer automatisch intelligent, weil sie Programmierer sind?
Nein.
Jeder Hirni darf programmieren.
> Wie unterscheidet man zwischen einem guten und einem schlechten> Programmierer?
Programme von schlechte Programmierern sind größer (Binärfile),
langsamer, schlechter wartbar, schlechter erweiterbar, schlechter
nachnutzbar, enthalten viele Fehler, enthalten große Codeblöcke.
Programmierer lassen sich ungern in die Karten (Festplatte) gucken.
Einen Nichtprogrammierer können schlechte Programmierer daher gut
täuschen.
Programmierer, die Fehler zugeben und auch schnell beseitigen, ohne
dabei weitere Fehler einzubauen, sind in der Regel gute Programmierer.
Sie benutzen ein VCS.
Peter
> Wie unterscheidet man zwischen einem guten und einem schlechten> Programmierer?
Was dazu bisher gesagt wurde, finde ich absolut richtig.
Aber was fast noch wichtiger ist:
Ein schlechter Programmierer ist leicht enttarnt: Schau Dir einfach die
Kommentare im Programmcode an:
Sind die Kommentare leicht verständlich, und läßt sich damit die
Funktion so leicht verstehen, dass man selber problemlos erweitern /
ändern kann ?
Wenn Ja: Dann wurde die Funktion von einem guten Programmierer
geschrieben
Das ist übrigens keinesfalls die Regel. Ich habe hier im Forum schon
einige gesehen, die ganze Bootloader-Funktionen geschrieben haben, die
nicht eine einzige Zeile Kommentar enthielten. Das ist die absolut
unterste Grenze. Diese Leute können nicht programmieren
Gruß
DW schrieb:
>> Wie unterscheidet man zwischen einem guten und einem schlechten>> Programmierer?>> Was dazu bisher gesagt wurde, finde ich absolut richtig.>> Aber was fast noch wichtiger ist:> Ein schlechter Programmierer ist leicht enttarnt: Schau Dir einfach die> Kommentare im Programmcode an:> Sind die Kommentare leicht verständlich, und läßt sich damit die> Funktion so leicht verstehen, dass man selber problemlos erweitern /> ändern kann ?> Wenn Ja: Dann wurde die Funktion von einem guten Programmierer> geschriebenhttp://www.getdigital.de/products/no_comment
It was hard to write - it should be hard to understand..
Berater 2.0 schrieb:
> Programmieren ist ein Handwerk>> Software entwickeln ist die Kunst
Sehe ich auch so.
Mindestens zwei Drittel der Software entstehen im Kopf und auf dem
Notizblock, das ist die Kunst der Softwareentwicklung.
Das Programmieren selbst ist das 'ins Reine schreiben' in der jeweiligen
Programmiersprache.
Ein guter Programmierer/SW-Entwickler strukturiert seine Quelltexte
penibel. Alles ist gut überschaubar.
Jede Block mit gleicher Formatierung.
Einfach schön zu lesen und nicht nur eine lieblose Aneinanderreihung
von Text.
Ich bin nämlich ein guter Programmierer! :-) Ich mach mir erst mal ein
vollständiges Bild.
Woran erkennen? Das mit den Kommentaren ist ein wichtiger Aspekt, stimmt
schon, außerdem:
Ein guter Programmierer kann Dir als Kunden allgemeinverständlich auf
abstraktem Niveau erklären, was er da gerade auf dem Bildschirm zu
stehen hat. er muß dazu kaum scrollen.
Ein schlechter Programmierer bewirfst Dich mit Denglisch, zeigt Dir, um
Dich zu beeindrucken, viele Seiten Quelltext und gibt Dir das Gefühl,
daß das alles viel zu kompliziert ist, als daß Du es verstehen könntest.
Einen schlechten Programmierer erkennst du daran, dass er bei
Änderungswünschen des Kunden grundsätzlich nie ein Problem sieht, er
nach 3 Minuten in seinem Kämmerchen eine Lösung aus dem Hut zaubert die
so lala funktioniert und nach 3 Monaten und 10 Updates immer noch nicht
richtig geht.
Ein guter Programmierer scheut auch nicht davor zurück, die generelle
Programmstruktur in Frage zu stellen und zu ändern, auch wenn das im
Moment erst mal nach unnötiger Mehrarbeit aussieht.
Aus meiner Praxis kann ich sagen, dass Kundenwünsche über eine gewisse
Zeit nur "drangestrickt" werden. Nach mehreren solchen Aktionen ist dann
aber ein mehr oder weniger umfangreiches Redesign nötig. Ich nenne das
für mich "Code-Straffung"
Dann werden die Funktionen überarbeitet, evtl. neue Klassen angelegt,
die ganzen Provisorien beseitigt. Sowas kann man nicht bei jedem "Furz"
machen ...
Frank
> Ein guter Programmierer kann Dir als Kunden allgemeinverständlich> auf abstraktem Niveau erklären, was er da gerade auf dem Bildschirm> zu stehen hat. er muß dazu kaum scrollen.>> Ein schlechter Programmierer bewirfst Dich mit Denglisch, zeigt Dir,> um Dich zu beeindrucken, viele Seiten Quelltext und gibt Dir das Gefühl,> daß das alles viel zu kompliziert ist, als daß Du es verstehen könntest.
Das ist ein sehr aussagekräftiges Kriterium. Sehr gut beobachtet!
Noch etwas ähnliches fällt mir ein:
Gute Programmierer können voll des Lobes für fremden Quelltext sein und
sich über daraus neu Gelerntes freuen und total begeistert sein.
Schlechte Programmierer denken immer, sie alleine haben den heiligen
Gral erfunden.