Click here to Skip to main content
15,922,894 members

The Weird and The Wonderful

   

The Weird and The Wonderful forum is a place to post Coding Horrors, Worst Practices, and the occasional flash of brilliance.

We all come across code that simply boggles the mind. Lazy kludges, embarrassing mistakes, horrid workarounds and developers just not quite getting it. And then somedays we come across - or write - the truly sublime.

Post your Best, your worst, and your most interesting. But please - no programming questions . This forum is purely for amusement and discussions on code snippets. All actual programming questions will be removed.

 
GeneralRe: C#'s sneaky typedef Pin
Chad3F29-May-13 12:49
Chad3F29-May-13 12:49 
GeneralRe: C#'s sneaky typedef Pin
Gary Wheeler4-Jun-13 0:51
Gary Wheeler4-Jun-13 0:51 
RantOh no, not again.... Pin
Lutosław25-May-13 3:23
Lutosław25-May-13 3:23 
GeneralRe: Oh no, not again.... Pin
KP Lee28-May-13 18:11
KP Lee28-May-13 18:11 
GeneralRe: Oh no, not again.... Pin
Lutosław29-May-13 1:12
Lutosław29-May-13 1:12 
GeneralRe: Oh no, not again.... Pin
johannesnestler6-Jun-13 4:32
johannesnestler6-Jun-13 4:32 
GeneralRe: Oh no, not again.... Pin
KP Lee6-Jun-13 20:13
KP Lee6-Jun-13 20:13 
GeneralRe: Oh no, not again.... Pin
johannesnestler7-Jun-13 2:14
johannesnestler7-Jun-13 2:14 
I think the idea for the readonly keyword in C# was stolen from JAVA (final keyword). And solves the problem I mentioned. (What to do if a later constant value must be calculated?)

In the example you have given, you can see what I mean: What did you declare as readonly? The age or date properties? -> No, You declared the val variable of type vals as readonly.
Because vals is a reference type (you created it with the class keyword) the variable val is now holding the address of the new vals instance on the heap. - so val is a pointer. This is the variable that is immutable, you can not change this pointer (the address it is holding) in an other way but the rules for readonly keyword usage are dictating.

So if you don't know any language where a "constant pointer" means the object pointed to is immutable (nor do I), how would you expect it to behave in an imaginary language? What if the pointed object is holding a lot of other references (pointers). Should they be then immutable too? I think if you go that thought to the end, you will come to the conclusion that the current behaviour is the only logical consistent one - please correct me if I'm wrong...

greetings from Austria Rose | [Rose]
GeneralRe: Oh no, not again.... Pin
KP Lee7-Jun-13 22:13
KP Lee7-Jun-13 22:13 
GeneralFound something interesting PinPopular
BotCar23-May-13 22:08
BotCar23-May-13 22:08 
GeneralWhy not: // just shoot me! Pin
esaulsberry20-May-13 8:48
esaulsberry20-May-13 8:48 
GeneralRe: Why not: // just shoot me! PinPopular
Pualee20-May-13 10:14
Pualee20-May-13 10:14 
GeneralRe: Why not: // just shoot me! Pin
OriginalGriff20-May-13 11:02
mveOriginalGriff20-May-13 11:02 
GeneralRe: Why not: // just shoot me! Pin
Pankaj Nikam20-May-13 19:26
professionalPankaj Nikam20-May-13 19:26 
GeneralRe: Why not: // just shoot me! Pin
Oshtri Deka20-May-13 22:15
professionalOshtri Deka20-May-13 22:15 
GeneralRe: Why not: // just shoot me! Pin
Gary Wheeler21-May-13 1:17
Gary Wheeler21-May-13 1:17 
GeneralRe: Why not: // just shoot me! Pin
englebart21-May-13 2:39
professionalenglebart21-May-13 2:39 
GeneralRe: Why not: // just shoot me! Pin
Gary Wheeler21-May-13 2:48
Gary Wheeler21-May-13 2:48 
GeneralRe: Why not: // just shoot me! Pin
esaulsberry21-May-13 2:59
esaulsberry21-May-13 2:59 
GeneralRe: Why not: // just shoot me! Pin
agolddog21-May-13 3:35
agolddog21-May-13 3:35 
GeneralRe: Why not: // just shoot me! Pin
esaulsberry21-May-13 3:40
esaulsberry21-May-13 3:40 
GeneralRe: Why not: // just shoot me! Pin
StatementTerminator21-May-13 3:51
StatementTerminator21-May-13 3:51 
GeneralRe: Why not: // just shoot me! Pin
Lutosław24-May-13 0:02
Lutosław24-May-13 0:02 
GeneralRe: Why not: // just shoot me! Pin
StatementTerminator24-May-13 3:49
StatementTerminator24-May-13 3:49 
GeneralRe: Why not: // just shoot me! Pin
Lutosław24-May-13 11:36
Lutosław24-May-13 11:36 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.