Der schnellste Programmierer der Welt!
-
muemmel schrieb:
Nebenbei, bei manchen Programmen merkt man, dass die Programmierer nach Zeilenleistung arbeiten.
Das Schlimme ist: es gibt auch genug Programmierer die nicht nach Zeilen bezahlt werden, die aber trotzdem Bugware (tm) Copy+Paste Code schreiben.
500-Zeilen Funktionen die ordentlich gefaltet (in mehrere Funktionen aufgeteilt und sinnlos-kompliziert Konstrukte entfernt) 80-120 Zeilen lange sind.
2-3 davon pro durchschnittlichem Source-File. Uh jeah Bebe!
-
Naja, mit virtuosem Skriptkiddie-tum, und das fließt sicher auch in die Microsoftschätzung ein, kann man eine ganze Menge schaffen...
Es ist also auch die Frage, ob man in einem vertrautem Bereich arbeitet, oder eher an einem Alles-Ist-Möglich-Contest teilnimmt.
Dann wäre noch die Frage, ob es generell um Tippgeschwindigkeit geht, oder zum Beispiel um das virtuose Vermischen von Scripsprachen-Code mit schneller-Code.
So gesehen ist die Frage nach der Menge bei der Frage nach dem schnellsten Programmierer ziemlich irrelevant.
Die Frage ist auch für Wirtschaftler völlig daneben, die brauchen Programmierer, die Geld bringen bzw. sparen.
Und ausserdem wäre dann Anschläge pro Minute beim Tippen irgendwie aussagekräftiger, weil dieser Messungstyp sich direkt aufs Tippen und nichts anderes bezieht. Und da kann man dann gucken, wie schnell die schnellsten Tipper sind und wenn es sich dann um eine einfache Programmierarbeit zum Test handelt, sagen wir mal eine Htmlseite gestalten, dann kann man schon ziemlich gut ableiten, was hinterher rauskommen kann.
Ganz grob würde ich mal schätzen, dass Lisp-Coder sehr schnell sein können.
-
Steffo schrieb:
Man ist ja nicht ununterbrochen am Coden. Was ist mit Tests, Wartung, Bugfixing, Planung, Refactoring etc.? Unterm Strich bleiben dann effektiv 10 Zeilen Code pro Tag.
Nein. Immernoch nicht.
-
@Steffo
Nö, 10 Zeilen/Tag ist definitiv zu wenig. Viel zu wenig.Natürlich kommt es immer drauf an was man genau macht.
Wenn man komplexe Algorithmen implementiert schafft man weniger Output/Zeit als wenn man "einfach" nur GUI Frontends runterklopft oder die 100. Datenauswertung nach Schema-F programmiert.Die meisten Programmierer-Jobs liegen aber in einem Bereich, wo man dich mit 10 Lines/Tag ganz schnell rausschmeissen würde.
-
Eine Wochenarbeit:
package nano.kernel; import nano.core.MultiList00; import nano.core.MultiList01; /** * * @author Zeus */ public class App { public static void main(String[] args) { Graph<MultiList00, MultiList00> graph = new GraphDefault<>(); Place<Object> place1 = new PlaceQueue<>(); Place<Object> place2 = new PlaceQueue<>(); Transition<MultiList01<Object>, MultiList01<Object>> trans1 = new TransitionDefault<MultiList01<Object>, MultiList01<Object>>() { @Override public Command<MultiList01<Object>, MultiList01<Object>> getFunction() { return new Command<MultiList01<Object>, MultiList01<Object>>() { @Override public void invoke(MultiList01<Object> argument, MultiList01<Object> result) { for (long index = 0; index < 987654321L; ++index) { } System.out.println("Done..."); result.setOne(argument.getOne()); } }; } }; graph.add(place1); graph.add(trans1); graph.add(place2); graph.connect(place1, trans1); graph.connect(trans1, place2); place1.add(new Object()); place1.add(new Object()); place1.add(new Object()); place1.add(new Object()); Platform p = new Platform(); p.setGraph(graph); p.start(); } }
Glaub eher bisschen mehr xD
-
-
hustbaer schrieb:
@Steffo
Nö, 10 Zeilen/Tag ist definitiv zu wenig. Viel zu wenig.Natürlich kommt es immer drauf an was man genau macht.
Wenn man komplexe Algorithmen implementiert schafft man weniger Output/Zeit als wenn man "einfach" nur GUI Frontends runterklopft oder die 100. Datenauswertung nach Schema-F programmiert.Die meisten Programmierer-Jobs liegen aber in einem Bereich, wo man dich mit 10 Lines/Tag ganz schnell rausschmeissen würde.
Die Zeilenangaben stammen vom Mystical Man Month und ich rede wie gesagt nicht von Spitzenzeiten, sondern vom Durchschnitt. Mir ist schon klar, dass man am Tag mehrere tausend Zeilen am Tag schaffen kann, aber das ist eben nicht der Durschnitt. Manchmal sitzt man auch mehrere Tage an nur einem Bug dran und auch an anderen Punkten, die ich aufgelistet habe.
Wenn man sich verschiedene Entwicklungsmodelle anschaut, dann ist die Implementierung, nur ein Teil von mehreren.L. G.
Steffo
-
Hmpf. Und ich investiere Zeit, um mir hintenraus Codezeilen zu sparen. Ich mach wohl was falsch...
-
Hi,
es heist ja nicht umsonst "die dümmsten Programmierer haben die dicksten Programme".
Mit husch-husch einen langen Copy-Paste-Brief an den Compiler schreiben schindet man natürlich gewaltig Zeilen, und bei Cheffs, die am Ende die Zeilenzahl angucken statt den Code macht man da gewaltig Eindruck. (Ich verweise hier mal wieder auf das alte Lenin-Zitat "der Fisch fängt am Kopf zu stinken an", d.h. ein Team programmiert meist nicht besser als es der Cheff ermöglihct).
Für wirklich gute Programmierung ist das Codieren letzlich nur noch der allerletze Schritt zum ausführbaren Programm. Ist bei mir selbst aber mittlerweile auch die Ausnahme. Wenn der Cheff 30 Minuten (oder auch mal 2 Stunden) nach Auftragserteilung erst mal was fürs Auge sehen will, also eine erste Benutzeroberfläche, dann läufts eben andersrum, erst formulare stricken und dann Verarbeitung reinhängen. Und nach der 500sten Wünsch-Dir-Was-Änderung ist dann eben ein Rucksackprogramm draus geworden. Wat solls. Ich bin Software-Entwickler und nicht Diplom-Cheff-Domestizierer. Muss ich eben sehen, wie ich trotzdem noch einigermaßen Qualität leisten kann. Zum Beispiel in dem ich mir für sehr viele Sachen wenn Zeit ist eigene Komponenten vorfertige, aus denen ich dann das eie oder andere Baukastenmäßig zusammensetzen kann. Oder in dem ich versuche, immer mehr von der programmierten Lösung weg hin zu SQL-Lösungen zuz kommen. Und in vielen anderen Betrieben ist es auch nicht so viel anders.
Vor allem da, wo wie bei mir nur ein einzelner Einzelkämpfer sitzt, wird es immer einen schleichenden Verfall geben, weil man zu sehr im eigenen Saft schmort und zu wenig neuen Input hat. Allerdings ist Delphi mittlerweile sehr C++ -ähnlich, so dass man da aus guten C++Büchern einiges lernen kann. Bedingt durch die jährlichen Versionswechsel von Delphi macht sich ja mittlerweile kein Verlag mehr die Mühe da aktuelle Bücher rauszubringen.
Gruß Mümmel
-
@Mümmel: Wieso wechselst du nicht die Arbeitsstelle? Es gibt durchaus Firmen, die anders vorgehen und der Chef auch Ahnung hat bzw. auf die Kompetenzen ihrer Mitarbeiter vertraut und weiß, dass Softwareentwicklung seine Zeit braucht.
-
Sinngemäßes Zitat aus dem Lama Buch:
Faulheit ist eine Tugned. Denn faule Menschen wollen nicht viel arbeiten und entwickeln daher Methoden die ihnen die Arbeit erleichtern. Und aus diesem Kontext heraus entstand Perl.Summa Sumarum:
Die Frage nach LOC ist unsinnig. Viele LOC deuten aber auf sehr schlechten Code (Copy Pase Modify) hin, während wenige LOC eher ein Indiz auf wiederverwendbaren Code hinweisen.
-
Ich schlussfolgere:
Der schnellste Programmierer wird viel wiederverwertbaren Code schreiben, welcher durchaus einem Design-Prozess unterliegen kann/muss und evt. einer strengen Testphase unterliegt. Der Quotient LOC/Zeit dürfte hier relativ niedrig sein.
Aber wenn ein neues Problem auftaucht, wird er das Problem wie mit einem Lego-Baukasten Stück für Stück, dank der wiederverwendbaren Komponenten, relativ schnell zusammensetzen. Und auch hier ist der Quotient LOC/Zeit relativ niedrig.
-
Hi Steffo,
Steffo schrieb:
@Mümmel: Wieso wechselst du nicht die Arbeitsstelle? Es gibt durchaus Firmen, die anders vorgehen und der Chef auch Ahnung hat bzw. auf die Kompetenzen ihrer Mitarbeiter vertraut und weiß, dass Softwareentwicklung seine Zeit braucht.
weil es eben immer ein Gesamtpaket ist. Wenn man eine Arbeitsstelle hat wo man sich insgesamt wohl fühlt, mit den Kollegen (auch Cheffs) menschlich gut klar kommt, recht gut bezahlt wird (zumindest für hier im Osten), einen relativ sicheren Job in Landesdiensten hat und mittlerweile 55 ist, dann sollte man das nicht ohne wirklichen Grund aufgeben. Es ist ja nun nicht so, daß ich hier geistig nicht mehr gefordert werde. Bei mir steckt das interessante eben unter der Oberfläche, also die kleinen Hilfsmittel und Lösungswege die ich mir baue, vor allem aber auch im Zusammenwirken zwischen (mittlerweile erworbenem) Fachwissen und Programmierwissen. Es ist ein Gesamtpaket das passt, und da muss ich halt wie jeder andere auch mit einigen Klemmstellen leben.
Gruß Mümmel
-
Steffo schrieb:
hustbaer schrieb:
@Steffo
Nö, 10 Zeilen/Tag ist definitiv zu wenig. Viel zu wenig.Natürlich kommt es immer drauf an was man genau macht.
Wenn man komplexe Algorithmen implementiert schafft man weniger Output/Zeit als wenn man "einfach" nur GUI Frontends runterklopft oder die 100. Datenauswertung nach Schema-F programmiert.Die meisten Programmierer-Jobs liegen aber in einem Bereich, wo man dich mit 10 Lines/Tag ganz schnell rausschmeissen würde.
Die Zeilenangaben stammen vom Mystical Man Month und ich rede wie gesagt nicht von Spitzenzeiten, sondern vom Durchschnitt. Mir ist schon klar, dass man am Tag mehrere tausend Zeilen am Tag schaffen kann, aber das ist eben nicht der Durschnitt. Manchmal sitzt man auch mehrere Tage an nur einem Bug dran und auch an anderen Punkten, die ich aufgelistet habe.
Wenn man sich verschiedene Entwicklungsmodelle anschaut, dann ist die Implementierung, nur ein Teil von mehreren.L. G.
SteffoNun ich lese greade 10 LOC hat Herwig Mayr "geschätzt" und ein Jahr danach Jochen Ludewig und Horst Lichter den durschschnittlichen LOC eines Entwicklers auf 16 "geschätzt". Abgesehen dass ich jetzt nicht weiß, ob diese Zahlen nun wirklich vergleichbar sind, wie würde gemessen, wurde der Style angepasst für das zählen, war die implementeriung in der gleichen Programmiersprache, zählt Code aus Generatoren oder Vereinfachungen(XAML, XFML,...) mit...??
Dennoch sieht man ein Trend die LOC gehen hoch. Denn auch der Software-Prozess in einen Unternehemen, kann man optimieren und damit in Ergebnis mehr LOC erreichen wird. Als Beispiel kannst du Scrum sehen, ist auch nur ein Hype, den Softwareentwicklungsprozess auf den nötigensten Overhead zu beschränken.
-
die abstimmung braucht einen gewinner, sonst muss ich eine neue machen :p
-
@Steffo
Mir ist egal wo die Zahl herkommt, und mir ist auch klar dass du vom Durchschnitt redest und nicht von Spitzenzeiten.Zu Spitzenzeiten schaffe ich so um die 1000 Zeilen pro Tag.
Nach deiner Rechnung dürfte ich dann das ganze Jahr nichts mehr arbeiten, wenn ich mal 2-3 gute Tage hatte.Das ist Blödsinn.
-
hustbaer schrieb:
Zu Spitzenzeiten schaffe ich so um die 1000 Zeilen pro Tag.
Ja, ich tippe auch öfter mal 1000 Zeilen an einem Tag runter. Aber dann fang ich an das zu testen und zu optimieren, und dann hab ich nach 1-2 Wochen immer noch nur 1000 Zeilen, aber andere ^^
-
Mechanics schrieb:
hustbaer schrieb:
Zu Spitzenzeiten schaffe ich so um die 1000 Zeilen pro Tag.
Ja, ich tippe auch öfter mal 1000 Zeilen an einem Tag runter. Aber dann fang ich an das zu testen und zu optimieren, und dann hab ich nach 1-2 Wochen immer noch nur 1000 Zeilen, aber andere ^^
bei mir geht gerade auch nichts vorwärts, liegt aber eher daran, dass es neuland und für mich etwas zu schwer ist. wenn ich etwas mache, was ich schon gemacht hab, oder es relativ einfach ist, komm ich schon auch auf 500-1000 peak
...
-
Mechanics schrieb:
hustbaer schrieb:
Zu Spitzenzeiten schaffe ich so um die 1000 Zeilen pro Tag.
Ja, ich tippe auch öfter mal 1000 Zeilen an einem Tag runter. Aber dann fang ich an das zu testen und zu optimieren, und dann hab ich nach 1-2 Wochen immer noch nur 1000 Zeilen, aber andere ^^
Ja die Aussage war 10 Zeilen pro Tag. D.h. 2000-2xxx Zeilen pro Jahr (wie viele Tage hat nochmal ein Jahr Mo-Fr abzüglich Feiertage, Urlaub und durchschnittlichem Krankenstand?).
Davon abgesehen sind diese "starken" Tage auch von der Code-Qualität meist meine produktivsten. Wenn ich mal im Flow bin, dann geht alles besser. Nicht nur schneller, auch die Code-Qualität passt dann ziemlich gut.
-
hustbaer schrieb:
Mechanics schrieb:
hustbaer schrieb:
Zu Spitzenzeiten schaffe ich so um die 1000 Zeilen pro Tag.
Ja, ich tippe auch öfter mal 1000 Zeilen an einem Tag runter. Aber dann fang ich an das zu testen und zu optimieren, und dann hab ich nach 1-2 Wochen immer noch nur 1000 Zeilen, aber andere ^^
Ja die Aussage war 10 Zeilen pro Tag. D.h. 2000-2xxx Zeilen pro Jahr (wie viele Tage hat nochmal ein Jahr Mo-Fr abzüglich Feiertage, Urlaub und durchschnittlichem Krankenstand?).
Arbeitstage: um 260(vertraglich)/216(effektive)
Quelle: http://www.bewerberaktiv.de/pdf/40655.pdf Seite 33