Archives
Boffoonery! News
Submitted by jason@parlezuml.com (Jason Gorman) on Fri, 31/07/2009 - 12:34.Just a quick update on Boffoonery! Comedy Benefit for Bletchley Park.
The web site is now live (but will continue to be updated and extended up to and probably beyond the show), and you can see it at www.boffoonery.com
Tickets are due to go on sale on Wednesday August 12th at 9am. Please help us to spread the word by emailing
The web site is now live (but will continue to be updated and extended up to and probably beyond the show), and you can see it at www.boffoonery.com
Tickets are due to go on sale on Wednesday August 12th at 9am. Please help us to spread the word by emailing
How to think about OO
Submitted by noreply@blogger.com (Misko) on Fri, 31/07/2009 - 20:00.by Miško Hevery
Everyone seems to think that they are writing OO after all they are using OO languages such as Java, Python or Ruby. But if you exam the code it is often procedural in nature.
Static Methods
Static methods are procedural in nature and they have no place in OO world. I can already hear the screams, so let me explain why, but first we need to agree that global variables and state is evil. If you agree with previous statement than for a static method to do something interesting it needs to have some arguments, otherwise it will always return a constant. Call to a staticMethod() must always return the same thing, if there is no global state. (Time and random, has global state, so that does not count and object instantiation may have different instance but the object graph will be wired the same way.)
Everyone seems to think that they are writing OO after all they are using OO languages such as Java, Python or Ruby. But if you exam the code it is often procedural in nature.
Static Methods
Static methods are procedural in nature and they have no place in OO world. I can already hear the screams, so let me explain why, but first we need to agree that global variables and state is evil. If you agree with previous statement than for a static method to do something interesting it needs to have some arguments, otherwise it will always return a constant. Call to a staticMethod() must always return the same thing, if there is no global state. (Time and random, has global state, so that does not count and object instantiation may have different instance but the object graph will be wired the same way.)
