chessmail

Letzte Beiträge

null hat Remis geboten

underdunk - 07.04.21    
Hi shaack,

you shall not follow the null pointer. 😱

In meinem Spiel gegen DJDoena steht null hat Remis geboten. Er sagt, er habe zwei mal versucht den Zug abzuschicken und es hätte nicht geklappt. Dann habe er refresht und dann ging es.
toby84 - 07.04.21    
😂
underdunk - 07.04.21    
Mein Gegner besteht ja auf die korrekte Orthographie. Nach eigener Aussage weiß er ja, dass er eine Null ist, aber dann doch bitte mit großem N!

🤣
toby84 - 07.04.21    
zugegebenermaßen schreibe ich ja fast immer klein, aber dass gerade null nichts großes sein kann, versteht sich doch wohl von selbst 😁

wenn wir schon bei orthographie sind, lassen wir die grammatik nicht aus: auch wenn duden das (in seltenen fällen) akzeptiert: "bestehen auf" mit akkusativ fühlt sich für mich immer komisch an 😛 da fühle ich mir auf dem schlips getreten.
underdunk - 07.04.21    
Wir hättest Du es formuliert?
Alapin2 - 07.04.21    
Ich persönlich, hier vielleicht mal stellvertretend für die Allgemeinheit (??), habe nicht die geringste Ahnung, worum es hier eigentlich geht.
"you shall" scheint mir schon nicht ganz richtig!? "null pointer" ist wohl auch eher "zero
pointer" oder Nullpunkter (no point habender, having nix points?)? Ausserdem kann man auch auf dem Dativ bestehen, aber dann bitte mit ordentlicher Krawatte, nicht mit einem windigen Schlips!
In der Tat ist es bei spannenden Partien auch mal angebracht, ein Deo (refreshen) zu benutzen!
P. S. :Bitte nicht persönlich nehmen, aber manche Blogs reizen hier auch zu Satire versuchen!
Alapin2 - 07.04.21    
Satireversuchen! Rechtschreibprogramm....
toby84 - 07.04.21    
@underdunk: mit dativ: beharren auf der korrekten orthographie.

mein schlips war natürlich selbst ein doppelter dativ-scherz. das sage ich sicherheitshalber mal dazu.

@alapin: stinmt, eigentlich heißt es "thou shalt". lustig, aber kein witz ;)

null pointer gibt es in der programmierung. für alle informationen auf speichermedien gibt es sozusagen inhaltsverzeichnisse mit zeigern (vergleichbar mit seitenangaben in einem buch), die angeben, wo welche information zu finden ist. ein null pointer ist ein zeiger, der quasi ins nichts führt. als würde im buch stehen: zusammenfassung auf s.125. wenn man dann nachsieht, ist die seite 125 leer. der vergleich hinkt etwas, weil ein buch üblicherweise keine leeren seiten hat und die speicher auch nicht wirklich "leer" sind. aber so kann man es sich ungefähr vorstellen.
underdunk - 08.04.21    
Ein Buch beginnt üblicherweise mit der Zählung der Seiten auf dem Titel. Wenn das Buch unaufgeklappt vor mir liegt, sehe ich also Seite 1. Ein null pointer wäre also ein Verweis auf Seite 0. Ein Verweis auf eine leere Seite 125 wäre also ein korrekter Verweis, es gäbe nur nichts vernünftiges zu lesen.

Nun stellt man sich die Frage, warum sollte man so etwas tun? 😀

Ganz einfach, wir stellen uns vor, wir wollen nun eine Arbeitsanweisung schreiben, wie man am schnellsten ein bestimmtes Kapitel findet und dann am Ende die zugehörige Seitenzahl nennen. Wenn nun der Suchende ein Kapitel sucht, das es im Buch nicht gibt, hat man zwei Möglichkeiten, einen Fehler werfen oder eben null zurückzugeben. Letzteres macht mehr Sinn, denn es ist ja ein korrektes Ergebnis. Einen Fehler würde ich vermutlich dann werfen, wenn während des Suchens auffällt, dass Seiten fehlen.
toby84 - 08.04.21    
hm stimmt, der zeiger selbst zeigt schon auf keine seite. das hatte ich mir anders vorgestellt. aber das dürfte so wohl deutlich performanter sein.
MarkD - 08.04.21    
Nur als Anmerkung: den Zeiger auf Seite 0 zeigen zu lassen, ist auch nicht null.
null ist nichts, nada, kein Inhalt.
0 wäre ein Zeiger auf eine nicht vorhandene Seite,
ebenso wie im Beispiel ein Zeiger auf S. 126.

