Codecrap des Tages: PLUS1
Mittwoch, 11.2.2015, 08:24 > daMaxUpdate: oha! 5 Jahre später gibt es die (eigentliche, damals verlinkte) Website nicht mehr. Statt Programmierscheiße ist da jetzt irgendwas mit Farben. Schade aber auch.
Update: oha! 5 Jahre später gibt es die (eigentliche, damals verlinkte) Website nicht mehr. Statt Programmierscheiße ist da jetzt irgendwas mit Farben. Schade aber auch.
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Ey, lass mich einfach rein, okay? |
Ich will das hier nie wieder sehen. |
Ihr Browser versucht gerade eine Seite aus dem sogenannten Internet auszudrucken. Das Internet ist ein weltweites Netzwerk von Computern, das den Menschen ganz neue Möglichkeiten der Kommunikation bietet.
Da Politiker im Regelfall von neuen Dingen nichts verstehen, halten wir es für notwendig, sie davor zu schützen. Dies ist im beidseitigen Interesse, da unnötige Angstzustände bei ihnen verhindert werden, ebenso wie es uns vor profilierungs- und machtsüchtigen Politikern schützt.
Sollten Sie der Meinung sein, dass Sie diese Internetseite dennoch sehen sollten, so können Sie jederzeit durch normalen Gebrauch eines Internetbrowsers darauf zugreifen. Dazu sind aber minimale Computerkenntnisse erforderlich. Sollten Sie diese nicht haben, vergessen Sie einfach dieses Internet und lassen uns in Ruhe.
Die Umgehung dieser Ausdrucksperre ist nach §95a UrhG verboten.
Mehr Informationen unter www.politiker-stopp.de.
He wait, die Funktion macht Sinn in Sprachen, die etwas degeneriert sind. Das ist das ++i aus C.
...
10000 print plus1(lineNumber); line$
Okay, in richtigen Sprachen (tm) muss das nicht...
Ich kenne keine Sprache in der ein "ii = ii + 1" nicht schneller ist, als ein Funktionsaufruf.
Im übrigen müsste diese Funktion eigentlich das i++ sein (wenn ich mich nich irre).
@JoyntSoft: Fail.
1) Richtige Sprachen optimieren Funktionsaufrufe bei Bedarf (auch ohne inline) weg.
2) Es geht nicht um schneller. Kannst Du "10000 print ii=ii+1; line$" schreiben?
3) ++i ist schon korrekt. i++ musste so lauten:
function postIncrement(byref ii as short) as short
var temp = ii
ii = ii + 1
postIncrement = temp
end function
Anmerkung: Das ist das erste mal, dass ich JoyntSoft widersprechen muss. Und ich dachte schon, ehr friert die Hölle ein... Nimm's nicht übel, ja?
@Joachim: Sorry, ich vergaß: das Thema ist seit Jahrzehnten durch. Schlimm ist nur, dass jemand heute noch so "programmieren" muss.
Niemand muss so programmieren. Dass VB6 kein i++ kennt ist eben so, dann schreibt man eben i=i+1. Es gibt m.E. keinen Grund, so eine bescheuerte Funktion zu schreiben. Vor allem, da der Datentyp Short nur bis 32767 geht und die Funktion also ab ii=32767 mit einem Overflow um sich wirft. Absoluter Codecrap deluxe.
@da]v[ax: Max, dat is ++i. Doch mit Short gebe ich Dir bedingt Recht. Ist schon blöde, wenn eine "moderne" Sprache keine Möglichkeit bietet, das abstrakt (hier typenlos) auszudrücken. Die Notwendigkeit für eine solche Funktion kann jedoch durchaus gegeben sein. Besonders in "dummen" Sprachen mit wenig(er) Abstraktionsmöglichkeiten. Außerdem fehlt hier der Kontext. Vielleicht hast Du Recht, vielleicht auch nicht.
Eine Sprache muss dem Programmierer erlauben Dinge so auszudrücken, wie er es "denkt", Sachkenntnis und ein wenig Erfahrung vorausgesetzt. VB unterstützt das definitiv nicht hinreichend (auch wenn die Bedeutung der Sprachen hier teilw. überschätzt werden).
Crap rein, crap raus. Das (nicht nur VB und Co.) ist sowas von übergestern. Da muss man sich wirklich nicht wundern...
@Joachim: Ahem - willst Du 10000 mal PLUS1 schreiben
Die Funktion ist in jeder Programmiersprache die ich kenne Blödsinn
/EDITH SAGT: Hölle ist zugefroren. War da, habe das geprüft
@JoyntSoft: Ja, JoyntSoft, dann z.B. wenn ich 10000 Zeilen mit Zeilennummer (in einer Schleife) ausgeben muss. Doch das ist nicht wirklich der Punkt. Der Punkt ist das ausschließlich prozeduale, imperative und flache Denken, das hinter der Ablehnung von pre- und postincrement steht. Iteratoren anyone? OO?
Wenn die Projekte ein klein wenig größer werden, dann ... dann rettet Dich puls1 sicher nicht ... wohl aber Designtechniken, Konzepte und Abstraktion. Programmieren ist, die Illusion der Einfachheit zu schaffen (frei nach Booch).
Ja, je nach Kontext ist plus1 so bescheuert, wie der gewählte Name. Doch ohne Kontext kann man das nicht beurteilen.
@Joachim: Ich kann mir nicht vorstellen, dass der Aufruf einer selbstgebauten Funktion effizienter ist als z.B. "i++", "++i", "i+=1", "i:=i+1" oder "inc(i)" (je nach Sprache und Vorlieben).
Es besteht aber die Möglichkeit, dass ich mal auf einen Kontext stoße, in dem diese Funktion Sinn macht, wenngleich ich mir nicht vorstellen kann, welcher das sein könnte.