digitalmars.D.bugs - printf. Must. Die.
- =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= (20/20) Dec 14 2005 OK, not really perish - just move back to std.c.stdio ?
- Don Clugston (18/32) Dec 14 2005 It seems to be mostly used in unit tests.
- clayasaurus (2/7) Dec 17 2005 Also used here http://www.digitalmars.com/d/code_coverage.html
OK, not really perish - just move back to std.c.stdio ? Having it "implicitly" defined in object.d only: 1) Promotes old bad D coding behaviour ("forgetting" to import std.c.stdio) 2) Makes moving to writef seem harder (since you have to import std.stdio) 3) Adds bloat to the std/Phobos library (by linking in the floating-point stuff) Might as well remove the print() methods, as well... Perhaps even move all of Phobos over to using writef ? It should *definitely* be out before any "D 1.0" release. --anders PS. It's used all over the place: http://www.digitalmars.com/d/overview.html http://www.digitalmars.com/d/wc.html http://www.digitalmars.com/d/sdwest/index.html object.printf: "Die! Die! Die!" http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/255 http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/3170 http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/3438
Dec 14 2005
Anders F Björklund wrote:OK, not really perish - just move back to std.c.stdio ? Having it "implicitly" defined in object.d only: 1) Promotes old bad D coding behaviour ("forgetting" to import std.c.stdio) 2) Makes moving to writef seem harder (since you have to import std.stdio) 3) Adds bloat to the std/Phobos library (by linking in the floating-point stuff) Might as well remove the print() methods, as well... Perhaps even move all of Phobos over to using writef ?It seems to be mostly used in unit tests. I think we really need some way of importing stdio only during unit tests. Since you can do debug import std.stdio; how about something like: unittest import std.stdio; or allow: unittest { import std.stdio; } or at the very least, define version UnitTest so that you can write: version(UnitTest) { import std.stdio; } It is common for unit tests to have dependencies which are different from the rest of the module. In any case, I agree that this should be a 1.0 feature removal.
Dec 14 2005
Anders F Björklund wrote:PS. It's used all over the place: http://www.digitalmars.com/d/overview.html http://www.digitalmars.com/d/wc.html http://www.digitalmars.com/d/sdwest/index.htmlAlso used here http://www.digitalmars.com/d/code_coverage.html
Dec 17 2005