https://de.wikipedia.org/wiki/Nullwert und
https://en.wikipedia.org/wiki/Nullable_type
für die Interessierten...
underdunk - 08.04.21    
Der Scherz bezieht sich auf einen Zeiger. Zeiger sind ein Zahlenwert der sich auf eine Speicherstelle bezieht. Will man einen Zeiger ins Nichts haben, was der null pointer ist, muss man auf eine nicht-existente Speicherstelle zeigen - 0 eben. Vergleiche https://de.wikipedia.org/wiki/Zeiger_in_C#Nullzeiger
Oli1970 - 08.04.21    
Oha, die Annahme ist gewagt, die Speicherstelle h0000 bzw. einen Pointer, der dorthin weist, als Zeiger ins Nichts und gleichbedeutend mit null zu setzen. Ganz im Gegenteil, null ist ungleich 0 und ein entsprechender Pointer auf 0 ist entsprechend gültig. Ob dort ein gültiges Objekt zu finden ist - oder die Adressierung vom Betriebssystem überhaupt erlaubt ist, Stichwort Zero Page - steht auf einem anderen Blatt.

Es ist natürlich viel von der Programmiersprache bzw. deren Implementierung abhängig, dennoch tut der Programmierer gut daran zu unterscheiden, ob eine Funktion 0, null oder void zurückgibt. Oder eben ob ein Pointer oder ein Objekt oder ein Datentyp 0 oder null oder nicht initialisiert ist. Null ist in der Regel eine „Vereinbarung“ mit der Programmiersprache als Hinweis auf eine Ungültigkeit, 0 ist jedoch was sehr Konkretes. So, wie MarkD es beschrieben hat.
underdunk - 08.04.21    
Ein Pointer in C hatte immer int Breite. Was würdest Du denn da so reinschreiben um null zu bedeuten?

Du kannst auch gerne mal meinem Wikipedia Link folgen und lesen, dass es per Compiler-Makro zu 0 umgesetzt ist. Oder bei Stackoverflow
https://stackoverflow.com/questions/176989/do-you-use-null-or-..

Mehr sag ich jetzt aber nicht mehr dazu. Es sollte ein flotter Spruch sein und keine Grundsatzdiskussion. Wer möchte kann ja mal recherchieren.
Oli1970 - 08.04.21    
Eben - das ist die Vereinbarung in verschiedenen C-Dialekten laut Compiler-Makro. Der dort gültige „Spezialfall“ der als 0 definierten Konstanten „null“. Im C-Standard wurde festgelegt, dass die Adresse 0 explizit als ungültig gilt. Das sollte bewusst sein, auch wenn es den Programmierer meist nicht kümmern muss. Ist ja schließlich in den meisten Sprachen ähnlich, auch wenn sich manchmal die Bezeichnung ändert.
Mein Hinweis war auf Deine allgemein gehaltene Aussage bezogen, 0 sei eine nicht-existente Speicherstelle, insofern war es - sorry, sollte kein Tritt vors Schienbein werden - provokant von mir zu behaupten, null sei ungleich 0; es kommt auf die Rahmenvorgaben der gewählten Sprache oder des Compilers an. In einem früheren Jahrtausend programmierte ich mal 6510-Assembler, da blutet dann das Herz. Auch da fingen die Pointer und Offsets bei h00 an zu zählen, solch einen Unfug wie „null“ gab es da nicht. Nur 0 oder 1. Oder Programmabsturz bei einem JMP $0000 mitten rein ins Datenrichtungsregister. :-)
underdunk - 09.04.21    
Ah, ich verstehe! null ist ungleich 0. null ist eine beliebige Zahl, die im Compiler meist als 0 vereinbart ist. 0 ist keine nicht existente Speicherstelle, sie wird nur vom Compiler als solche behandelt.

Ich Dummerchen. Danke für die Zurechtweisung!