Der schnellste Programmierer der Welt!
-
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
-
Es ist unsinnig auf geschriebene Codezeilen auf die Geschwindigkeit eines Programmierers zu deuten. Man kann viele sinnlose Zeilen schreiben, wo wenige ausreichend wären. Was nützen Codezeilen, wenn dafür viele Fehler beim Kunden landen.
Ich wurde schon mindestens 2x als langsamer Programmierer bezeichnet, merkwürdigerweise drehte sich die Aussage nach gewisser Zeit. Ich habe vielleicht weniger Codezeilen geschrieben, aber mein Code führte effektiv auch vergleichsweise weniger Fehlern beim Kunden.
Und die Geschwindigkeit setzt sich meines Erachtens dann noch eher daraus zusammen, wie schnell der Kunde ein korrektes Programm erhält (nach Möglichkeit sollte der Kunde selbst dabei auch so wenige Fehler finden, wie nur möglich => An Negatives erinnert man sich leicht).
-
@asc
Klar ist es unsinnig die Produktivität nach geschriebenen/geänderten Codezeilen zu bemessen.Aber irgendwo gibt mMn. es einen Bereich in dem es sich abspielen sollte (min.) bzw. kann (max.). Dieser Bereich wird recht breit sein.
Wenn mir jmd. erzählt er schreibt pro Tag 1 Mio. LOC, dann glaube ich es ihm nicht (wobei ich mit schreiben jetzt schreiben meine, Output von diversen Code-Generatoren zählt nicht).
Genau so wenn jmd. meint er schafft pro Tag im Schnitt nicht mehr als eine Zeile dann passt da was nicht. Ich kann mir grad nichtmal vorstellen dass ein Maintenance-Programmierer der im schwierigsten vorstellbaren Projekt arbeitet mit dem kompaktesten vorstellbaren Code nur eine Zeile pro Tag schafft.
Wenn man es dann noch auf halbwegs normale Projekte in imperativen Sprachen einschränkt, und auf Zeilen die nicht pervers lange sind, dann sind 10 LOC/Tag einfach zu wenig.
Klar kann man Spezialfälle (er)finden wo jmd. eigentlich Algorithmen entwickelt, komplizierte Datenstrukturen entwirft etc., und diese dann halt auch selbst implementiert. Und damit dann auch weniger als 10 LOC/Tag kommt, ohne dass man ihn langsam nennen könnte. Ob man das als Tätigkeit dann noch "Programmieren" nennen kann ist aber eine andere Frage.
-
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?).
Ich halte das auch für arg wenig. Ich schätze mal grob, dass ich letztes Jahr in der Arbeit um die 50 000 Zeilen geschrieben habe. Ist eine sehr grobe Schätzung, aber ich denke, es waren sicher nicht weniger. Das wären in etwa 200 Zeilen pro Tag, halte ich für durchaus realistisch als Durchschnitt. Wenn man etwas komplexeres schreibt, dann kommen nicht so schnell so viele Zeilen raus, aber ab und zu muss man halt einfach Datenstrukturen definieren oder etwas Boilerplate schreiben, dann kommt einbisschen was zusammen.
Natürlich kann man darüber nicht die Produktivität bewerten, das ist eh klar.
-
hustbaer schrieb:
@asc
Klar ist es unsinnig die Produktivität nach geschriebenen/geänderten Codezeilen zu bemessen.Aber irgendwo gibt mMn. es einen Bereich in dem es sich abspielen sollte (min.) bzw. kann (max.). Dieser Bereich wird recht breit sein.
Sicher. Wir haben uns auch von einem Entwickler getrennt, nachdem er (neben anderen Problemen) in einer Woche weniger als 5 Locs zum Projekt beigetragen hat (und auch nichts anderes was irgendeinen Wert hatte).