Re: [Algorithms] General purpose task parallel threading approach
Brought to you by:
vexxed72
|
From: Gregory J. <gj...@da...> - 2009-04-16 19:30:15
|
YAGNI, in other words. ;) Greg -----Original Message----- From: Tony Cox [mailto:to...@mi...] Sent: Thursday, April 16, 2009 12:22 PM To: Game Development Algorithms Subject: Re: [Algorithms] General purpose task parallel threading approach Also, to expand on this point: "Sure, but (a) do I even know that how to achieve that goal...?" Intentionally writing "general purpose" code is an exercise in predicting the future. Sometimes, the future is easy to predict. If I'm writing a "List" class, it's a fairly safe prediction that people will want lists of all kinds of arbitrary types I don't know about. On the other hand, if I'm writing a large and complex component, my crystal ball is a lot foggier about how people might want to use it in future. Any additional work I do to allow for these future scenarios is based on my team's best efforts to guess about the future, an activity which is intrinsically fraught with peril. That doesn't mean that it's always wrong to try to do this. Rather, one should have the humility to realize than one's guesses may be wrong, and that therefore one should discount the value of that work accordingly when trading it off against other considerations. - Tony -----Original Message----- From: Tony Cox [mailto:to...@mi...] Sent: Thursday, April 16, 2009 12:03 PM To: Game Development Algorithms Subject: Re: [Algorithms] General purpose task parallel threading approach I think you guys are getting tied up in an argument about semantics. The real point here, IMHO, is that software development is a *tradeoff*. There are many things we'd like in any piece of software: - Good performance (both in time and space) - Robustness - Maintainability - Shipped on time - Shipped on budget - Features - Interoperability - Testability - Portability - Reusability (perhaps this means being more rather than less general) - And many others. Clearly, holding all other variables equals, it's better to have more of these good things than less. But you don't get to hold the other variables equal - you're always trading off things against each other. Would I like any piece of code I write to be more general purpose and more reusable? Sure, but (a) do I even know that how to achieve that goal, and (b) am I willing to trade off something else to get it? Maybe not. Perhaps almost always not. - Tony -----Original Message----- From: chr...@pl... [mailto:chr...@pl...] Sent: Thursday, April 16, 2009 11:14 AM To: Game Development Algorithms Subject: Re: [Algorithms] General purpose task parallel threading approach > "Other than classroom examples, software is NOT written through > composition of 'general components'. And even in the small subset > of software writing where your statement may hold true, writing > those components was a very small amount of work of the total." > > No, every piece of software in a modern language is written through > composition of "general components", from the machine code op-codes, > up to the language constructs they come from, up to the libraries, > patterns and algorithms they're constructed with. The fact that you have to rely on labelling assembly instructions and for-loops as "general components" to provide support for your initial statement shows how weak your statement was. Christer Ericson, Director of Tools and Technology Sony Computer Entertainment, Santa Monica ---------------------------------------------------------------------------- -- Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list ---------------------------------------------------------------------------- -- Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list ---------------------------------------------------------------------------- -- Stay on top of everything new and different, both inside and around Java (TM) technology - register by April 22, and save $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco. 300 plus technical and hands-on sessions. Register today. Use priority code J9JMT32. http://p.sf.net/sfu/p _______________________________________________ GDAlgorithms-list mailing list GDA...@li... https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list Archives: http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list |