digitalmars.D - Polishing D - suggestions and comments
- Unknown W. Brackets (12/12) Jan 20 2008 I thought I might write down some of the many suggestions I have for
- Walter Bright (3/5) Jan 20 2008 Thanks for taking the time to write this. I think your suggestions are
- Jarrod (10/12) Jan 21 2008 I think I should ask you here since it's in context with the
- Bjoern (20/23) Jan 21 2008 Interoptability :
- Unknown W. Brackets (5/17) Jan 21 2008 Thanks. It was just an idea I've had for a long time, I figured I'd thr...
- Bjoern (6/9) Jan 22 2008 Yes I've recognized that :)
- Unknown W. Brackets (4/9) Jan 22 2008 Sorry, didn't mean to be patronizing, thought you might've skimmed the r...
- Bjoern (5/11) Jan 22 2008 It is not my intention to waste your time but I'm curious (enough) about...
- Unknown W. Brackets (6/22) Jan 22 2008 Honestly, I haven't followed recent developments - git for example - so
- Neal Alexander (55/72) Jan 21 2008 Having a highly optimized and pluggable GC would go a long way i think.
- Unknown W. Brackets (6/85) Jan 21 2008 I tried to stay away from the language, syntax, style, etc. for the most...
- Daniel Lewis (12/21) Jan 21 2008 Walter,
- Bill Baxter (10/30) Jan 21 2008 That would be fabulous. My vote would be for a design at around the
- Unknown W. Brackets (9/13) Jan 21 2008 Aha, I thought that was somewhere... but couldn't find it. I touched on...
- Unknown W. Brackets (12/34) Jan 22 2008 Well, I noticed that this is being done, which is great. However, it's
- Daniel Lewis (11/26) Jan 22 2008 Well, I haven't heard a word. I guess he figures he'll keep doing it hi...
- Bill Baxter (4/5) Jan 22 2008 Why don't you try emailing him directly. He does have an email address....
- Bill Baxter (14/20) Jan 22 2008 But let me guess at his reservations -- from what I understand, he has a...
- Unknown W. Brackets (6/23) Jan 22 2008 Well, that would be silly. I work for one of many companies that create...
- Unknown W. Brackets (13/31) Jan 22 2008 From memory, not looking at the spec, aren't code blocks always proceede...
- Walter Bright (2/5) Jan 23 2008 That would be great! Would you like to start with a revamped style.css ?
- Unknown W. Brackets (6/8) Jan 21 2008 I'm glad you felt my suggestions were good.
- O_O (10/25) Jan 21 2008 Great suggestions Unknown! I have also been feeling similarly about D. I...
- Dan (6/20) Jan 21 2008 Yeah, for server choices I'd argue for either Chilisoft, a DMDScript as ...
- Walter Bright (4/11) Jan 22 2008 The web pages are all static. Not that they have to be, but doing a
- Unknown W. Brackets (16/28) Jan 22 2008 Speaking as a professional at what you're talking about, there's not a
- Walter Bright (10/45) Jan 23 2008 I'm sure it is easy for someone who has done a lot of this stuff. But
- Unknown W. Brackets (21/72) Jan 23 2008 Yes, of course.... but that's what specialization is all about! I may
- Walter Bright (13/32) Jan 23 2008 Ok. I've always been a bit unhappy with the [Comments] thing because the...
- Michel Fortin (10/14) Jan 23 2008 Have you thought about publishing all these pages in Ddoc format too?
- Walter Bright (2/11) Jan 23 2008 Yes, I've just never gotten around to it.
- Daniel (6/9) Jan 23 2008 I'll certainly take a look when I get home. At the moment, it's 11:38 a...
- Unknown W. Brackets (21/34) Jan 23 2008 My suggestions would be (obviously just my opinion):
- Walter Bright (4/23) Jan 24 2008 The whole look of the site is controlled by two files, doc.ddoc and
- Dan (5/29) Jan 24 2008 Walter, I've read the code you have to generate the website. I'm usuall...
- Walter Bright (10/17) Jan 24 2008 No problem! I don't claim any particular expertise in html, CSS, or web
- Dan (12/18) Jan 24 2008 Just so nobody shoots me, I was *asked* to do the look first. : )
- Dan (4/28) Jan 24 2008 I couldn't sleep. The thought crossed my mind that I had entirely the w...
- Unknown W. Brackets (12/17) Jan 24 2008 This is because the containers are floating. IE loves being funny.
- Leandro Lucarella (13/30) Jan 24 2008 I don't know what are your specific needs, but maybe you should consider
- Dan (7/13) Jan 24 2008 I visited their website. It doesn't look like it helped them very much....
- Walter Bright (3/4) Jan 22 2008 Now on Reddit:
- Daniel (6/22) Jan 23 2008 Walter is, and ought to be, focusing his efforts on the language more th...
- Jarrod (20/34) Jan 24 2008 To claim Phobos is not a part of D is to claim the C stdlib is not a par...
- Lars Ivar Igesund (8/45) Jan 25 2008 More curiosity from me, what in Phobos do you consider cool, and at the ...
- Jarrod (32/34) Jan 26 2008 Cool phobos stuff:
- Lars Ivar Igesund (20/59) Jan 26 2008 It is indeed considered a C compatibility routine which may make it hard...
- Sean Kelly (29/57) Jan 25 2008 Walter has said very explicitly on a number of occasions that he doesn't
- Jarrod (11/13) Jan 26 2008 Well okay, valid points there and I never really said the opposite. But
- Lars Ivar Igesund (21/23) Jan 26 2008 There are two aspects about Tango, the runtime and the user level API.
- Jarrod (15/38) Jan 26 2008 Okay I get it, Tango seems to have been made because some people didn't
- Kris (20/58) Jan 26 2008 There's a lot of history behind this, so it's understandable that many n...
- Kris (7/10) Jan 26 2008 Jarrod:
- Lars Ivar Igesund (10/40) Jan 25 2008 Mango doesn't fit into the equation as it never was meant to do what Tan...
- Sean Kelly (5/40) Jan 25 2008 It's perhaps worth noting that 99% of the code in Tangobos is identical
- Jason House (3/20) Jan 24 2008 I'd love to see an official stance/roadmap by the D community/Walter on ...
- Robert Fraser (8/8) Jan 24 2008 You mentioned IDEs a couple times, specifically in that they should be
- Dan (28/36) Jan 24 2008 Yeah, D exposing the AST would be a *huge* benefit to modifying the comp...
- Unknown W. Brackets (11/19) Jan 24 2008 Actually, I'm much more interested in basic things: proper highlighting
- Dan (5/42) Jan 25 2008 Fair assessment. I think Tango is more open source and takes the load o...
- Lars Ivar Igesund (8/51) Jan 25 2008 I am just curious, what do you consider to be too heavyweight about Tang...
- Jesse Phillips (11/60) Jan 25 2008 I still have yet to develop in Tango (My book should be here within the
- Lars Ivar Igesund (10/73) Jan 25 2008 I know there are a few places in Tango where an additional line may be
- Robert Fraser (7/12) Jan 25 2008 Not to be negative, but I think no matter how many
- Robert Fraser (2/15) Jan 25 2008 I shouldn't write long sentences; I tend to get lost halfway though.
- Lars Ivar Igesund (16/29) Jan 26 2008 Yes, this is a comfort zone thing, and not something we can or intend to...
- Leandro Lucarella (16/25) Jan 26 2008 I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET.
- Bill Baxter (7/23) Jan 26 2008 However, when it comes to the low-level parts of the library (gc,
- Lars Ivar Igesund (8/34) Jan 26 2008 Tango require you to "get religion" ? Also, Tango has never been a "regu...
- Don Clugston (4/33) Jan 28 2008 It was in the Mango days. I don't see any reason why the low-level stuff...
- Kris (13/25) Jan 26 2008 That is exactly what Tango is about. It is a modular library, written
- Bill Baxter (6/38) Jan 26 2008 Heh heh. By "get religion" I just mean you have to make a significant
- Kris (29/38) Jan 26 2008 Ah, right :)
- Bill Baxter (15/60) Jan 26 2008 sense if
- Kris (3/7) Jan 26 2008 Good idea, Bill. I'm sure that would be appreciated by many
- John Reimer (18/25) Jan 26 2008 I think part of the "religious" aspect reflected from Tango is also
- Kris (18/44) Jan 26 2008 It never fails to amaze just how much can be extracted from merely one
- John Reimer (28/50) Jan 26 2008 I agree. The effort that has gone into Tango is certainly not reflected
- Kris (8/15) Jan 26 2008 oh, not at all -- should probably have said "interesting that anyone wou...
- Carlos Santander (6/75) Jan 29 2008 I never related that image with any cult. Probably I just didn't remembe...
- John Reimer (22/28) Jan 30 2008 It may be a mix of things, including culture, I suppose. I accept that
- Dan (7/15) Jan 30 2008 ....
- John Reimer (9/29) Jan 30 2008 Uh... okay. Thanks for sharing your insight.
- Janice Caron (7/9) Jan 31 2008 It's from the movie "Dude, Where's my Car?"
- John Reimer (4/16) Jan 31 2008 Hmm... that probably is part of the problem. Understanding the context
- jcc7 (10/20) Feb 15 2008 By the way, the picture that used to be on the Contributors page [1] is ...
- jcc7 (4/26) Feb 15 2008 (I wish I could cancel a post done through the web interface.)
- Lars Ivar Igesund (7/37) Feb 15 2008 So am I now ...
- Robert Fraser (2/42) Feb 15 2008
- Robert Fraser (2/42) Feb 15 2008
- Lars Ivar Igesund (7/46) Feb 16 2008 Yes.
- Robert Fraser (2/51) Feb 16 2008
- Robert Fraser (4/11) Jan 26 2008 I'd rather use Tango for embedded systems development; it's more
- Jason House (2/16) Jan 25 2008 Maybe I'm misusing the library, but I know I've had to create formatting...
- Lars Ivar Igesund (11/30) Jan 26 2008 There is a global Layout instance in tango.text.convert.Format that defa...
- Sean Kelly (9/17) Jan 25 2008 Could you explain? Tango was built from the ground up to be completely
- Dan (9/23) Jan 26 2008 The thing they're asking for is a single semantically coherent library.
- Kris (31/67) Jan 26 2008 Many would say that is exactly the role of Tango ;)
- Jarrod (13/42) Jan 26 2008 Then why is it not the standard library?
-
Kris
(11/17)
Jan 26 2008
"Jarrod"
wrote in message - Jarrod (24/43) Jan 31 2008 I don't read up on the history of a library, I'm merely an end user. I
- Lars Ivar Igesund (16/41) Jan 31 2008 Not completely different, but Tango's runtime has fixes that necessiated
- Jesse Phillips (18/23) Jan 27 2008 I would have to say that I have had the same perception as Dan here. Fro...
- Kris (11/34) Jan 27 2008 Thanks, that's useful to know, and which Tango will take steps to remedy...
- Dan (3/15) Jan 27 2008 Perhaps if a few of us (me) got of our collective asses and looked at th...
- Kris (4/23) Jan 27 2008 lol :-D
- Jesse Phillips (7/17) Jan 27 2008 I supposed it is related to what Christopher observed. "The only thing
- Kris (5/23) Jan 27 2008 Thanks. Larsivi recently started a FAQ on the Wiki ... perhaps that coul...
- Christopher Wright (11/21) Jan 27 2008 Tango has a lot more things that hold data than Phobos. Collections and
- Sean Kelly (11/34) Jan 27 2008 They could be wrapped in functions perhaps, but not done away with
- Bill Baxter (7/14) Jan 27 2008 I think it would help if there were a global function-based interface
- Kris (3/14) Jan 27 2008 (which there is, for utf8)
- Don Clugston (2/18) Jan 30 2008 If even Sean doesn't know that, then there's *really* an advertising pro...
- Sean Kelly (6/28) Jan 30 2008 It was a mistake on my part. Some of the globals were removed a while
- Jason House (20/28) Jan 27 2008 I agree that Tango should be considered standard, or at least put on equ...
- Sean Kelly (21/50) Jan 27 2008 What's been holding us back thus far there has been the indeterminate
- Guillaume B. (24/32) Jan 27 2008 Hi,
- Kris (21/47) Jan 27 2008 Yeah, this is frustrating, and a step backwards from when dOxygen was us...
- Guillaume B. (15/27) Jan 27 2008 Hi,
- Kris (6/39) Jan 27 2008 I'm not familiar with gotoapi, but it sounds like a great tool! Now I n...
- Jason House (3/9) Jan 28 2008 It'd be helpful for both contributors and potential users of tango if th...
- Sean Kelly (4/7) Jan 27 2008 This has always been the true purpose of Phobos, in my opinion. It
- Christopher Wright (11/12) Jan 27 2008 There's some value in having a standard way of solving something, even
I thought I might write down some of the many suggestions I have for making D really come into the spotlight as a language. They cover many areas, and I'm trying to address issues that I feel aren't being given - by what I've seen - enough attention. I'm sure many of you here will pick me apart, and I look forward to it. Hopefully some of the suggestions can improve D. I write these with experience with an open source project I lead the development of, and years of watching the Mozilla development process. I have no doubt that the majority of these things would be of great improvement, if they are possible and done. http://www.unknownbrackets.com/tutorials/polishing-d -[Unknown]
Jan 20 2008
Unknown W. Brackets wrote:I thought I might write down some of the many suggestions I have for making D really come into the spotlight as a language.Thanks for taking the time to write this. I think your suggestions are very good.
Jan 20 2008
On Sun, 20 Jan 2008 21:32:45 -0800, Walter Bright wrote:Thanks for taking the time to write this. I think your suggestions are very good.I think I should ask you here since it's in context with the Phobos suggestions. What are you planning to do with Tango? Personally I prefer the Phobos API for it's naming, organisation and documentation, but I also like the extra features tango adds and of course I don't want to say no to a faster garbage collector and less bugs, which leaves me torn. Perhaps it might be time to replace Phobos, or (even better) officially merge the two libraries? Better now than later.
Jan 21 2008
Unknown W. Brackets schrieb:I thought I might write down some of the many suggestions I have for making D really come into the spotlight as a language. http://www.unknownbrackets.com/tutorials/polishing-dInteroptability : This will make IDE developers work extremely comfortable and will result in world class tools. Having this kind of interoptability (let me say interactive compiler) is a win win. Outstanding IDEs, making D even more productive, attractive, -> greater user base -> ... As a side effect I can imagine that dll/so support will be improved. f.i. Multithreading support. I really hope to see this features become reallity! Ergo : vote++ But for the moment just 2 little things : 1- make compiler output more consistent, in other words, easier to parse. (same is valid for profiler output) 2- write errors to stderr Regarding source-code-management/QA etc. : IMO this should be essential part of an D IDE. Simply having support for current systems like CVS/SVN,Mercurial, .. is not good enough. Excellent article Unknown ! Bjoern
Jan 21 2008
Thanks. It was just an idea I've had for a long time, I figured I'd throw into the end of the document as an example. I'm glad you think it's a good idea. Your point about stderr is a good one, and something I missed. This is important mainly on Linux. I mentioned the other somewhere. For management, I'm really talking about D itself. I'm mostly unconcerned about how people use D, as much as how D itself is developed and presented to them - I think that's what needs work, personally. -[Unknown] Bjoern Wrote:But for the moment just 2 little things : 1- make compiler output more consistent, in other words, easier to parse. (same is valid for profiler output) 2- write errors to stderr Regarding source-code-management/QA etc. : IMO this should be essential part of an D IDE. Simply having support for current systems like CVS/SVN,Mercurial, .. is not good enough. Excellent article Unknown ! Bjoern
Jan 21 2008
Unknown W. Brackets schrieb:For management, I'm really talking about D itself. I'm mostly unconcerned about how people use D, as much as how D itself is developed and presented to them - I think that's what needs work, personally. -[Unknown]Yes I've recognized that :) I just had the idea that you talked about developer Collaboration too... a bit hidden, behind the words...and I simply could not resist to say that current SCMs sux. (not ashamed) Bjoern
Jan 22 2008
Sorry, didn't mean to be patronizing, thought you might've skimmed the rest. Actually, you're right. I've had experience managing developers (as that's my current job in fact), and currently SCMs all seem to have their flaws. At the same time, all of them make things easier than nothing at all. -[Unknown] Bjoern Wrote:Yes I've recognized that :) I just had the idea that you talked about developer Collaboration too... a bit hidden, behind the words...and I simply could not resist to say that current SCMs sux. (not ashamed) Bjoern
Jan 22 2008
Unknown W. Brackets schrieb:Sorry, didn't mean to be patronizing, thought you might've skimmed the rest.No problem, even if you mean it :)Actually, you're right. I've had experience managing developers (as that's my current job in fact), and currently SCMs all seem to have their flaws. At the same time, all of them make things easier than nothing at all. -[Unknown]It is not my intention to waste your time but I'm curious (enough) about your opinion regarding using a RDBMS as SCM working-horse. Bjoern
Jan 22 2008
Honestly, I haven't followed recent developments - git for example - so I'm not going to go spout off unfounded opinions. But, from experience writing a CVS/RCS web viewer I would say a relational storage system would make things a lot more logical... -[Unknown] Bjoern wrote:Unknown W. Brackets schrieb:Sorry, didn't mean to be patronizing, thought you might've skimmed the rest.No problem, even if you mean it :)Actually, you're right. I've had experience managing developers (as that's my current job in fact), and currently SCMs all seem to have their flaws. At the same time, all of them make things easier than nothing at all. -[Unknown]It is not my intention to waste your time but I'm curious (enough) about your opinion regarding using a RDBMS as SCM working-horse. Bjoern
Jan 22 2008
Unknown W. Brackets wrote:I thought I might write down some of the many suggestions I have for making D really come into the spotlight as a language. They cover many areas, and I'm trying to address issues that I feel aren't being given - by what I've seen - enough attention. I'm sure many of you here will pick me apart, and I look forward to it. Hopefully some of the suggestions can improve D. I write these with experience with an open source project I lead the development of, and years of watching the Mozilla development process. I have no doubt that the majority of these things would be of great improvement, if they are possible and done. http://www.unknownbrackets.com/tutorials/polishing-d -[Unknown]Having a highly optimized and pluggable GC would go a long way i think. It seems like sometimes a naive implementation in D can be slower than its Java counterpart -- kind of a kick in the teeth IMO. People tend to have a false sense of security that stuff will automatically be faster because its native compiled. It wouldn't hurt to have an article explaining the performance implications of some of the more exotic features of the language either. On an unrelated note: i've noticed a *lot* of code tends to use templated function parameters for stuff like read()/write() operations. This type of usage pattern should probably be supported in a different way IMO. Things to consider (off the top of my head): **** Avoid template code replication for different types by defining common attributes / operations -- some type of numerical interface that defines operations for built-in and user types. This doesnt have to mean that basic types become real classes but that the compiler knows how to generate stubs for each operation. t_interface ordinal { void inc(); void plus(ordinal); ... } t_interface copyable { void* ptr(); size_t size(); void copy(copyable); ... } Side note: Maybe the "copyable" interface could be overloaded to perform endian conversion or simple crypto etc. t_interface number : ordinal, copyable, ...; type double : number type int : number type char : ordinal, copyable; class user_t : number { uint64_t backing; size(){ return backing.sizeof; } inc(){ ++backing; } ... } void f(number x){ x.inc; printf("size=%d", x.size); } double d; int i; char c; user_t t; f(d); -> size=8 f(i); -> size=4 f(c); -> size=1 f(t); -> size=8 **** Function parameter assignment double d; file.read(d, offset=4); void read(copyable data, size_t offset = void, int flags = 1234){ ... } ("void" used to ignore options instead of hacks like size_t.max would be nice) I dunno, its kind of a half baked idea i guess, but something to consider.
Jan 21 2008
I tried to stay away from the language, syntax, style, etc. for the most part. There are things to talk about there, and plenty of opinions flying around. Even if I were an expert on compiler design and theory, that's getting enough attention. I'm more concerned about process. Whether or not D has a pluggable GC or better interface design won't really prevent D from becoming a widely used language. They are good things to think about and discuss, nonetheless. C/C++, Perl, PHP, Java, all languages have design flaws. But almost all of them have covered the issues I mentioned - or else they wouldn't have become well known languages. I think that's the biggest issue for D right now. -[Unknown] Neal Alexander Wrote:Having a highly optimized and pluggable GC would go a long way i think. It seems like sometimes a naive implementation in D can be slower than its Java counterpart -- kind of a kick in the teeth IMO. People tend to have a false sense of security that stuff will automatically be faster because its native compiled. It wouldn't hurt to have an article explaining the performance implications of some of the more exotic features of the language either. On an unrelated note: i've noticed a *lot* of code tends to use templated function parameters for stuff like read()/write() operations. This type of usage pattern should probably be supported in a different way IMO. Things to consider (off the top of my head): **** Avoid template code replication for different types by defining common attributes / operations -- some type of numerical interface that defines operations for built-in and user types. This doesnt have to mean that basic types become real classes but that the compiler knows how to generate stubs for each operation. t_interface ordinal { void inc(); void plus(ordinal); ... } t_interface copyable { void* ptr(); size_t size(); void copy(copyable); ... } Side note: Maybe the "copyable" interface could be overloaded to perform endian conversion or simple crypto etc. t_interface number : ordinal, copyable, ...; type double : number type int : number type char : ordinal, copyable; class user_t : number { uint64_t backing; size(){ return backing.sizeof; } inc(){ ++backing; } ... } void f(number x){ x.inc; printf("size=%d", x.size); } double d; int i; char c; user_t t; f(d); -> size=8 f(i); -> size=4 f(c); -> size=1 f(t); -> size=8 **** Function parameter assignment double d; file.read(d, offset=4); void read(copyable data, size_t offset = void, int flags = 1234){ ... } ("void" used to ignore options instead of hacks like size_t.max would be nice) I dunno, its kind of a half baked idea i guess, but something to consider.
Jan 21 2008
Walter, I'm volunteering to head up a web development project to revamp the 'site, should you be interested. I'm sure a shiny new website would certainly give D a toe up in the external appeal department. I'm not running a web design firm. I'm really not interested in advertising potential or the likes. I'd just like to commit something I can be proud of back to the community; and I should probably do the same for Walnut later anyways. I've been a web designer for the last 11 years, and I know most, if not all the tricks with CSS and AJAX and the rest. I fact, that's how I got into programming. I'm currently a Web Site Manager for one of the plethora of internal websites within Citi, and the only one I know of that's W3C standards conformant. It's also WAI AA conformant, and implements some cutting edge stuff that I haven't seen other people on the web do such as: - keyboard accessible multi-tier horizontal-or-vertical suckerfish menus with the fix for the IE6 select box overlay bug. - keyboard accessible toggle-able list-based suckerfish file tree generated from the file system. - automatic user authentication and authorization using Active Directory; which is honestly limited to intranet applications. - ajax SQL queries dumping into an embedded OWC excel spreadsheet. I've attached screenshots from two previous iterations of my website for Citi to ease worries. Regards, Daniel Lewis Unknown W. Brackets Wrote:I tried to stay away from the language, syntax, style, etc. for the most part. There are things to talk about there, and plenty of opinions flying around. Even if I were an expert on compiler design and theory, that's getting enough attention. I'm more concerned about process. Whether or not D has a pluggable GC or better interface design won't really prevent D from becoming a widely used language. They are good things to think about and discuss, nonetheless. C/C++, Perl, PHP, Java, all languages have design flaws. But almost all of them have covered the issues I mentioned - or else they wouldn't have become well known languages. I think that's the biggest issue for D right now. -[Unknown]
Jan 21 2008
Daniel Lewis wrote:Walter, I'm volunteering to head up a web development project to revamp the 'site, should you be interested. I'm sure a shiny new website would certainly give D a toe up in the external appeal department. I'm not running a web design firm. I'm really not interested in advertising potential or the likes. I'd just like to commit something I can be proud of back to the community; and I should probably do the same for Walnut later anyways. I've been a web designer for the last 11 years, and I know most, if not all the tricks with CSS and AJAX and the rest. I fact, that's how I got into programming. I'm currently a Web Site Manager for one of the plethora of internal websites within Citi, and the only one I know of that's W3C standards conformant. It's also WAI AA conformant, and implements some cutting edge stuff that I haven't seen other people on the web do such as: - keyboard accessible multi-tier horizontal-or-vertical suckerfish menus with the fix for the IE6 select box overlay bug. - keyboard accessible toggle-able list-based suckerfish file tree generated from the file system. - automatic user authentication and authorization using Active Directory; which is honestly limited to intranet applications. - ajax SQL queries dumping into an embedded OWC excel spreadsheet. I've attached screenshots from two previous iterations of my website for Citi to ease worries. Regards, Daniel LewisThat would be fabulous. My vote would be for a design at around the Slashdot level of glitz. Not too much popup bling-bling or shiny faux glass junk. The Citi pages look a little too shiny to me. Good for Citi I think but not for a grass-roots programming language website. In terms of functionality, making the user-comments in-line would be a big help. Most people don't notice the "comments" button at the top of each doc page, and obviously the comments on those external pages don't show up when you do a Ctrl-F find-on-page search. --bb
Jan 21 2008
Aha, I thought that was somewhere... but couldn't find it. I touched on this briefly. It also represents problems as far as SEO (something that could be improved on D's pages.) For example, the fact that these two, entirely separate in Google's eyes, URLs work is bad: http://www.digitalmars.com/d/changelog.html http://digitalmars.com/d/changelog.html In addition, really, all the pages within d/ should 301 redirect to 2.0/ so that 1.0 and 2.0 are each present in their pages' URLs. This would make searching for documentation on a specific tree simpler and most likely improve relevancy. But, this is more specific than I really wanted to get with the website's needs. The important thing is making the decision to get the changes done, and taking the time to review who to work with on it. Maybe an internal team of volunteers, maybe an outside agency. This can't happen until responsibility is better dispersed... As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though. -[Unknown] Bill Baxter Wrote:In terms of functionality, making the user-comments in-line would be a big help. Most people don't notice the "comments" button at the top of each doc page, and obviously the comments on those external pages don't show up when you do a Ctrl-F find-on-page search.
Jan 21 2008
Well, I noticed that this is being done, which is great. However, it's been done using http-equiv Refresh redirects. This is not going to improve Google PageRanks. Really those redirects need to be 301 results coming from Apache. Easiest way to do this is with an .htaccess file or in httpd.conf. It can be done with Redirect or RewriteEngine/RewriteRule. Here's an example: RewriteRule ^d/(phobos/.*)$ d/2.0/$1 [NS,L,R=301] RewriteRule ^d/([^/]+\.html$ d/2.0/$1 [NS,L,R=301] Or something similar. Just my suggestion to maintain as much ranking and relevance for current pages as possible. -[Unknown] Unknown W. Brackets wrote:Aha, I thought that was somewhere... but couldn't find it. I touched on this briefly. It also represents problems as far as SEO (something that could be improved on D's pages.) For example, the fact that these two, entirely separate in Google's eyes, URLs work is bad: http://www.digitalmars.com/d/changelog.html http://digitalmars.com/d/changelog.html In addition, really, all the pages within d/ should 301 redirect to 2.0/ so that 1.0 and 2.0 are each present in their pages' URLs. This would make searching for documentation on a specific tree simpler and most likely improve relevancy. But, this is more specific than I really wanted to get with the website's needs. The important thing is making the decision to get the changes done, and taking the time to review who to work with on it. Maybe an internal team of volunteers, maybe an outside agency. This can't happen until responsibility is better dispersed... As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though. -[Unknown] Bill Baxter Wrote:In terms of functionality, making the user-comments in-line would be a big help. Most people don't notice the "comments" button at the top of each doc page, and obviously the comments on those external pages don't show up when you do a Ctrl-F find-on-page search.
Jan 22 2008
Well, I haven't heard a word. I guess he figures he'll keep doing it himself. Last night I hacked on Walnut some more; removed the block allocator crap, reorganized the parser file, made it handle for() and automatic semicolon insertion, as well as escape characters in strings. Not much left to do before the parser is done; some tree shuffling and a few statements. A question; how does one differentiate between an object literal and a code block in ECMAScript? I find the following: { bob: "hello" } Is this: a) an object b) a code block with a label, bob, referring to a statement only containing a string? I can create more elaborate examples which could be either, and to be honest the best I can think to do is parse it as an Object literal unless we get an invalid token? Unknown W. Brackets Wrote:Well, I noticed that this is being done, which is great. However, it's been done using http-equiv Refresh redirects. This is not going to improve Google PageRanks. Really those redirects need to be 301 results coming from Apache. Easiest way to do this is with an .htaccess file or in httpd.conf. It can be done with Redirect or RewriteEngine/RewriteRule. Here's an example: RewriteRule ^d/(phobos/.*)$ d/2.0/$1 [NS,L,R=301] RewriteRule ^d/([^/]+\.html$ d/2.0/$1 [NS,L,R=301] Or something similar. Just my suggestion to maintain as much ranking and relevance for current pages as possible. -[Unknown]
Jan 22 2008
Daniel Lewis wrote:Well, I haven't heard a word. I guess he figures he'll keep doing it himself.Why don't you try emailing him directly. He does have an email address. And it's not that hard to find for someone as web savvy as you. ;-) --bb
Jan 22 2008
Bill Baxter wrote:Daniel Lewis wrote:But let me guess at his reservations -- from what I understand, he has a system that works now and is mostly automated, generating most of the html automatically using ddoc. So if I were Walter I'd be leery of the situation where someone spends a week making a great website, drops it and a hundred files of whiz-bang PHP/CSS/perl/javascript code in my lap, and then disappears. The good thing about the current system is that Walter understands it completely because he wrote it. That means that when something goes wrong, or he urgently needs to make the D2.0 pages purple, he knows how. So the question is: is there some way you can overhaul the website that won't force him to change his workflow? At least I'm guessing that's what he'd want to know. :-) --bbWell, I haven't heard a word. I guess he figures he'll keep doing it himself.Why don't you try emailing him directly. He does have an email address. And it's not that hard to find for someone as web savvy as you. ;-)
Jan 22 2008
Well, that would be silly. I work for one of many companies that creates sites for people with the very specific intent that the client becomes able to manage the site (sans major updates) completely on their own with no programming knowledge. This has been popular since like 2001 or something. It's nothing new, a covered problem. In any case, it's holding onto everything and wanting to be able to pick things up on any aspect that would limit D. Sometimes you have to trust other people, and do things in a standard enough way that you won't deep fry if your trust is misplaced. Sorry if I just keep repeating that.... -[Unknown] Bill Baxter Wrote:But let me guess at his reservations -- from what I understand, he has a system that works now and is mostly automated, generating most of the html automatically using ddoc. So if I were Walter I'd be leery of the situation where someone spends a week making a great website, drops it and a hundred files of whiz-bang PHP/CSS/perl/javascript code in my lap, and then disappears. The good thing about the current system is that Walter understands it completely because he wrote it. That means that when something goes wrong, or he urgently needs to make the D2.0 pages purple, he knows how. So the question is: is there some way you can overhaul the website that won't force him to change his workflow? At least I'm guessing that's what he'd want to know. :-) --bb
Jan 22 2008
From memory, not looking at the spec, aren't code blocks always proceeded by function () or similar? Example: var f = function () { label: "hello" } var o = { label: "hello" }; I may be wrong. But that's what I remember... -[Unknown] Daniel Lewis Wrote:Well, I haven't heard a word. I guess he figures he'll keep doing it himself. Last night I hacked on Walnut some more; removed the block allocator crap, reorganized the parser file, made it handle for() and automatic semicolon insertion, as well as escape characters in strings. Not much left to do before the parser is done; some tree shuffling and a few statements. A question; how does one differentiate between an object literal and a code block in ECMAScript? I find the following: { bob: "hello" } Is this: a) an object b) a code block with a label, bob, referring to a statement only containing a string? I can create more elaborate examples which could be either, and to be honest the best I can think to do is parse it as an Object literal unless we get an invalid token?
Jan 22 2008
Daniel Lewis wrote:I'm volunteering to head up a web development project to revamp the 'site, should you be interested. I'm sure a shiny new website would certainly give D a toe up in the external appeal department.That would be great! Would you like to start with a revamped style.css ?
Jan 23 2008
I'm glad you felt my suggestions were good. I don't know how practical they will be for you, or if there's more suggestions I can make based on any impracticalities. I understand they're big changes, but these are problems I've seen for over two years - and been waiting for them to be resolved that whole time. It may seem otherwise, but I can tell you that none of these things will complicate your life half as much as they ease it. I hope your comments mean that you're interested in taking action on some of the suggestions I made. -[Unknown] Walter Bright Wrote:Thanks for taking the time to write this. I think your suggestions are very good.
Jan 21 2008
Great suggestions Unknown! I have also been feeling similarly about D. I could barely put some of those thoughts into words on reddit today: http://programming.reddit.com/info/662tz/comments/c02y81s . I wish to see wide adoption of D and I also believe for that to happen it should the official D resources should be polished. From my experience I've seen adoption of OpenGL (the 3D graphics API) diminish away partly because it was not properly packaged. To get the advanced functionality specific to a Graphics card one had to load OpenGL extensions which was quite a bit of a pain for a newbie, so many libraries have cropped up to load the extensions automatically. Still they have to be installed separately, and there would be futher fragmentation because some tutorials preferred one library over the other. Further because of some legacy API there were many ways to achieve the same thing with varying levels of efficiency. This also confuses new users —each tutorial would use a different method! The OpenGL ARB has finally acknowledged this and set up a working group to maintain an OpenGL SDK. This should have been done a long time ago. I fear that the same would happen with having two standard libraries for D. Whatever might be the reason for having both of them currentlly, frankly to the outsider it simply looks like there is not enough cooperation/ agreement between the people making the two libraries. I hope something is done about this. Unknown W. Brackets Wrote:I'm glad you felt my suggestions were good. I don't know how practical they will be for you, or if there's more suggestions I can make based on any impracticalities. I understand they're big changes, but these are problems I've seen for over two years - and been waiting for them to be resolved that whole time. It may seem otherwise, but I can tell you that none of these things will complicate your life half as much as they ease it. I hope your comments mean that you're interested in taking action on some of the suggestions I made. -[Unknown] Walter Bright Wrote:Thanks for taking the time to write this. I think your suggestions are very good.
Jan 21 2008
Unknown W. Brackets Wrote:Aha, I thought that was somewhere... but couldn't find it. I touched on this briefly. It also represents problems as far as SEO (something that could be improved on D's pages.) For example, the fact that these two, entirely separate in Google's eyes, URLs work is bad: http://www.digitalmars.com/d/changelog.html http://digitalmars.com/d/changelog.html In addition, really, all the pages within d/ should 301 redirect to 2.0/ so that 1.0 and 2.0 are each present in their pages' URLs. This would make searching for documentation on a specific tree simpler and most likely improve relevancy. But, this is more specific than I really wanted to get with the website's needs. The important thing is making the decision to get the changes done, and taking the time to review who to work with on it. Maybe an internal team of volunteers, maybe an outside agency. This can't happen until responsibility is better dispersed... As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though. -[Unknown]Yeah, for server choices I'd argue for either Chilisoft, a DMDScript as JScript ASP 3.0, or a Linux/Lighttpd+D/Walnut 1.x I know PHP, and to be frank, I think the language is annoying. To avoid sounding off a page-long rant and debate I shall avoid describing why. I have a project now from the boss' boss, so I'll be busy for a couple hours. Regards, Dan
Jan 21 2008
Unknown W. Brackets Wrote:As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though.The web pages are all static. Not that they have to be, but doing a dynamically generated site the size of digitalmars.com would probably be a full time job in itself.
Jan 22 2008
Speaking as a professional at what you're talking about, there's not a chance it would. I will say that the company I work for would ask no less than $40k to do a site like digitalmars.com/d, but that's still only 400 hours of work (give or take.) After that you're normally talking about it reading a database, files or protocols from other softwares, or even flat files for those who like that.... and that is something anyone can do. Even if it did require a part time, or even full time, position in itself - if that's what D needs, why is that a problem? I can guarantee you that you'll find enough volunteers if you're worried about cost. If you're worried about efficiency, I've worked on stuff that've gone on ABC's website etc., and I can promise you this is a solved problem as well. Sure, it has to be done right, but this is true of anything. Just my opinion. -[Unknown] Walter Bright wrote:Unknown W. Brackets Wrote:As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though.The web pages are all static. Not that they have to be, but doing a dynamically generated site the size of digitalmars.com would probably be a full time job in itself.
Jan 22 2008
I'm sure it is easy for someone who has done a lot of this stuff. But it's all new to me. Right now, the pages are all generated from Ddoc source files according to macros. Redoing the macros and style sheets would transform the site without needing to rewrite any of the content. Putting user content on there is another problem, though, because someone would have to regularly cull the spam and vandalism from it. The "archives" pages are all generated by a custom D program that reads the newsgroup files and generates the corresponding html page. Unknown W. Brackets wrote:Speaking as a professional at what you're talking about, there's not a chance it would. I will say that the company I work for would ask no less than $40k to do a site like digitalmars.com/d, but that's still only 400 hours of work (give or take.) After that you're normally talking about it reading a database, files or protocols from other softwares, or even flat files for those who like that.... and that is something anyone can do. Even if it did require a part time, or even full time, position in itself - if that's what D needs, why is that a problem? I can guarantee you that you'll find enough volunteers if you're worried about cost. If you're worried about efficiency, I've worked on stuff that've gone on ABC's website etc., and I can promise you this is a solved problem as well. Sure, it has to be done right, but this is true of anything. Just my opinion. -[Unknown] Walter Bright wrote:Unknown W. Brackets Wrote:As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though.The web pages are all static. Not that they have to be, but doing a dynamically generated site the size of digitalmars.com would probably be a full time job in itself.
Jan 23 2008
Yes, of course.... but that's what specialization is all about! I may know a thing or two about the web, but I could never begin to write a programming language. Closest I can get is a low-end scripting language. Growing a project is all about getting people with good skills together. To add user comments to the site, the Ddoc-generated files could be output to template files (read: no differently), which might then be used by a system which would interpolate those with user-comments. There's no reason you would need to change your process. There's no reason the documentation has to be dynamic any differently than it already is (Ddoc is a part of D, after all, and a good one at that.) Vandalism can be handled by moderators. Likely, with a situation like this, comments would not become public until they were approved. Also, with the right server- and client-side coding, spam can be minimized. It really would only take maybe three people checking each once a day and that would probably be well-sufficient for the time being. I am by no means suggesting you need to throw everything out the window and start doing things some strange way. After all, I wouldn't do that. But a little interactivity can go a long way. -[Unknown] Walter Bright wrote:I'm sure it is easy for someone who has done a lot of this stuff. But it's all new to me. Right now, the pages are all generated from Ddoc source files according to macros. Redoing the macros and style sheets would transform the site without needing to rewrite any of the content. Putting user content on there is another problem, though, because someone would have to regularly cull the spam and vandalism from it. The "archives" pages are all generated by a custom D program that reads the newsgroup files and generates the corresponding html page. Unknown W. Brackets wrote:Speaking as a professional at what you're talking about, there's not a chance it would. I will say that the company I work for would ask no less than $40k to do a site like digitalmars.com/d, but that's still only 400 hours of work (give or take.) After that you're normally talking about it reading a database, files or protocols from other softwares, or even flat files for those who like that.... and that is something anyone can do. Even if it did require a part time, or even full time, position in itself - if that's what D needs, why is that a problem? I can guarantee you that you'll find enough volunteers if you're worried about cost. If you're worried about efficiency, I've worked on stuff that've gone on ABC's website etc., and I can promise you this is a solved problem as well. Sure, it has to be done right, but this is true of anything. Just my opinion. -[Unknown] Walter Bright wrote:Unknown W. Brackets Wrote:As a side note, I work for a web company, and we use PHP primarily - which language I do like. But it would be cool to see D eat its own dogfood here, and host the website on its own, lightweight webserver with D-coded dynamic pages. This wouldn't be hard to write at all, and would really show the versatility of D (as well as efficiency, assuming it handled load well.) Maybe not practically the best, though.The web pages are all static. Not that they have to be, but doing a dynamically generated site the size of digitalmars.com would probably be a full time job in itself.
Jan 23 2008
Unknown W. Brackets wrote:Yes, of course.... but that's what specialization is all about! I may know a thing or two about the web, but I could never begin to write a programming language. Closest I can get is a low-end scripting language. Growing a project is all about getting people with good skills together.I agree.To add user comments to the site, the Ddoc-generated files could be output to template files (read: no differently), which might then be used by a system which would interpolate those with user-comments.Ok. I've always been a bit unhappy with the [Comments] thing because the comments get put on a different page. If the comments could be appended to the page (after moderation), that would be a big improvement.There's no reason you would need to change your process. There's no reason the documentation has to be dynamic any differently than it already is (Ddoc is a part of D, after all, and a good one at that.)Converting the site to Ddoc was a huge productivity booster for me, and also made the site much more consistent. Ddoc for phobos probably produced well over an order of magnitude improvement in the quality of the phobos documentation.Vandalism can be handled by moderators. Likely, with a situation like this, comments would not become public until they were approved. Also, with the right server- and client-side coding, spam can be minimized. It really would only take maybe three people checking each once a day and that would probably be well-sufficient for the time being.I like that idea better than logins, captcha's, and other impediments.I am by no means suggesting you need to throw everything out the window and start doing things some strange way. After all, I wouldn't do that. But a little interactivity can go a long way.I sent the source to the site to Daniel. Let's see what he can do with it! The look is controlled by just two files - style.css and doc.ddoc (which has all the macro text).
Jan 23 2008
On 2008-01-23 06:09:54 -0500, Walter Bright <newshound1 digitalmars.com> said:Converting the site to Ddoc was a huge productivity booster for me, and also made the site much more consistent. Ddoc for phobos probably produced well over an order of magnitude improvement in the quality of the phobos documentation.Have you thought about publishing all these pages in Ddoc format too? If one could replace the overview.html file in the URL with overview.d to get the Ddoc source, it'd be a great way to learn about Ddoc. Perhaps there could be a link to that source file beside "Page generated by Ddoc" in the footer of Ddoc-generated pages. -- Michel Fortin michel.fortin michelf.com http://michelf.com/
Jan 23 2008
Michel Fortin wrote:On 2008-01-23 06:09:54 -0500, Walter Bright <newshound1 digitalmars.com> said:Yes, I've just never gotten around to it.Converting the site to Ddoc was a huge productivity booster for me, and also made the site much more consistent. Ddoc for phobos probably produced well over an order of magnitude improvement in the quality of the phobos documentation.Have you thought about publishing all these pages in Ddoc format too?
Jan 23 2008
Walter Bright Wrote:I sent the source to the site to Daniel. Let's see what he can do with it! The look is controlled by just two files - style.css and doc.ddoc (which has all the macro text).I'll certainly take a look when I get home. At the moment, it's 11:38 am and I'm at work. : p I'm currently in need of a breather to work out more theory behind my parser/interpreter; so this just might do it. After I've read the files, I shall focus on first things first; getting the comments inlined into the documentation page, collapsable and clearly indicated as just comments, and then writing a comment post form generator in javascript (which hides it from spam web trawler scripts) Ideally, comments should be visible both on the page and in a centralized place, and possibly with an RSS feed. Who disagrees? Preferences? Other features? Regards, Dan
Jan 23 2008
My suggestions would be (obviously just my opinion): 1. Before writing any backend, verify with Walter what the server supports. 2. Make sure it supports moderation (frontend should emphasize this.) 3. Moderation would probably be presented with the author, date, comment, and page commented for approval - one big list, I'm sure. 4. An rss feed with an optional filter for the page, would definitely be useful. Most likely it would have a flag for approved/unapproved. 5. Some way of highlighting D code within comments would be nice (possibly marked up with <code>?) 6. If you're going to use JavaScript, assuming you provide some sort of fallback (like a link) to people who have no JavaScript, it might be nice to allow the comments per-section in the specification pages. I'm not sure how this would work, though. For reference, I suggest looking at the PHP pages which have similar functionality: http://us.php.net/array_rand http://us.php.net/manual/add-note.php?sect=function.array-rand&redirect=http://us.php.net/manual/en/function.array-rand.php But again, these are just my suggestions. Hopefully if Walter or anyone else have any specific ideas they will say something. -[Unknown] Daniel wrote:Walter Bright Wrote:I sent the source to the site to Daniel. Let's see what he can do with it! The look is controlled by just two files - style.css and doc.ddoc (which has all the macro text).I'll certainly take a look when I get home. At the moment, it's 11:38 am and I'm at work. : p I'm currently in need of a breather to work out more theory behind my parser/interpreter; so this just might do it. After I've read the files, I shall focus on first things first; getting the comments inlined into the documentation page, collapsable and clearly indicated as just comments, and then writing a comment post form generator in javascript (which hides it from spam web trawler scripts) Ideally, comments should be visible both on the page and in a centralized place, and possibly with an RSS feed. Who disagrees? Preferences? Other features? Regards, Dan
Jan 23 2008
Daniel wrote:Walter Bright Wrote:The whole look of the site is controlled by two files, doc.ddoc and style.css. Can we start with something more modest and just update them to give the site a better look?I sent the source to the site to Daniel. Let's see what he can do with it! The look is controlled by just two files - style.css and doc.ddoc (which has all the macro text).I'll certainly take a look when I get home. At the moment, it's 11:38 am and I'm at work. : p I'm currently in need of a breather to work out more theory behind my parser/interpreter; so this just might do it. After I've read the files, I shall focus on first things first; getting the comments inlined into the documentation page, collapsable and clearly indicated as just comments, and then writing a comment post form generator in javascript (which hides it from spam web trawler scripts) Ideally, comments should be visible both on the page and in a centralized place, and possibly with an RSS feed. Who disagrees? Preferences? Other features?
Jan 24 2008
Walter Bright Wrote:Daniel wrote:Walter, I've read the code you have to generate the website. I'm usually quite blunt, so please excuse my saying that you've used an axe to pound in a nail. You're welcome to say the same about my interpreter as long as you offer to help. ; ) I shall endeavor to use your existing system and see what I can do about the look. I'll send that to you and we shall progress from there. Regards, DanWalter Bright Wrote:The whole look of the site is controlled by two files, doc.ddoc and style.css. Can we start with something more modest and just update them to give the site a better look?I sent the source to the site to Daniel. Let's see what he can do with it! The look is controlled by just two files - style.css and doc.ddoc (which has all the macro text).I'll certainly take a look when I get home. At the moment, it's 11:38 am and I'm at work. : p I'm currently in need of a breather to work out more theory behind my parser/interpreter; so this just might do it. After I've read the files, I shall focus on first things first; getting the comments inlined into the documentation page, collapsable and clearly indicated as just comments, and then writing a comment post form generator in javascript (which hides it from spam web trawler scripts) Ideally, comments should be visible both on the page and in a centralized place, and possibly with an RSS feed. Who disagrees? Preferences? Other features?
Jan 24 2008
Dan wrote:Walter, I've read the code you have to generate the website. I'm usually quite blunt, so please excuse my saying that you've used an axe to pound in a nail. You're welcome to say the same about my interpreter as long as you offer to help. ; )No problem! I don't claim any particular expertise in html, CSS, or web site design. In fact, I have a lot of trouble with CSS, as you can tell by trying to click on the tabs in the upper right corner under Explorer (it works under Ubuntu). I spent a lot of time trying to figure that out, and finally gave up.I shall endeavor to use your existing system and see what I can do about the look. I'll send that to you and we shall progress from there.Thank-you. P.S. One of the reasons for the extensive use of macros is the dream of one day being able to generate pdf files directly from the doc source pages via LaTeX (and not have them look like crappy converted html).
Jan 24 2008
Walter Bright Wrote:Dan Wrote:Just so nobody shoots me, I was *asked* to do the look first. : ) The first layout/imagery iteration has been sent to Walter and looks uncannily like forums.aw8.net because I was trying to. The imagery *is* all from-scratch. I want more feedback from Walter before investing more time in any direction. I'm thinking to: - possibly making it feel less glowy/fuzzy/round - get it from blue to carbon-pattern dark-grey, white, orange and red. - trimming the 18kb image size - adding white square tabs/drop downs at the top, each containing one of the left sidebar sections. - integrate it into Walter's macro system. : ) More importantly, what is Walter thinking? Off to bed, it's now 11pm.I shall endeavor to use your existing system and see what I can do about the look. I'll send that to you and we shall progress from there.Thank-you.
Jan 24 2008
Dan Wrote:Walter Bright Wrote:I couldn't sleep. The thought crossed my mind that I had entirely the wrong idea - that I should just be making some small stylesheet changes to make the current site look a little prettier, not a complete freakin' redesign. That and my wife started snoring. So, I'll be back with a few more trivial changes to the existing site instead; and I'll stop posting to the forums every time I have anything at all to say. : pDan Wrote:Just so nobody shoots me, I was *asked* to do the look first. : ) The first layout/imagery iteration has been sent to Walter and looks uncannily like forums.aw8.net because I was trying to. The imagery *is* all from-scratch. I want more feedback from Walter before investing more time in any direction. I'm thinking to: - possibly making it feel less glowy/fuzzy/round - get it from blue to carbon-pattern dark-grey, white, orange and red. - trimming the 18kb image size - adding white square tabs/drop downs at the top, each containing one of the left sidebar sections. - integrate it into Walter's macro system. : ) More importantly, what is Walter thinking? Off to bed, it's now 11pm.I shall endeavor to use your existing system and see what I can do about the look. I'll send that to you and we shall progress from there.Thank-you.
Jan 24 2008
This is because the containers are floating. IE loves being funny. Add height: 28px; to the div#headingNav rule, then add float: left; to the div#lastupdate rule. Also, I suggest adding clear: both; to the div#navigation rule. After that, reverse the order of "lastupdate" and "headingNav" by putting "lastupdate" first in the HTML. This should fix it afaict. It will make IE6 give the full block as a link, and IE7 will no longer limit the link inside the containing ul (which had a useless 4px padding rule on it btw since it had no effective height.) -[Unknown] Walter Bright wrote:No problem! I don't claim any particular expertise in html, CSS, or web site design. In fact, I have a lot of trouble with CSS, as you can tell by trying to click on the tabs in the upper right corner under Explorer (it works under Ubuntu). I spent a lot of time trying to figure that out, and finally gave up.
Jan 24 2008
Walter Bright, el 24 de enero a las 02:38 me escribiste:Dan wrote:I don't know what are your specific needs, but maybe you should consider using RestructuredText[1]. Is easy to write, powerful and, if needed, extensible. [1] http://docutils.sourceforge.net/rst.html -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- En ese preciso instante ella con un leve gemido nos dice: "Ponla, Tito! Ponla!". -- Sidharta KiwiWalter, I've read the code you have to generate the website. I'm usually quite blunt, so please excuse my saying that you've used an axe to pound in a nail. You're welcome to say the same about my interpreter as long as you offer to help. ; )No problem! I don't claim any particular expertise in html, CSS, or web site design. In fact, I have a lot of trouble with CSS, as you can tell by trying to click on the tabs in the upper right corner under Explorer (it works under Ubuntu). I spent a lot of time trying to figure that out, and finally gave up.I shall endeavor to use your existing system and see what I can do about the look. I'll send that to you and we shall progress from there.Thank-you. P.S. One of the reasons for the extensive use of macros is the dream of one day being able to generate pdf files directly from the doc source pages via LaTeX (and not have them look like crappy converted html).
Jan 24 2008
Leandro Lucarella Wrote:I don't know what are your specific needs, but maybe you should consider using RestructuredText[1]. Is easy to write, powerful and, if needed, extensible. [1] http://docutils.sourceforge.net/rst.htmlI visited their website. It doesn't look like it helped them very much. : p I do tend to think that a template mechanism would server Walter Bright's objectives better than the macro scheme. Each page outside the template ought to only have the content section. Having only a minimal set of directives would be more maintainable, and easier to parse towards pdf or any other format. I would think <h1-5>,<p>,<code>,<q>,<img>, and <a href> ought to do it; but there might be a couple others. Walter Bright wanted me to touch up the look first, so I submitted several small changes to the css that ought to make the site look a little more refined without improving functionality much. I didn't notice that post about the IE7 bug before submitting the patch to Walter though; and the comments/rss mechanism hasn't been touched. Next go round? : p
Jan 24 2008
Unknown W. Brackets wrote:http://www.unknownbrackets.com/tutorials/polishing-dNow on Reddit: http://reddit.com/r/programming/info/669pe/comments/
Jan 22 2008
Jarrod Wrote:On Sun, 20 Jan 2008 21:32:45 -0800, Walter Bright wrote:Walter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanThanks for taking the time to write this. I think your suggestions are very good.I think I should ask you here since it's in context with the Phobos suggestions. What are you planning to do with Tango? Personally I prefer the Phobos API for it's naming, organisation and documentation, but I also like the extra features tango adds and of course I don't want to say no to a faster garbage collector and less bugs, which leaves me torn. Perhaps it might be time to replace Phobos, or (even better) officially merge the two libraries? Better now than later.
Jan 23 2008
On Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:Walter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C. Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D. I emphasize the word *standard* because right now, we don't have a standard. Unless you include a bunch of versioning/mixin hacks, we currently have code that won't even compile on different workstations because of two very different core libraries that are totally incompatible. So now we're stuck with an annoying rift. Tangobos is a step in the right direction to get compatibility back, but at the moment it's just a band-aid solution. All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|
Jan 24 2008
Jarrod wrote:On Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:More curiosity from me, what in Phobos do you consider cool, and at the same time miss in Tango? -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoWalter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C. Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D. I emphasize the word *standard* because right now, we don't have a standard. Unless you include a bunch of versioning/mixin hacks, we currently have code that won't even compile on different workstations because of two very different core libraries that are totally incompatible. So now we're stuck with an annoying rift. Tangobos is a step in the right direction to get compatibility back, but at the moment it's just a band-aid solution. All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|
Jan 25 2008
On Fri, 25 Jan 2008 19:01:26 +0100, Lars Ivar Igesund wrote:More curiosity from me, what in Phobos do you consider cool, and at the same time miss in Tango?Cool phobos stuff: toString. 'Nuff said. toStringz is also much easier to find. I had to follow a bug report under trac that I found with the search feature, just to find the same thing in Tango. In Phobos the API layout and naming conventions 'feel' more right to me. If I need something solved with the library, I can generally find it quickly and easily because of its obvious naming, then just look up the documentation and within a few minutes I have a solution. On the other hand Tango made me fiddle around a bit. A lot of API felt unfamiliar to me for some reason (perhaps my heavy C background?), and the documentation doesn't seem as clean. For example, just to find out how to add a pointer to the garbage collector made me have to search the trac just to find it. In Phobos it was pretty much instantly apparent. 'std.gc'. I mean it's so apparent I can recall it off the top of my head, and it's not like I've used it more than the tango one which I can't at all recall the location of without looking it up (I remember it was an object called GC though if that's a consolation, but I only remember that because I aliased stc.gc to GC so as to have minimum versioning issues) Oh, and the Phobos libs don't have leading Capitol Letters and oh man I don't really like that in Tango. On the other foot, things I want from Tango: Better threading, the fixed bugs, the text modules, the faster GC, all the useful extras like signals and etc are all really handy and useful. So in short, "stuff". Tangobos is pretty much my answer for now I guess, but I'd prefer a proper merge rather than having the two libraries just slapped together (okay I'm not trying to be mean here, it's not like Tangobos was a 5 minute hack and I know that, but you get the point). Well, hope that sates some of your curiosity. But odds are you probably have questions for some of my answers now. :>
Jan 26 2008
Jarrod wrote:On Fri, 25 Jan 2008 19:01:26 +0100, Lars Ivar Igesund wrote:? Tango has toString too.More curiosity from me, what in Phobos do you consider cool, and at the same time miss in Tango?Cool phobos stuff: toString. 'Nuff said.toStringz is also much easier to find. I had to follow a bug report under trac that I found with the search feature, just to find the same thing in Tango.It is indeed considered a C compatibility routine which may make it harder to find. This particular case is due to a wish to keep C out of the main portions of the Tango user API which we try to keep to D as much as possible. It is still avaialable through the stdc package though.In Phobos the API layout and naming conventions 'feel' more right to me. If I need something solved with the library, I can generally find it quickly and easily because of its obvious naming, then just look up the documentation and within a few minutes I have a solution. On the other hand Tango made me fiddle around a bit. A lot of API felt unfamiliar to me for some reason (perhaps my heavy C background?), and the documentation doesn't seem as clean. For example, just to find out how to add a pointer to the garbage collector made me have to search the trac just to find it. In Phobos it was pretty much instantly apparent. 'std.gc'. I mean it's so apparent I can recall it off the top of my head, and it's not like I've used it more than the tango one which I can't at all recall the location of without looking it up (I remember it was an object called GC though if that's a consolation, but I only remember that because I aliased stc.gc to GC so as to have minimum versioning issues)Yes, the Tango API docs could be much better organized, and we know this. This is made a much more important facet of your problems above due to Tango having rather much more functionality, thus needing more modules. In addition we find it important to keep interdependencies low where possible, leading to some additional modules.Oh, and the Phobos libs don't have leading Capitol Letters and oh man I don't really like that in Tango.Ignoring this :)On the other foot, things I want from Tango: Better threading, the fixed bugs, the text modules, the faster GC, all the useful extras like signals and etc are all really handy and useful. So in short, "stuff". Tangobos is pretty much my answer for now I guess, but I'd prefer a proper merge rather than having the two libraries just slapped together (okay I'm not trying to be mean here, it's not like Tangobos was a 5 minute hack and I know that, but you get the point).I think I addressed this in my other post (the stuff about merging).Well, hope that sates some of your curiosity. But odds are you probably have questions for some of my answers now. :>No, I don't think I have :) Thank you very much for your feedback. I'd wish I didn't have to pull it out of you though ;) -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Jan 26 2008
Jarrod wrote:On Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:Walter has said very explicitly on a number of occasions that he doesn't like that the C and C++ language spec includes the library spec. In fact, I'm pretty sure this is the reason the Phobos documentation is separated from the language documentation. That isn't to say that there is no value in a language having a specific standard library, but I think it's somewhat of a different issue from that of them being defined in the same spec.Walter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C.Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D.I think one of the arguments for having the library spec exist separate from the language spec is to provide a division of labor. The C++ committee has a number of sub-committees dedicated to different areas, but each change still needs to be voted on by the whole group. I certainly can't claim to speak for Walter, but were I in his place I'd prefer to be in an advisory position for the library rather than the principal maintainer. It seems that things are moving a bit in that direction with Andrei and Brad working on Phobos as well, but Walter still has the appearance of being the go-to man for everything related to D, which is a huge responsibility in terms of the time commitment required.All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has.Personally, I don't think a standard library must have every bell and whistle. Rather, I'd like it to provide enough of a programming framework that libraries which follow the framework are likely to work together very well, and for it to provide the most commonly used features so I don't have to go searching for a third-party library for every day stuff. The C++ standard library does a decent job of this with its iterators and algorithms, but it leaves too many holes in other areas. No one seems to be terribly fond of iostreams, for example, and the design is difficult to adapt to more complex needs. Sean
Jan 25 2008
Well okay, valid points there and I never really said the opposite. But Walter does in the end decide what Phobos is, and he will be "The Guy" who decides to incorporate/replace/ignore the tango effort. So it makes sense to appeal to him for this issue.Personally, I don't think a standard library must have every bell and whistle.Indeed, but surely you can't ignore many of the numerous advancements of tango and shrug them off as 'extra bells and whistles.' What bugs me overall is not the rift between features on either side, but rather the incompatibility issues. Unless there is a merge, there will be two standards.. Which is clearly an oxymoron. A merge could get the Tango team to work with Phobos too, so everyone can help it advance. Hey, it worked real well for compiz and beryl.
Jan 26 2008
Jarrod wrote:A merge could get the Tango team to work with Phobos too, so everyone can help it advance. Hey, it worked real well for compiz and beryl.There are two aspects about Tango, the runtime and the user level API. It would indeed be beneficial if the first could be compatible with the one in Phobos, and we still hope to achieve that in some sense. As for the user API, that is what most people see, and what garners the most opinions. I don't think it will be particularly useful to merge that with Phobos, although they can be shipped together (as is done with the Tangobos bundles). Even though Phobos and Tango then can be used at the same time, that doesn't really make much sense unless you are forced that way by your library dependencies. If you use one part of Tango, you are likely to find good complimentary functionality elsewhere in Tango rather than in Phobos, and probably vice versa. As for working together, that is a possibility with the runtime, but considering we have rather different opinions on how to shape the library, it is very unlikely for user library, at least across the board. There are some minor parts that are fairly close to each other, and where fixes or improvements may be applied to both. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Jan 26 2008
On Sat, 26 Jan 2008 19:24:13 +0100, Lars Ivar Igesund wrote:Jarrod wrote:Okay I get it, Tango seems to have been made because some people didn't like the Phobos API, not because it lacked features. But in the end a lot of people choose Tango because of its features and better runtime. Not trying to rub a lemon in your eye here or anything and hey I could be very wrong on this, but maybe different API wasn't what most people needed? Besides, if you merged couldn't you make a deal? Convince Walter to perhaps change or add a few API in Phobos to the 'better' Tango ones as you see them? Oh and because I'm too lazy to reply to your other post directly :P Regarding toString: Yes Tango has toString but iirc you have to import each library for the datatype that you want to convert from, don't you? Not so good in template functions. All you need from Phobos is str.toString.A merge could get the Tango team to work with Phobos too, so everyone can help it advance. Hey, it worked real well for compiz and beryl.There are two aspects about Tango, the runtime and the user level API. It would indeed be beneficial if the first could be compatible with the one in Phobos, and we still hope to achieve that in some sense. As for the user API, that is what most people see, and what garners the most opinions. I don't think it will be particularly useful to merge that with Phobos, although they can be shipped together (as is done with the Tangobos bundles). Even though Phobos and Tango then can be used at the same time, that doesn't really make much sense unless you are forced that way by your library dependencies. If you use one part of Tango, you are likely to find good complimentary functionality elsewhere in Tango rather than in Phobos, and probably vice versa. As for working together, that is a possibility with the runtime, but considering we have rather different opinions on how to shape the library, it is very unlikely for user library, at least across the board. There are some minor parts that are fairly close to each other, and where fixes or improvements may be applied to both.
Jan 26 2008
"Jarrod" <qwerty ytre.wq> wrote in message news:fnge6e$1eto$1 digitalmars.com...On Sat, 26 Jan 2008 19:24:13 +0100, Lars Ivar Igesund wrote:There's a lot of history behind this, so it's understandable that many newer folks won't know the story. You might take a look at the Ares forum on dsource to get a broader picture, but it boils down to one fact: phobos was going nowhere - patches were being sent to walter and not being applied for over a year, etc. Not to mention that it was, at the time most would agree, a bit of a design mish-mash. A variety of folks felt that Walter should not be burdened with the library, when it was abundantly clear his focus and priority was the language instead. The upshot was something "owned", guided, driven and maintained by the community instead. To suggest that was borne of merely a dislike for an API is like saying D exists simply because Walter doesn't like Bjarne's haircut.Jarrod wrote:Okay I get it, Tango seems to have been made because some people didn't like the Phobos API, not because it lacked features. But in the end a lot of people choose Tango because of its features and better runtime. Not trying to rub a lemon in your eye here or anything and hey I could be very wrong on this, but maybe different API wasn't what most people needed?A merge could get the Tango team to work with Phobos too, so everyone can help it advance. Hey, it worked real well for compiz and beryl.There are two aspects about Tango, the runtime and the user level API. It would indeed be beneficial if the first could be compatible with the one in Phobos, and we still hope to achieve that in some sense. As for the user API, that is what most people see, and what garners the most opinions. I don't think it will be particularly useful to merge that with Phobos, although they can be shipped together (as is done with the Tangobos bundles). Even though Phobos and Tango then can be used at the same time, that doesn't really make much sense unless you are forced that way by your library dependencies. If you use one part of Tango, you are likely to find good complimentary functionality elsewhere in Tango rather than in Phobos, and probably vice versa. As for working together, that is a possibility with the runtime, but considering we have rather different opinions on how to shape the library, it is very unlikely for user library, at least across the board. There are some minor parts that are fairly close to each other, and where fixes or improvements may be applied to both.Besides, if you merged couldn't you make a deal? Convince Walter to perhaps change or add a few API in Phobos to the 'better' Tango ones as you see them? Oh and because I'm too lazy to reply to your other post directly :P Regarding toString: Yes Tango has toString but iirc you have to import each library for the datatype that you want to convert from, don't you? Not so good in template functions. All you need from Phobos is str.toString.Where phobos is monolithic, Tango is modular. There's a price to pay for that, in that modularity can sometimes require an extra import. While this is hardly an impediment, you could happily import tango.util.Convert instead, and exchange modularity for triviality. This is a general philosophy within Tango - keep things modular, and provide a wrapper on top for those who prefer that instead. It's more work to design and build a library that way (often much more), but it's worth it to many folks.
Jan 26 2008
"Jarrod" <qwerty ytre.wq> wrote in message news:fnfa1t$1o1g$2 digitalmars.com...What bugs me overall is not the rift between features on either side, but rather the incompatibility issues. Unless there is a merge, there will be two standards..Jarrod: In what manner does Tangobos not provide the "merge" you describe? It permits you to import, compile and link both phobos and Tango modules without fuss (which is what people had asked for). If you have a different idea of what that "merge" should instead be, would you please clarify?
Jan 26 2008
Daniel wrote:Jarrod Wrote:Mango doesn't fit into the equation as it never was meant to do what Tango is doing, it just happened to have functionality that fit better in Tango. As for Tangobos, it is just a version of Phobos that is made to work (as much as possible) with the runtime in Tango. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoOn Sun, 20 Jan 2008 21:32:45 -0800, Walter Bright wrote:Walter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features.Thanks for taking the time to write this. I think your suggestions are very good.I think I should ask you here since it's in context with the Phobos suggestions. What are you planning to do with Tango? Personally I prefer the Phobos API for it's naming, organisation and documentation, but I also like the extra features tango adds and of course I don't want to say no to a faster garbage collector and less bugs, which leaves me torn. Perhaps it might be time to replace Phobos, or (even better) officially merge the two libraries? Better now than later.
Jan 25 2008
Lars Ivar Igesund wrote:Daniel wrote:It's perhaps worth noting that 99% of the code in Tangobos is identical to Phobos. std.thread is one of only a few modules with any changes whatsoever, and probably the only module with any user-visible changes. SeanJarrod Wrote:Mango doesn't fit into the equation as it never was meant to do what Tango is doing, it just happened to have functionality that fit better in Tango. As for Tangobos, it is just a version of Phobos that is made to work (as much as possible) with the runtime in Tango.On Sun, 20 Jan 2008 21:32:45 -0800, Walter Bright wrote:Walter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features.Thanks for taking the time to write this. I think your suggestions are very good.I think I should ask you here since it's in context with the Phobos suggestions. What are you planning to do with Tango? Personally I prefer the Phobos API for it's naming, organisation and documentation, but I also like the extra features tango adds and of course I don't want to say no to a faster garbage collector and less bugs, which leaves me torn. Perhaps it might be time to replace Phobos, or (even better) officially merge the two libraries? Better now than later.
Jan 25 2008
Unknown W. Brackets Wrote:I thought I might write down some of the many suggestions I have for making D really come into the spotlight as a language. They cover many areas, and I'm trying to address issues that I feel aren't being given - by what I've seen - enough attention. I'm sure many of you here will pick me apart, and I look forward to it. Hopefully some of the suggestions can improve D. I write these with experience with an open source project I lead the development of, and years of watching the Mozilla development process. I have no doubt that the majority of these things would be of great improvement, if they are possible and done. http://www.unknownbrackets.com/tutorials/polishing-d -[Unknown]I'd love to see an official stance/roadmap by the D community/Walter on how to handle each and every item in your list. Either as tasks in the issue tracker, entries on the D webpage, or some official wiki page. So far, it looks like only the web page item is really being address in reaction to your post. It'd be a real shame if we don't do a better job of handling the items posted. They're well thought out and are accurate about the state of D.
Jan 24 2008
You mentioned IDEs a couple times, specifically in that they should be able to access DMD via some sort of API. While this would be great, Descent (in trunk, sadly the kinks are still being worked out...) takes a different approach. We have a full Java port of the DMD semantic front-end, which we are using to do things like display errors inline as the user types. From working with Descent, I can say that having programatic access to the AST would be nice, but since most advanced IDEs would want to extend it anyway, it's a lot of work for a small gain.
Jan 24 2008
Robert Fraser Wrote:You mentioned IDEs a couple times, specifically in that they should be able to access DMD via some sort of API. While this would be great, Descent (in trunk, sadly the kinks are still being worked out...) takes a different approach. We have a full Java port of the DMD semantic front-end, which we are using to do things like display errors inline as the user types. From working with Descent, I can say that having programatic access to the AST would be nice, but since most advanced IDEs would want to extend it anyway, it's a lot of work for a small gain.Yeah, D exposing the AST would be a *huge* benefit to modifying the compiler, and allowing things like third party profilers and optimizers. For profiling, I've always argued that I want this: ~~~ I can't rightly find out all the things that modify my variable 'x' without an AST; so how am I supposed to notice when I write if(x < 0) x = Math_bla(x); before the only three places calling a function, and then inside the function deep in another file it's already got int Math_bla(x) { if(x > 0) do something if(x == 0) do something else if(x == double.nan) ... } ~~~ This really should be noticed by a profiler/optimizer, so that the programmer can detect impossible branch cases. There's more. We really ought to have a "potential range filter" for numbers; so when we do this: x ^= 1; And later we go: switch(x) { case 1: case 2: case 3: case 4: } When we look at x in that switch, we see that it's inherently even. The problem is intractable without an AST; and even then, the optimizer/profiler will be a grand project.
Jan 24 2008
Actually, I'm much more interested in basic things: proper highlighting that stays up to date with the language, basic syntax checking that really works, proper error file/line integration that doesn't suffer from pretty printing, etc. This is from my experience trying to write a D highlighter/language service using the VSIP package for Visual Studio. But really that's just a thought. I would like to see D do something else "cool" other than just the language itself, but the other things I noted are (imho) much bigger issues. -[Unknown] Robert Fraser wrote:You mentioned IDEs a couple times, specifically in that they should be able to access DMD via some sort of API. While this would be great, Descent (in trunk, sadly the kinks are still being worked out...) takes a different approach. We have a full Java port of the DMD semantic front-end, which we are using to do things like display errors inline as the user types. From working with Descent, I can say that having programatic access to the AST would be nice, but since most advanced IDEs would want to extend it anyway, it's a lot of work for a small gain.
Jan 24 2008
Jarrod Wrote:On Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:Fair assessment. I think Tango is more open source and takes the load off Walter. It's just simply too heavyweight for me to dare use it; so library developers go to Tango and library users still go to Phobos. : p That guy who developed the cool Agner Fog optimized mixin algorithm should get access to an AST. I'm sure he could write a kick-ass lib. Regards, DanWalter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C. Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D. I emphasize the word *standard* because right now, we don't have a standard. Unless you include a bunch of versioning/mixin hacks, we currently have code that won't even compile on different workstations because of two very different core libraries that are totally incompatible. So now we're stuck with an annoying rift. Tangobos is a step in the right direction to get compatibility back, but at the moment it's just a band-aid solution. All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|
Jan 25 2008
Dan wrote:Jarrod Wrote:I am just curious, what do you consider to be too heavyweight about Tango? Or why do you think it is too heavyweight? -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoOn Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:Fair assessment. I think Tango is more open source and takes the load off Walter. It's just simply too heavyweight for me to dare use it; so library developers go to Tango and library users still go to Phobos. : pWalter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C. Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D. I emphasize the word *standard* because right now, we don't have a standard. Unless you include a bunch of versioning/mixin hacks, we currently have code that won't even compile on different workstations because of two very different core libraries that are totally incompatible. So now we're stuck with an annoying rift. Tangobos is a step in the right direction to get compatibility back, but at the moment it's just a band-aid solution. All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|
Jan 25 2008
On Fri, 25 Jan 2008 18:57:17 +0100, Lars Ivar Igesund wrote:Dan wrote:I still have yet to develop in Tango (My book should be here within the week), but I think I know what Dan is trying to say by heavyweight. It is not related to the size or speed of the code, as Sean was questioning, but in the use. The best comparison I can think of is that it is like going from C to Java. (I'm not saying Tango is like java) The phobos library is very procedural, you you import your module and call your functions. Tango is Object based, import, create object/call object to do something for you. There is a sense of simplicity when you don't use objects. That is frankly one of the reasons I have not moved to Tango yet.Jarrod Wrote:I am just curious, what do you consider to be too heavyweight about Tango? Or why do you think it is too heavyweight?On Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:Fair assessment. I think Tango is more open source and takes the load off Walter. It's just simply too heavyweight for me to dare use it; so library developers go to Tango and library users still go to Phobos. : pWalter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C. Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D. I emphasize the word *standard* because right now, we don't have a standard. Unless you include a bunch of versioning/mixin hacks, we currently have code that won't even compile on different workstations because of two very different core libraries that are totally incompatible. So now we're stuck with an annoying rift. Tangobos is a step in the right direction to get compatibility back, but at the moment it's just a band-aid solution. All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|
Jan 25 2008
Jesse Phillips wrote:On Fri, 25 Jan 2008 18:57:17 +0100, Lars Ivar Igesund wrote:I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoDan wrote:I still have yet to develop in Tango (My book should be here within the week), but I think I know what Dan is trying to say by heavyweight. It is not related to the size or speed of the code, as Sean was questioning, but in the use. The best comparison I can think of is that it is like going from C to Java. (I'm not saying Tango is like java) The phobos library is very procedural, you you import your module and call your functions. Tango is Object based, import, create object/call object to do something for you. There is a sense of simplicity when you don't use objects. That is frankly one of the reasons I have not moved to Tango yet.Jarrod Wrote:I am just curious, what do you consider to be too heavyweight about Tango? Or why do you think it is too heavyweight?On Wed, 23 Jan 2008 21:52:19 -0500, Daniel wrote:Fair assessment. I think Tango is more open source and takes the load off Walter. It's just simply too heavyweight for me to dare use it; so library developers go to Tango and library users still go to Phobos. : pWalter is, and ought to be, focusing his efforts on the language more than the libraries. Oddly, I would argue that all libraries are simply stop-gap fixes for missing or poorly implemented language features; indeed most programming code tends to be. However, D has phobos, there was mango, now tango, and work has been done on a tangobos. The fact that the library keeps changing shows that D's language features actually have an impact, as they frequently replace or integrate library features. Regards, DanTo claim Phobos is not a part of D is to claim the C stdlib is not a part of C. Phobos is a part of D, and it's a very important part of D too (hell we can't even have classes without Object.d). Walter is the father of Phobos and although he allows others to contribute to it, he is the one who decides what to add to Phobos and how to add it. Yes, Walter should focus on developing the language of course, but he also has to decide what the *standard* library is going to be since he is after all the head project manager of both Phobos and D. I emphasize the word *standard* because right now, we don't have a standard. Unless you include a bunch of versioning/mixin hacks, we currently have code that won't even compile on different workstations because of two very different core libraries that are totally incompatible. So now we're stuck with an annoying rift. Tangobos is a step in the right direction to get compatibility back, but at the moment it's just a band-aid solution. All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|
Jan 25 2008
Lars Ivar Igesund wrote:I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.
Jan 25 2008
Robert Fraser wrote:Lars Ivar Igesund wrote:I shouldn't write long sentences; I tend to get lost halfway though.I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.
Jan 25 2008
Robert Fraser wrote:Lars Ivar Igesund wrote:Yes, this is a comfort zone thing, and not something we can or intend to do much with. However, my feeling (since feeling seems to be an important keyword here) is that some may use their general discomfort as a critique towards Tango, without quantifying (or not even having anything to quantify beyond feeling) it. I have to take this to mean that beyond certain details that could be improved, there isn't an overall problem with Tango per se, it is just about face value alone. Assuming I'm correct at this aspect, I hope to avoid too much discussion on it in the future. Specific issues or opinions on specific features / decisions are quite the different beast though. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoI know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.
Jan 26 2008
Robert Fraser, el 25 de enero a las 17:31 me escribiste:Lars Ivar Igesund wrote:I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one. -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- ¿Cómo estais? ¿Cómo os senteis hoy 29 del membre de 1961 dÃa en que conmemoreramos la nonésima setima nebulización del martir Peperino Pómoro junto al Rolo Puente en la ciudad de Jadad? -- Peperino PómoroI know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.
Jan 26 2008
Leandro Lucarella wrote:Robert Fraser, el 25 de enero a las 17:31 me escribiste:However, when it comes to the low-level parts of the library (gc, threading, etc), I don't really see anyone arguing. Tango's seems to be better. It seems like those improvements should just be rolled back into Phobos. Then Tango could go back to being a regular library that doesn't require you to "get religion" first. --bbLars Ivar Igesund wrote:I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one.I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.
Jan 26 2008
Bill Baxter wrote:Leandro Lucarella wrote:Tango require you to "get religion" ? Also, Tango has never been a "regular" library, if that means a library without its own runtime. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoRobert Fraser, el 25 de enero a las 17:31 me escribiste:However, when it comes to the low-level parts of the library (gc, threading, etc), I don't really see anyone arguing. Tango's seems to be better. It seems like those improvements should just be rolled back into Phobos. Then Tango could go back to being a regular library that doesn't require you to "get religion" first.Lars Ivar Igesund wrote:I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one.I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.
Jan 26 2008
Lars Ivar Igesund wrote:Bill Baxter wrote:Also, Tango has never been a "regular"Leandro Lucarella wrote:Tango require you to "get religion" ?Robert Fraser, el 25 de enero a las 17:31 me escribiste:However, when it comes to the low-level parts of the library (gc, threading, etc), I don't really see anyone arguing. Tango's seems to be better. It seems like those improvements should just be rolled back into Phobos. Then Tango could go back to being a regular library that doesn't require you to "get religion" first.Lars Ivar Igesund wrote:I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one.I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.Not to be negative, but I think no matter how many tests/examples/whatever show that Tango is comparable or better in speed and efficiency to Phobos, the stigma of a feature-rich, strongly abstracted/modular standard library reminds of Java and .NET . I think the fear is less based on logic and more based on association between a modular standard library and VM-based languages.library, if that means a library without its own runtime.It was in the Mango days. I don't see any reason why the low-level stuff couldn't replace the Phobos stuff.
Jan 28 2008
"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message news:fng5c1$un8$1 digitalmars.com...That is exactly what Tango is about. It is a modular library, written carefully and explicitly to reduce interdependencies within the library itself. You might think of Tango as being composed of several onion layers, each of which depends upon its interior only. Tango is built to address the "small" and "large" library notions mentioned (and a few in between as necessary).I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one.However, when it comes to the low-level parts of the library (gc, threading, etc), I don't really see anyone arguing. Tango's seems to be better. It seems like those improvements should just be rolled back into Phobos. Then Tango could go back to being a regular libraryA "regular library"? Feels quite 'regular' to lots of people, so perhaps you could indicate what that means to you? Do you perhaps mean, it's not just a clone of phobos?doesn't require you to "get religion" first.Tango can be somewhat different from phobos, yes. Does it require adoption of a "religion" to be different, Bill? Surely that's a bit of a stretch?
Jan 26 2008
Kris wrote:"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message news:fng5c1$un8$1 digitalmars.com...Heh heh. By "get religion" I just mean you have to make a significant non-default choice that will affect and influence your subsequent actions. And once you "believe in Tango" it's difficult to share your code with other "non-believers" without first getting them to convert first. --bbThat is exactly what Tango is about. It is a modular library, written carefully and explicitly to reduce interdependencies within the library itself. You might think of Tango as being composed of several onion layers, each of which depends upon its interior only. Tango is built to address the "small" and "large" library notions mentioned (and a few in between as necessary).I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one.However, when it comes to the low-level parts of the library (gc, threading, etc), I don't really see anyone arguing. Tango's seems to be better. It seems like those improvements should just be rolled back into Phobos. Then Tango could go back to being a regular libraryA "regular library"? Feels quite 'regular' to lots of people, so perhaps you could indicate what that means to you? Do you perhaps mean, it's not just a clone of phobos?doesn't require you to "get religion" first.Tango can be somewhat different from phobos, yes. Does it require adoption of a "religion" to be different, Bill? Surely that's a bit of a stretch?
Jan 26 2008
"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message news:fngcb5$1eee$1 digitalmars.com...Ah, right :) I was concerned some folks might get the wrong idea there, so thanks for the clarification. But again, I suspect there's something a tad misguiding? For example: - Tangobos exposes the phobos API atop the Tango runtime. Thus, we already have exactly what you described earlier, but with the roles reversed. e.g. phobos is running within Tango, rather than the other way around. That makes a lot of sense to many folks. There was a notable call (in this NG) to combine the API from both, and that has been available for the last couple of releases. We did it this way because the first approach wound up going nowhere of note, and many people complained about a lack of progress. - some consider this aspect: http://dsource.org/projects/tango/wiki/TangoUsers - You note that Tango is a "significant non-default choice". For those who download bundles from DSource, that is not the case. Tango is the default choice there, with an option to embed the phobos API as an extension. - I know of several significant libraries in the works, which target Tango alone. There are a variety of reasons for that, but one often cited is the raw-efficiency of the I/O model (it runs rings around the C lib, for example). The point you appear to make is one that's been held aloft in the past. However, there are solid resolutions readily available, and the implication that targeting Tango is somehow going to afflict the longevity or compatibility of one's code really could not be further from the truth. In fact, your assertion over this aspect would likely make much more sense if it were inverted ;) CheersHeh heh. By "get religion" I just mean you have to make a significant non-default choice that will affect and influence your subsequent actions. And once you "believe in Tango" it's difficult to share your code with other "non-believers" without first getting them to convert first.doesn't require you to "get religion" first.Tango can be somewhat different from phobos, yes. Does it require adoption of a "religion" to be different, Bill? Surely that's a bit of a stretch?
Jan 26 2008
Kris wrote:"Bill Baxter" <dnewsgroup billbaxter.com> wrote in message news:fngcb5$1eee$1 digitalmars.com...Yes, the gap is narrowing. Which is great.Ah, right :) I was concerned some folks might get the wrong idea there, so thanks for the clarification. But again, I suspect there's something a tad misguiding? For example: - Tangobos exposes the phobos API atop the Tango runtime. Thus, we already have exactly what you described earlier, but with the roles reversed. e.g. phobos is running within Tango, rather than the other way around. That makes a lot of sense to many folks. There was a notable call (in this NG) to combine the API from both, and that has been available for the last couple of releases. We did it this way because the first approach wound up going nowhere of note, and many people complained about a lack of progress. - some consider this aspect: http://dsource.org/projects/tango/wiki/TangoUsers - You note that Tango is a "significant non-default choice". For those who download bundles from DSource, that is not the case. Tango is the default choice there, with an option to embed the phobos API as an extension. - I know of several significant libraries in the works, which target Tango alone. There are a variety of reasons for that, but one often cited is the raw-efficiency of the I/O model (it runs rings around the C lib, for example). The point you appear to make is one that's been held aloft in the past.Heh heh. By "get religion" I just mean you have to make a significant non-default choice that will affect and influence your subsequent actions. And once you "believe in Tango" it's difficult to share your code with other "non-believers" without first getting them to convert first.doesn't require you to "get religion" first.Tango can be somewhat different from phobos, yes. Does it require adoption of a "religion" to be different, Bill? Surely that's a bit of a stretch?However, there are solid resolutions readily available, and the implication that targeting Tango is somehow going to afflict the longevity or compatibility of one's code really could not be further from the truth. In fact, your assertion over this aspect would likely make much moresense ifit were inverted ;)I said nothing about longevity. I don't see that as a problem at all. Just compatibility. And the fact is Tango code remains incompatible with the default install of dmd digitalmars.com. Which is what the majority of casual users are likely to end up with. Why? Because if you google trying to find out about D you're going to end up at digitalmars.com. I think it would be great if links to the Tango distro were listed right alongside the Phobos packages on DigitalMars.com. Then my argument would go away because first-timers would all see it and think, "ah ok this is just as official ... and more featureful. I'll go for that." But right now they aren't and most people checking out D are just going to get the default and be happy enough with that. --bb
Jan 26 2008
"Bill Baxter" <dnewsgroup billbaxter.com> wrote.. [snip]I think it would be great if links to the Tango distro were listed right alongside the Phobos packages on DigitalMars.com. Then my argument would go away because first-timers would all see it and think, "ah ok this is just as official ... and more featureful. I'll go for that."Good idea, Bill. I'm sure that would be appreciated by many
Jan 26 2008
Kris wrote:I think part of the "religious" aspect reflected from Tango is also related to the photo in the "rogues gallery": http://www.dsource.org/projects/tango/wiki/Contributors It promotes the burlesque image of a cult following. I've always disliked it. While perhaps intended to be amusing, I think it puts across too playful an image for a library that should begin to take itself seriously as a maturing product. I know it's meant as a sort self-deprecating humour... but perhaps Tango has grown out of that now? Ironically, the fundamental differences between the Phobos and Tango design philosophies seem to be demonstrated through the above: Phobos tends to exude an aura that is lean, austere, and self-serious; while Tango tends to exemplify free, swanky, and hip with the cult-following undertones demonstrated in the contrib photo. I like Tango, though, for many reasons unrelated to it's personality, which I kind of wish it would lose. -JJRdoesn't require you to "get religion" first.Tango can be somewhat different from phobos, yes. Does it require adoption of a "religion" to be different, Bill? Surely that's a bit of a stretch?
Jan 26 2008
"John Reimer" <terminal.node gmail.com> wrote in message news:fngk4i$1tdu$1 digitalmars.com...Kris wrote:It never fails to amaze just how much can be extracted from merely one element on a website :) You're right about the picture, though - it was intended purely as a bit of fun at the time (as I recall), and should probably go. Certainly it would be a misconception to paint Tango with a "flighty" brush ... you would have to look very hard indeed to find a more "serious" D language investment anywhere. On a more personal note (for me) - no significant effort should have to go all true-blue neo-conservative to be considered "serious" about anything in this world, and a bit of self-deprecating humour is hardly out of place in any walk of life (there perhaps ought to be more of that around here sometimes?). It is interesting though, that you picked up on the 'cult' aspect of that picture - IIRC it was chosen at random because it looked /truly/ dorky, not because of anything else. Perhaps people will inevitably see whatever they want to? Ah well, it was comic relief for a period. Please suggest a replacement? Perhaps we should run a little competition?I think part of the "religious" aspect reflected from Tango is also related to the photo in the "rogues gallery": http://www.dsource.org/projects/tango/wiki/Contributors It promotes the burlesque image of a cult following. I've always disliked it. While perhaps intended to be amusing, I think it puts across too playful an image for a library that should begin to take itself seriously as a maturing product. I know it's meant as a sort self-deprecating humour... but perhaps Tango has grown out of that now? Ironically, the fundamental differences between the Phobos and Tango design philosophies seem to be demonstrated through the above: Phobos tends to exude an aura that is lean, austere, and self-serious; while Tango tends to exemplify free, swanky, and hip with the cult-following undertones demonstrated in the contrib photo. I like Tango, though, for many reasons unrelated to it's personality, which I kind of wish it would lose. -JJRdoesn't require you to "get religion" first.Tango can be somewhat different from phobos, yes. Does it require adoption of a "religion" to be different, Bill? Surely that's a bit of a stretch?
Jan 26 2008
Kris wrote:It never fails to amaze just how much can be extracted from merely one element on a website :)Yep, that happens.You're right about the picture, though - it was intended purely as a bit of fun at the time (as I recall), and should probably go. Certainly it would be a misconception to paint Tango with a "flighty" brush ... you would have to look very hard indeed to find a more "serious" D language investment anywhere.I agree. The effort that has gone into Tango is certainly not reflected by that picture.On a more personal note (for me) - no significant effort should have to go all true-blue neo-conservative to be considered "serious" about anything in this world, and a bit of self-deprecating humour is hardly out of place in any walk of life (there perhaps ought to be more of that around here sometimes?). It is interesting though, that you picked up on the 'cult' aspect of that picture - IIRC it was chosen at random because it looked /truly/ dorky, not because of anything else. Perhaps people will inevitably see whatever they want to? Ah well, it was comic relief for a period.Sure, my comparison wasn't meant to endorse a full swing opposite to conservatism (or neo-conservatism, as you put it). I was just pointing out the differences and how things might come across. It can go bad either way. :) I know you are relaxed and fun-loving and would prefer that to any form of false-dignity. That's good. The emphasis was merely on appearances that I felt detracted from the image of Tango. That opinion might or might not be shared by anybody else, but I felt I'd mention it (again). I'm not sure what you are implying by it being "interesting that I picked up on the cult following"... but yes, my senses are quite acute to picking up on cults regardless of what you perceive my worldview to be, if that's what you meant; I'll assume you didn't mean that as a remark concerning my Christian faith. But, no matter, half the time innuendos on this group are mistakes as a result of the reciever reading too much between the lines. I'll accept responsibility for this one. And I haven't anything against well-timed self-deprecating humour... sure that's useful. But, like many things, there's a time and place for it. My /personal/ feeling here is that it has outlived its purpose (as you seem to agree). Since it's just an opinion, you needn't pay any attention to it. :) And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)Please suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Jan 26 2008
"John Reimer" <terminal.node gmail.com> wrote ... [snip]I'm not sure what you are implying by it being "interesting that I picked up on the cult following"... but yes, my senses are quite acute to picking up on cults regardless of what you perceive my worldview to be, if that's what you meant;oh, not at all -- should probably have said "interesting that anyone would ..." instead (and instead of the dorkiness conveyed). My apologies for being careless [snip]And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)lol ... right, potential for a cult-like following, as you describe, would appear to be beyond the realm
Jan 26 2008
John Reimer escribió:Kris wrote:I never related that image with any cult. Probably I just didn't remember that part of the movie too well, or some cultural differences weighed in, but I always saw it as a bunch of geeks, and as such, I found it funny.It never fails to amaze just how much can be extracted from merely one element on a website :)Yep, that happens.You're right about the picture, though - it was intended purely as a bit of fun at the time (as I recall), and should probably go. Certainly it would be a misconception to paint Tango with a "flighty" brush ... you would have to look very hard indeed to find a more "serious" D language investment anywhere.I agree. The effort that has gone into Tango is certainly not reflected by that picture.On a more personal note (for me) - no significant effort should have to go all true-blue neo-conservative to be considered "serious" about anything in this world, and a bit of self-deprecating humour is hardly out of place in any walk of life (there perhaps ought to be more of that around here sometimes?). It is interesting though, that you picked up on the 'cult' aspect of that picture - IIRC it was chosen at random because it looked /truly/ dorky, not because of anything else. Perhaps people will inevitably see whatever they want to? Ah well, it was comic relief for a period.Sure, my comparison wasn't meant to endorse a full swing opposite to conservatism (or neo-conservatism, as you put it). I was just pointing out the differences and how things might come across. It can go bad either way. :) I know you are relaxed and fun-loving and would prefer that to any form of false-dignity. That's good. The emphasis was merely on appearances that I felt detracted from the image of Tango. That opinion might or might not be shared by anybody else, but I felt I'd mention it (again). I'm not sure what you are implying by it being "interesting that I picked up on the cult following"... but yes, my senses are quite acute to picking up on cults regardless of what you perceive my worldview to be, if that's what you meant; I'll assume you didn't mean that as a remark concerning my Christian faith. But, no matter, half the time innuendos on this group are mistakes as a result of the reciever reading too much between the lines. I'll accept responsibility for this one. And I haven't anything against well-timed self-deprecating humour... sure that's useful. But, like many things, there's a time and place for it. My /personal/ feeling here is that it has outlived its purpose (as you seem to agree). Since it's just an opinion, you needn't pay any attention to it. :) And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)-- Carlos Santander BernalPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Jan 29 2008
Carlos Santander wrote:I never related that image with any cult. Probably I just didn't remember that part of the movie too well, or some cultural differences weighed in, but I always saw it as a bunch of geeks, and as such, I found it funny.It may be a mix of things, including culture, I suppose. I accept that as a possibility. But it really didn't look like a group of geeks to me... from the looks of it, this frame from a movie seemed to be representing some sort of alien abductions club (or "cult" :) ) as a sort of satire. I'm clueless about the actual setting of this movie's representation. It was obvious that the shot was intended to convey humour, which apparently did not work on me, nor was I able to "adjust" to it over time as is sometimes the case... I can appreciate that some people found it funny for whatever reason. But given the impression it gave me, I found it more weird than funny, leaving me baffled as to what relationship it had with Tango or it's crew. And perhaps also, I've always disliked it when people mock other people (no, I'm not being sanctimonious; it actually annoys me). In this case, I suppose the idea is that the contributors are mocking themselves, so it's "ok"... even if some or most of the contributors did not ask to be mocked :). Sensitivity to that may or may not be relegated to "cultural" differences. In the long run, it's good to evaluate the effects of such things in and of themselves. Naturally, that's not always an easy thing to do. -JJR
Jan 30 2008
John Reimer Wrote:It was obvious that the shot was intended to convey humour, which apparently did not work on me, nor was I able to "adjust" to it over time as is sometimes the case... I can appreciate that some people found it funny for whatever reason. [snip]And perhaps also, I've always disliked it when people mock other people (no, I'm not being sanctimonious; it actually annoys me). In this case, I suppose the idea is that the contributors are mocking themselves, so it's "ok"... [snip].... wow mang. that is deep. or something. I even had to look up "sanctimonious". in my never-humble opinion, it's best not to care what other people think or do unless it's necessary for first or third party safety. let them have their fun, and just shrug and grin. regards, Dan
Jan 30 2008
Dan wrote:John Reimer Wrote:Uh... okay. Thanks for sharing your insight. I suppose the reason I posted was because I do care about what people might think about Tango. But it truly was a "take it or leave it" offering. If everybody just shrugged and grinned about everything, perhaps D would not be what it is today? Even Tango would be no better if the team didn't take /some/ things seriously. :) -JJRIt was obvious that the shot was intended to convey humour, which apparently did not work on me, nor was I able to "adjust" to it over time as is sometimes the case... I can appreciate that some people found it funny for whatever reason. [snip]And perhaps also, I've always disliked it when people mock other people (no, I'm not being sanctimonious; it actually annoys me). In this case, I suppose the idea is that the contributors are mocking themselves, so it's "ok"... [snip].... wow mang. that is deep. or something. I even had to look up "sanctimonious". in my never-humble opinion, it's best not to care what other people think or do unless it's necessary for first or third party safety. let them have their fun, and just shrug and grin. regards, Dan
Jan 30 2008
On Jan 31, 2008 5:12 AM, John Reimer <terminal.node gmail.com> wrote:I'm clueless about the actual setting of this movie's representation.It's from the movie "Dude, Where's my Car?" If you've seen the movie, the picture becomes hilariously funny. If not ... well, I guess it probably wouldn't make much sense. It's not the picture you want to worry about - it's the wherabouts of the continuum transfunctioner! At least, if you want the universe to survive! :-)
Jan 31 2008
Janice Caron wrote:On Jan 31, 2008 5:12 AM, John Reimer <terminal.node gmail.com> wrote:Hmm... that probably is part of the problem. Understanding the context likely helps carry the humor. :) -JJRI'm clueless about the actual setting of this movie's representation.It's from the movie "Dude, Where's my Car?" If you've seen the movie, the picture becomes hilariously funny. If not ... well, I guess it probably wouldn't make much sense. It's not the picture you want to worry about - it's the wherabouts of the continuum transfunctioner! At least, if you want the universe to survive! :-)
Jan 31 2008
== Quote from John Reimer (terminal.node gmail.com)'s articleKris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Feb 15 2008
== Quote from jcc7 (technocrat7 gmail.com)'s article== Quote from John Reimer (terminal.node gmail.com)'s article(I wish I could cancel a post done through the web interface.) Oops. Nevermind, I don't know what I'm talking about. :( (I promise I'm not high -- I just got a little confused.)Kris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Feb 15 2008
jcc7 wrote:== Quote from jcc7 (technocrat7 gmail.com)'s articleSo am I now ... -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango== Quote from John Reimer (terminal.node gmail.com)'s article(I wish I could cancel a post done through the web interface.) Oops. Nevermind, I don't know what I'm talking about. :( (I promise I'm not high -- I just got a little confused.)Kris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Feb 15 2008
Lars Ivar Igesund Wrote:jcc7 wrote:... High or confused?== Quote from jcc7 (technocrat7 gmail.com)'s articleSo am I now ...== Quote from John Reimer (terminal.node gmail.com)'s article(I wish I could cancel a post done through the web interface.) Oops. Nevermind, I don't know what I'm talking about. :( (I promise I'm not high -- I just got a little confused.)Kris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.-- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Feb 15 2008
Lars Ivar Igesund Wrote:jcc7 wrote:... High or confused?== Quote from jcc7 (technocrat7 gmail.com)'s articleSo am I now ...== Quote from John Reimer (terminal.node gmail.com)'s article(I wish I could cancel a post done through the web interface.) Oops. Nevermind, I don't know what I'm talking about. :( (I promise I'm not high -- I just got a little confused.)Kris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.-- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Feb 15 2008
Robert Fraser wrote:Lars Ivar Igesund Wrote:Yes. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tangojcc7 wrote:... High or confused?== Quote from jcc7 (technocrat7 gmail.com)'s articleSo am I now ...== Quote from John Reimer (terminal.node gmail.com)'s article(I wish I could cancel a post done through the web interface.) Oops. Nevermind, I don't know what I'm talking about. :( (I promise I'm not high -- I just got a little confused.)Kris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Feb 16 2008
Eww sorry about the double post 4 hours apart. BlackBerry (cell phpme) + web interface + four different airports == sadness all around, especially with the illustrious back button. Lars Ivar Igesund Wrote:Robert Fraser wrote:Lars Ivar Igesund Wrote:Yes. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tangojcc7 wrote:... High or confused?== Quote from jcc7 (technocrat7 gmail.com)'s articleSo am I now ...== Quote from John Reimer (terminal.node gmail.com)'s article(I wish I could cancel a post done through the web interface.) Oops. Nevermind, I don't know what I'm talking about. :( (I promise I'm not high -- I just got a little confused.)Kris wrote:...And no, my critique was not meant to address anything about the motives behind why the picture was chosen. I'm sure it was innocent enough and was never meant to promote any sort of "cult" following of Tango. :)By the way, the picture that used to be on the Contributors page [1] is still in tango-tangobos-0.99.4-bin-win32-dmd.1.024.zip that I just downloaded today (and probably other .zips as well). I'm not saying that you need to remove it from the archive and change the file in SVN, but if there's an automated routine that builds the archive someone might want to take "TangoTeam.jpg" off of the list (if they haven't already). Just a suggestion for the Tango team from someone who's too lazy to write a ticket... ;) [1] http://www.dsource.org/projects/tango/wiki/ContributorsPlease suggest a replacement? Perhaps we should run a little competition?I have no suggestion at this time, other than to remove it, I suppose.
Feb 16 2008
Leandro Lucarella wrote:I second that. Phobos is closer to C/C++ stdlib, Tango to Java/.NET. I think it would be great to have 2 "compatible" standard libraries. One minimalist for embeded and such (phobos) and one for "big" (or not that big) desktop applications (tango). Of course both should be compatible and it had more sense if the "big" library were a super-set of the "small" one.I'd rather use Tango for embedded systems development; it's more modular. It's very easy to rip out parts of Tango & still have it compiling, while Phobos is comparatively interdependent.
Jan 26 2008
Lars Ivar Igesund Wrote:Jesse Phillips wrote:Maybe I'm misusing the library, but I know I've had to create formatting objects (print!(char)?), even for common cases.It is not related to the size or speed of the code, as Sean was questioning, but in the use. The best comparison I can think of is that it is like going from C to Java. (I'm not saying Tango is like java) The phobos library is very procedural, you you import your module and call your functions. Tango is Object based, import, create object/call object to do something for you. There is a sense of simplicity when you don't use objects. That is frankly one of the reasons I have not moved to Tango yet.I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.
Jan 25 2008
Jason House wrote:Lars Ivar Igesund Wrote:There is a global Layout instance in tango.text.convert.Format that defaults to char - Format.layout ("{0}", "first arg"); or if you already has imported Stdout Stdout.layout (...); -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the TangoJesse Phillips wrote:Maybe I'm misusing the library, but I know I've had to create formatting objects (print!(char)?), even for common cases.It is not related to the size or speed of the code, as Sean was questioning, but in the use. The best comparison I can think of is that it is like going from C to Java. (I'm not saying Tango is like java) The phobos library is very procedural, you you import your module and call your functions. Tango is Object based, import, create object/call object to do something for you. There is a sense of simplicity when you don't use objects. That is frankly one of the reasons I have not moved to Tango yet.I know there are a few places in Tango where an additional line may be needed (and many where you'll need quite a few less), but without exact examples of what people think is a problem, it is hard to make qualified decisions on where to make improvements.
Jan 26 2008
Dan wrote:Jarrod Wrote:Could you explain? Tango was built from the ground up to be completely modular, so I'm not sure I understand the opinion that it's heavyweight. One of the original design parameters was that it be as suitable for kernel development as for application development, and I believe it's accomplished this goal quite well.All I want to see is a standard, be it Phobos with all the cool stuff Tango adds, or a Tango with all the nice things Phobos has. But this isn't going to happen unless one of the dev teams concedes already :|Fair assessment. I think Tango is more open source and takes the load off Walter. It's just simply too heavyweight for me to dare use it; so library developers go to Tango and library users still go to Phobos. : pThat guy who developed the cool Agner Fog optimized mixin algorithm should get access to an AST. I'm sure he could write a kick-ass lib.Once const is settled, I think we'll begin to see more of the 2.0 features Walter promised :-) Sean
Jan 25 2008
Kris Wrote:"Jarrod" <qwerty ytre.wq> wrote in message news:fnfa1t$1o1g$2 digitalmars.com...The thing they're asking for is a single semantically coherent library. Essentially, take tangobos, make it "the" library, and then mix and match redundant parts to get the best of each. I'm a purist, so I dread the day that D's entire library infrastructure is based on classes. You can't tell me that the performance hit from classes is trivial. I see the best case being: 1) Establish a central repository of algorithms, such that anyone can submit algorithms to the repository. - Committed algorithms would need to solve some problem domain, and would not be trivially implemented with one-liners or other items in the library. - Each algorithm could be versioned separately, and require review and approval before being committed. - People ought to be able to sync their library to the standard repository. Perhaps by offering them read-only SVN access. This would let people revert to some old version of the standard library used to compile a program 5 years, 3 months and a day ago.What bugs me overall is not the rift between features on either side, but rather the incompatibility issues. Unless there is a merge, there will be two standards..Jarrod: In what manner does Tangobos not provide the "merge" you describe? It permits you to import, compile and link both phobos and Tango modules without fuss (which is what people had asked for). If you have a different idea of what that "merge" should instead be, would you please clarify?
Jan 26 2008
"Dan" <murpsoft hotmail.com> wrote in message news:fngu5g$2oi3$1 digitalmars.com...Kris Wrote:Many would say that is exactly the role of Tango ;)"Jarrod" <qwerty ytre.wq> wrote in message news:fnfa1t$1o1g$2 digitalmars.com...The thing they're asking for is a single semantically coherent library.What bugs me overall is not the rift between features on either side, but rather the incompatibility issues. Unless there is a merge, there will be two standards..Jarrod: In what manner does Tangobos not provide the "merge" you describe? It permits you to import, compile and link both phobos and Tango modules without fuss (which is what people had asked for). If you have a different idea of what that "merge" should instead be, would you please clarify?Essentially, take tangobos, make it "the" library, and then mix and match redundant parts to get the best of each.That's a nice proposition, though probably very hard to satisfy more than one person in reality?I'm a purist, so I dread the day that D's entire library infrastructure is based on classes. You can't tell me that the performance hit from classes is trivial.I'm somewhat of a purist also, and a strong proponent of efficient code (you'd know that if the conference videos had ever been released). Others involved with Tango are of a similar mind so, given that, permit me to point out some things you (and/or others) may not be aware of: - You said "entire library infrastructure is based on classes", with perhaps a vague implication that's what Tango is about. This would be entirely false information, with the potential to mislead others. Phobos also has a number of classes, apparently in about the same ratio as Tango - When it comes to performance there are always tradeoffs. For the most part (with one or two exceptions) we feel that Tango gets it right, though some disagree on the finer points. For example: there is one specific Tango class that gets some flack, yet in usage it often saves a significant amount of heap activity. One problem is that many people often see "new" and immediately go "aha!", while not bothering to profile anything in real usage. - D has the scope keyword, which places classes on the stack (like a struct) - When D finally gets struct ctors, Tango /may/ change one or two things. I could go on, but the point is an old and boring one - don't judge a book by the cover. Tango is known to be significantly more efficient than phobos in all the ways we've tried in practice, and makes a concerted effort to design in a manner whereby heap-activity is minimized ... and to do so where it actually counts. Honestly, it really wouldn't be worth all the effort otherwise ;)I see the best case being: 1) Establish a central repository of algorithms, such that anyone can submit algorithms to the repository. - Committed algorithms would need to solve some problem domain, and would not be trivially implemented with one-liners or other items in the library. - Each algorithm could be versioned separately, and require review and approval before being committed. - People ought to be able to sync their library to the standard repository. Perhaps by offering them read-only SVN access. This would let people revert to some old version of the standard library used to compile a program 5 years, 3 months and a day ago.What you describe is pretty much how Tango operates, and has done for the last year ;) Cheers;
Jan 26 2008
On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote:"Dan" <murpsoft hotmail.com> wrote in message news:fngu5g$2oi3$1 digitalmars.com...^That.Kris Wrote:"Jarrod" <qwerty ytre.wq> wrote in message news:fnfa1t$1o1g$2 digitalmars.com...The thing they're asking for is a single semantically coherent library.What bugs me overall is not the rift between features on either side, but rather the incompatibility issues. Unless there is a merge, there will be two standards..Jarrod: In what manner does Tangobos not provide the "merge" you describe? It permits you to import, compile and link both phobos and Tango modules without fuss (which is what people had asked for). If you have a different idea of what that "merge" should instead be, would you please clarify?Many would say that is exactly the role of Tango ;)Then why is it not the standard library?And the current API does? As for the rest of your reply, I'm not really trying to debate core differences or implementation details and philosophies. I'm trying to find any possible compromise but from what I've seen you seem to be very strongly against any form of it. Oh, and I read your other reply regarding the creation of Tango, too. (Damn these branching threads.) If Tango was made because Phobos was in tatters in the past, then what is the motivation now? Phobos is once again moving along nicely. Why can't the Tango team help it advance?Essentially, take tangobos, make it "the" library, and then mix and match redundant parts to get the best of each.That's a nice proposition, though probably very hard to satisfy more than one person in reality?
Jan 26 2008
"Jarrod" <qwerty ytre.wq> wrote in message news:fnh54c$2utd$1 digitalmars.com... [snip]from what I've seen you seem to be very strongly against any form of it.That's just not the case. Anyone at the D conference would probably verify that <g>If Tango was made because Phobos was in tatters in the past, then what is the motivation now?Forgive me, but I have to ask if you know much about the Tango library? I mean, how long have you used it for? It's really not my goal to simply contradict your points (which are all good questions, btw), but there is rather a lot of supposition being expressed about Tango today <g>Phobos is once again moving along nicely. Why can't the Tango team help it advance?Given that phobos is currently adopting code from Tango, how did you arrive at this supposition about the Tango team?
Jan 26 2008
On Sat, 26 Jan 2008 22:34:43 -0800, Kris wrote:"Jarrod" <qwerty ytre.wq> wrote in message news:fnh54c$2utd$1 digitalmars.com... [snip]I don't read up on the history of a library, I'm merely an end user. I find it odd you think using the library for longer would change my knowledge of Tango's design goals particularly in relation to Phobos. I just see the situation for how it currently is: Two completely different core libraries. Bad. Pretty simple issue. Apparently, not simple to solve though.from what I've seen you seem to be very strongly against any form of it.That's just not the case. Anyone at the D conference would probably verify that <g>If Tango was made because Phobos was in tatters in the past, then what is the motivation now?Forgive me, but I have to ask if you know much about the Tango library? I mean, how long have you used it for? It's really not my goal to simply contradict your points (which are all good questions, btw), but there is rather a lot of supposition being expressed about Tango today <g>Many people claim that windows originally stole its GUI ideas from mac. Are you saying mac helped develop windows? To answer your question more directly, I arrived at this supposition by simply noting Tango and Phobos are of course still separate, and both are in active development with different teams backing them. As a side note, and probably a closing note since this horse has been thoroughly beaten with no real resolve; I have to agree with others who have posted in this thread. At a glance, the IO routines of Tango give me horrible Java flashbacks. After rubbing my eyes and taking a closer look, I guess they liken a bit more to C++ streams. They don't really have easy to remember names (Conduits. Lolwut?) and I find it's hard to remember (or even understand) their relationship with one another. There also seems to be a lot of different stream types and this makes it more confusing to follow and remember. Overall, the IO Stream (uh I mean Conduit.. or do I?) usage isn't exactly difficult, but I can't say it's a pleasure either.Phobos is once again moving along nicely. Why can't the Tango team help it advance?Given that phobos is currently adopting code from Tango, how did you arrive at this supposition about the Tango team?
Jan 31 2008
Jarrod wrote:On Sat, 26 Jan 2008 22:34:43 -0800, Kris wrote:Not completely different, but Tango's runtime has fixes that necessiated breaking changes. AFAIK, the only compatibility issue still unresolved is the thread API and that really has to be handled in the Phobos end (that's were many of the fixes have been applied)."Jarrod" <qwerty ytre.wq> wrote in message news:fnh54c$2utd$1 digitalmars.com... [snip]I don't read up on the history of a library, I'm merely an end user. I find it odd you think using the library for longer would change my knowledge of Tango's design goals particularly in relation to Phobos. I just see the situation for how it currently is: Two completely different core libraries. Bad.from what I've seen you seem to be very strongly against any form of it.That's just not the case. Anyone at the D conference would probably verify that <g>If Tango was made because Phobos was in tatters in the past, then what is the motivation now?Forgive me, but I have to ask if you know much about the Tango library? I mean, how long have you used it for? It's really not my goal to simply contradict your points (which are all good questions, btw), but there is rather a lot of supposition being expressed about Tango today <g>Pretty simple issue. Apparently, not simple to solve though.Phobos has its own obligations towards its users in terms of backwards compatibility, plus that even if we believe the Tango runtime is of good quality, Walter et al probably wish to confirm this by themselves. Maybe they won't use the runtime wholesale, but just make sure it is compatible. In any case isn't this an instant fix (we're talking a full library), although it seems pretty easy from a birds eye perspective. -- Lars Ivar Igesund blog at http://larsivi.net DSource, #d.tango & #D: larsivi Dancing the Tango
Jan 31 2008
On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote:- You said "entire library infrastructure is based on classes", with perhaps a vague implication that's what Tango is about. This would be entirely false information, with the potential to mislead others. Phobos also has a number of classes, apparently in about the same ratio as TangoI would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based. My choice not to use Tango was made back in its initial release dates. I have fallowed general discussion regarding Tango, but never felt the need/ desire to switch. This has been changing though, there have been times I wish I was coding in Tango because of something it provided. As such I will be happy to be switching over once my book arrives. I would like to also state my opinion on the Standard Library matter (coming from someone that hasn't used Tango). Tango should be standard. I don't think Phobos should die, but in general it looks like Tango has taken the lead. This is not to say that the one with the most features wins, but the one that is getting the most project support. Dsource is being filled with Tango based code; even ports from Phobos code bases. In my view the D language contributors have spoken, Tango is the library to use in development. Maybe, Phobos can be the dmd test bed library. You know for all the rapid changes that happen during alpha/beta.
Jan 27 2008
"Jesse Phillips" <jessekphillips gmail.com> wrote in message news:fnhfnc$g0q$1 digitalmars.com...On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote:Thanks, that's useful to know, and which Tango will take steps to remedy. Do you have any suggestions as to how the perception might be rectified or adjusted?- You said "entire library infrastructure is based on classes", with perhaps a vague implication that's what Tango is about. This would be entirely false information, with the potential to mislead others. Phobos also has a number of classes, apparently in about the same ratio as TangoI would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based. My choicenot to use Tango was made back in its initial release dates. I have fallowed general discussion regarding Tango, but never felt the need/ desire to switch. This has been changing though, there have been times I wish I was coding in Tango because of something it provided. As such I will be happy to be switching over once my book arrives. I would like to also state my opinion on the Standard Library matter (coming from someone that hasn't used Tango). Tango should be standard. I don't think Phobos should die, but in general it looks like Tango has taken the lead. This is not to say that the one with the most features wins, but the one that is getting the most project support. Dsource is being filled with Tango based code; even ports from Phobos code bases. In my view the D language contributors have spoken, Tango is the library to use in development. Maybe, Phobos can be the dmd test bed library. You know for all the rapid changes that happen during alpha/beta.In the past, that was a fairly common view of the phobos role. If it were still to hold true, that would be just as important today as back then. Tango played a companion role in that respect, since it tended to push the compiler to the limits -- new releases would often break when presented with Tango code - Kris
Jan 27 2008
Kris Wrote:"Jesse Phillips" <jessekphillips gmail.com> wrote in message news:fnhfnc$g0q$1 digitalmars.com...Perhaps if a few of us (me) got of our collective asses and looked at the code again since the first release; we might have more appreciation for it and stop spreading FUD. : )On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote: I would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based. My choiceThanks, that's useful to know, and which Tango will take steps to remedy. Do you have any suggestions as to how the perception might be rectified or adjusted?
Jan 27 2008
"Dan" <murpsoft hotmail.com> wrote in message news:fnhhae$pqf$1 digitalmars.com...Kris Wrote:lol :-D Seriously though, it sounds like we need to do a much better job here"Jesse Phillips" <jessekphillips gmail.com> wrote in message news:fnhfnc$g0q$1 digitalmars.com...Perhaps if a few of us (me) got of our collective asses and looked at the code again since the first release; we might have more appreciation for it and stop spreading FUD. : )On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote: I would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based. My choiceThanks, that's useful to know, and which Tango will take steps to remedy. Do you have any suggestions as to how the perception might be rectified or adjusted?
Jan 27 2008
On Sun, 27 Jan 2008 00:51:20 -0800, Kris wrote:"Jesse Phillips" <jessekphillips gmail.com> wrote in message news:fnhfnc$g0q$1 digitalmars.com...I supposed it is related to what Christopher observed. "The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes." One of the first things people/ myself see is IO, and as such probably the formatting second. I see no reason to wrap them in functions. I suppose it would be best to acknowledge this concern somewhere and state its falsehood.I would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based. My choiceThanks, that's useful to know, and which Tango will take steps to remedy. Do you have any suggestions as to how the perception might be rectified or adjusted?
Jan 27 2008
"Jesse Phillips" <jessekphillips gmail.com> wrote in message news:fnim87$2s2d$1 digitalmars.com...On Sun, 27 Jan 2008 00:51:20 -0800, Kris wrote:Thanks. Larsivi recently started a FAQ on the Wiki ... perhaps that could act as a home for this ? - Kris"Jesse Phillips" <jessekphillips gmail.com> wrote in message news:fnhfnc$g0q$1 digitalmars.com...I supposed it is related to what Christopher observed. "The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes." One of the first things people/ myself see is IO, and as such probably the formatting second. I see no reason to wrap them in functions. I suppose it would be best to acknowledge this concern somewhere and state its falsehood.I would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based. My choiceThanks, that's useful to know, and which Tango will take steps to remedy. Do you have any suggestions as to how the perception might be rectified or adjusted?
Jan 27 2008
Jesse Phillips wrote:On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote:Tango has a lot more things that hold data than Phobos. Collections and datetimes, for instance. Some things it keeps as static struct methods, like WallClock.Now, for namespaces. The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes. That's about three classes, total, that I've seen that could be done away with. But the result of replacing the formatting class with free-floating functions would be more verbose code, due to template arguments. Solving this perception is a matter of advertising, not of changing code. That is unfortunate; changing code is much easier and faster.- You said "entire library infrastructure is based on classes", with perhaps a vague implication that's what Tango is about. This would be entirely false information, with the potential to mislead others. Phobos also has a number of classes, apparently in about the same ratio as TangoI would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based.
Jan 27 2008
Christopher Wright wrote:Jesse Phillips wrote:They could be wrapped in functions perhaps, but not done away with entirely. The formatting code lives in a class because it integrates with the i8n features in Tango. However, I think one could argue that there should be a pre-existing, global formatter instance.On Sat, 26 Jan 2008 20:33:23 -0800, Kris wrote:Tango has a lot more things that hold data than Phobos. Collections and datetimes, for instance. Some things it keeps as static struct methods, like WallClock.Now, for namespaces. The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes. That's about three classes, total, that I've seen that could be done away with.- You said "entire library infrastructure is based on classes", with perhaps a vague implication that's what Tango is about. This would be entirely false information, with the potential to mislead others. Phobos also has a number of classes, apparently in about the same ratio as TangoI would have to say that I have had the same perception as Dan here. From a general glance, Tango looks like it is solely class based.But the result of replacing the formatting class with free-floating functions would be more verbose code, due to template arguments.Yup.Solving this perception is a matter of advertising, not of changing code. That is unfortunate; changing code is much easier and faster.I agree. From what people have said, it seems like the greatest obstacle Tango has to overcome is the first-glance or second-hand perception of it. Which is fare more difficult an obstacle than code problems. Sean
Jan 27 2008
Sean Kelly wrote:Christopher Wright wrote:I think it would help if there were a global function-based interface for printing, so I didn't have to keep praying to St. Dout every time I want to get some output. Call me sloppy but I like being able to just use a simple function like "printf/writefln" when writing my crappy code. --bbJesse Phillips wrote:I agree. From what people have said, it seems like the greatest obstacle Tango has to overcome is the first-glance or second-hand perception of it. Which is fare more difficult an obstacle than code problems.
Jan 27 2008
"Sean Kelly" <sean f4.ca> wrote in message news:fnih3r$2vvp$2 digitalmars.com...Christopher Wright wrote:(which there is, for utf8)Tango has a lot more things that hold data than Phobos. Collections and datetimes, for instance. Some things it keeps as static struct methods, like WallClock.Now, for namespaces. The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes. That's about three classes, total, that I've seen that could be done away with.They could be wrapped in functions perhaps, but not done away with entirely. The formatting code lives in a class because it integrates with the i8n features in Tango. However, I think one could argue that there should be a pre-existing, global formatter instance.
Jan 27 2008
Kris wrote:"Sean Kelly" <sean f4.ca> wrote in message news:fnih3r$2vvp$2 digitalmars.com...If even Sean doesn't know that, then there's *really* an advertising problem <g>.Christopher Wright wrote:(which there is, for utf8)Tango has a lot more things that hold data than Phobos. Collections and datetimes, for instance. Some things it keeps as static struct methods, like WallClock.Now, for namespaces. The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes. That's about three classes, total, that I've seen that could be done away with.They could be wrapped in functions perhaps, but not done away with entirely. The formatting code lives in a class because it integrates with the i8n features in Tango. However, I think one could argue that there should be a pre-existing, global formatter instance.
Jan 30 2008
Don Clugston wrote:Kris wrote:It was a mistake on my part. Some of the globals were removed a while back, and I thought that was one of them. Just goes to show how often I've needed to do any string formatting recently. I really should have checked before posting. :-) Sean"Sean Kelly" <sean f4.ca> wrote in message news:fnih3r$2vvp$2 digitalmars.com...If even Sean doesn't know that, then there's *really* an advertising problem <g>.Christopher Wright wrote:(which there is, for utf8)Tango has a lot more things that hold data than Phobos. Collections and datetimes, for instance. Some things it keeps as static struct methods, like WallClock.Now, for namespaces. The only thing I've really noticed, browsing through the source, is formatting and console IO being provided by classes. That's about three classes, total, that I've seen that could be done away with.They could be wrapped in functions perhaps, but not done away with entirely. The formatting code lives in a class because it integrates with the i8n features in Tango. However, I think one could argue that there should be a pre-existing, global formatter instance.
Jan 30 2008
Jesse Phillips wrote:I would like to also state my opinion on the Standard Library matter (coming from someone that hasn't used Tango). Tango should be standard. I don't think Phobos should die, but in general it looks like Tango has taken the lead. This is not to say that the one with the most features wins, but the one that is getting the most project support. Dsource is being filled with Tango based code; even ports from Phobos code bases. In my view the D language contributors have spoken, Tango is the library to use in development.I agree that Tango should be considered standard, or at least put on equal footing with Phobos, such as releasing dmd with both Phobos and Tango. Of course, Tangobos really makes things simple... Releasing dmd with a combo of Tango and Tangobos is probably more consistent. The only problem I see with that is that tango has not been on the D 2.x train. Maybe just 1.x releases should do this? In my ideal world, as changes to the D compiler occur, some motivated Tango maintainer would get advance warning and ensure compatibility prior to official release. I don't know if this simply means branding some Phobos maintainers to have a dual role. Personally, I switched from Phobos to Tango when I stumbled upon GC issues in Phobos (that were well documented for a very long time) that had been fixed in Tango long before I discovered them. At the time, it looked like Tango had better developer support than Phobos. As an additional side-effect, items that I had banged my head against with Phobos were solved rather simply with Tango. These included platform-independent timing control and threading. My only problem with Tango was trying to get line-buffered console/file I/O to work. At the time, the docs in that area did not exist. It wasn't very easy to figure out from API docs.
Jan 27 2008
Jason House wrote:Jesse Phillips wrote:What's been holding us back thus far there has been the indeterminate state of 'const'. However, it seems that the design has been finalized at this point and the syntax appears unlikely to change as well, so it may be time to look into making Tango 2.0-compatible. I'll admit to be dreading dealing with 'const' changing to 'invariant' however. For now, we'll likely avoid the use of 'invariant' completely, simply for maintenance reasons.I would like to also state my opinion on the Standard Library matter (coming from someone that hasn't used Tango). Tango should be standard. I don't think Phobos should die, but in general it looks like Tango has taken the lead. This is not to say that the one with the most features wins, but the one that is getting the most project support. Dsource is being filled with Tango based code; even ports from Phobos code bases. In my view the D language contributors have spoken, Tango is the library to use in development.I agree that Tango should be considered standard, or at least put on equal footing with Phobos, such as releasing dmd with both Phobos and Tango. Of course, Tangobos really makes things simple... Releasing dmd with a combo of Tango and Tangobos is probably more consistent. The only problem I see with that is that tango has not been on the D 2.x train. Maybe just 1.x releases should do this?In my ideal world, as changes to the D compiler occur, some motivated Tango maintainer would get advance warning and ensure compatibility prior to official release. I don't know if this simply means branding some Phobos maintainers to have a dual role.For what it's worth, any necessary changes are typically made to the Tango trunk within 24 hours of a new DMD release. And now that Phobos is in SVN I think we are in even better shape, as we are aware of changes as soon as they are committed to the Phobos project. But I agree that having an idea about the timing of new compiler releases as well as any unannounced changes would improve our responsiveness.Personally, I switched from Phobos to Tango when I stumbled upon GC issues in Phobos (that were well documented for a very long time) that had been fixed in Tango long before I discovered them. At the time, it looked like Tango had better developer support than Phobos. As an additional side-effect, items that I had banged my head against with Phobos were solved rather simply with Tango. These included platform-independent timing control and threading. My only problem with Tango was trying to get line-buffered console/file I/O to work. At the time, the docs in that area did not exist. It wasn't very easy to figure out from API docs.I agree with this. Fortunately, the documentation is improving, aided partially by work done on the book. However, if you or anyone else has suggestions on how it might be further improved or are interested in writing tutorials/examples/whatever, please let us know. This is one area where it's easy for people to contribute without worrying about coding standards, etc. Sean
Jan 27 2008
Sean Kelly wrote:I agree with this. Fortunately, the documentation is improving, aided partially by work done on the book. However, if you or anyone else has suggestions on how it might be further improved or are interested in writing tutorials/examples/whatever, please let us know. This is one area where it's easy for people to contribute without worrying about coding standards, etc.Hi, I've started using Tango recently and I like most of it. What's really confusing for me is all the IO stuff: I'm never really sure of the relationship between Conduit, Stream, ... I thought about one thing that could help: in the API documentation, it would help a lot if there where more links. For example, in tango.sys.Process, Process.stdout returns a PipeConduit. But there is no link on PipeConduit that would bring me to the page describing this class... So, I have to guess where it could be from the API index... Once I found that it's within tango.sys.Pipe, I see "class PipeConduit : tango.io.DeviceConduit.DeviceConduit"... Again, there is no link so I have to return to the API index to find where DeviceConduit is defined (it's easy in this case)... With all this back and forward, it's hard to find what your looking for. It would also help if the API could be searched... The search on the site searches the whole wiki... And it doesn't seem really good: I know there must be a "trim" function somewhere but searching the wiki doesn't show that it's within tango.text.Util... Searching "site:http://dsource.org/projects/tango/docs/current/ trim" with Google does a much bether job... But the best would be an API search a little bit like http://www.gotapi.com/ : you type function names or classes and it shows the result in real time... So those where my suggestions... Guillaume
Jan 27 2008
"Guillaume B." <guillaume.b.spam sympatico.ca> wrote...Hi, I've started using Tango recently and I like most of it. What's really confusing for me is all the IO stuff: I'm never really sure of the relationship between Conduit, Stream, ... I thought about one thing that could help: in the API documentation, it would help a lot if there where more links. For example, in tango.sys.Process, Process.stdout returns a PipeConduit. But there is no link on PipeConduit that would bring me to the page describing this class... So, I have to guess where it could be from the API index... Once I found that it's within tango.sys.Pipe, I see "class PipeConduit : tango.io.DeviceConduit.DeviceConduit"... Again, there is no link so I have to return to the API index to find where DeviceConduit is defined (it's easy in this case)... With all this back and forward, it's hard to find what your looking for.Yeah, this is frustrating, and a step backwards from when dOxygen was used in the past. Documentation production is currently based upon what the DMD compiler can produce, and unfortunately that does not generate cross-module references at this time. We'd quietly hoped that someone in the community would write a cross-linking utility, to operate with DMD doc output, but it hasn't yet happened (that I'm aware of). Obviously, such a utility would benefit D as a whole. But you're right ... something needs to be done about this. Perhaps Walter has some ideas about this also?It would also help if the API could be searched... The search on the site searches the whole wiki... And it doesn't seem really good: I know there must be a "trim" function somewhere but searching the wiki doesn't show that it's within tango.text.Util...Try this page: http://dsource.org/projects/tango/docs/current/ If you have your browser set to search as soon as you start typing, then it is surprisiing efficient to locate a module of interest. With FireFox I type a few letters and hit return. That gives me the doc generated via DMD and CandyDoc (with function links on the left), and if I want to see the current source code I can click on the big blue title at the top of the page. Perhaps the links from that page should open another tab, so the index page remains visible?Searching "site:http://dsource.org/projects/tango/docs/current/ trim" with Google does a much bether job... But the best would be an API search a little bit like http://www.gotapi.com/ : you type function names or classes and it shows the result in real time...That would be great, and we really should at least have a traditional cross-reference generated.So those where my suggestions... GuillaumeThank you!
Jan 27 2008
Kris wrote:Try this page: http://dsource.org/projects/tango/docs/current/ If you have your browser set to search as soon as you start typing, then it is surprisiing efficient to locate a module of interest. With FireFox I type a few letters and hit return. That gives me the doc generated via DMD and CandyDoc (with function links on the left), and if I want to see the current source code I can click on the big blue title at the top of the page. Perhaps the links from that page should open another tab, so the index page remains visible?Hi, That's exactly what I do: type for a module name from that page and open it in a new tab. It gets more complicated when the class I'm looking for isn't obvious from the module name. For example, tango.io.Conduit returns "OutputStream"... without a search (with google), it's hard to tell that it's within tango.io.model.IConduit. Maybe the Tango API could be added to gotapi: it doesn't seem hard to add new API (see http://www.gotapi.com/contribute/ ... The trick is to generate the XML... no idea if it could be easily done with dmd doc... I'm not affiliated in any way with gotapi by the way) but I have no idea if they will accept it. If they do add it, it could help with D and Tango visibility (Phobos could also be added!). There might be other API search site like that too but I know only this one. Guillaume
Jan 27 2008
"Guillaume B." <guillaume.b.spam sympatico.ca> wrote in message news:fninp6$fma$1 digitalmars.com...Kris wrote:I'm not familiar with gotoapi, but it sounds like a great tool! Now I need to ask Robert Fraser (and co) if Descent could perhaps generate the appropriate XML doc for this ... Thanks again ... this is a great suggestion.Try this page: http://dsource.org/projects/tango/docs/current/ If you have your browser set to search as soon as you start typing, then it is surprisiing efficient to locate a module of interest. With FireFox I type a few letters and hit return. That gives me the doc generated via DMD and CandyDoc (with function links on the left), and if I want to see the current source code I can click on the big blue title at the top of the page. Perhaps the links from that page should open another tab, so the index page remains visible?Hi, That's exactly what I do: type for a module name from that page and open it in a new tab. It gets more complicated when the class I'm looking for isn't obvious from the module name. For example, tango.io.Conduit returns "OutputStream"... without a search (with google), it's hard to tell that it's within tango.io.model.IConduit. Maybe the Tango API could be added to gotapi: it doesn't seem hard to add new API (see http://www.gotapi.com/contribute/ ... The trick is to generate the XML... no idea if it could be easily done with dmd doc... I'm not affiliated in any way with gotapi by the way) but I have no idea if they will accept it. If they do add it, it could help with D and Tango visibility (Phobos could also be added!). There might be other API search site like that too but I know only this one. Guillaume
Jan 27 2008
Sean Kelly Wrote:I agree with this. Fortunately, the documentation is improving, aided partially by work done on the book. However, if you or anyone else has suggestions on how it might be further improved or are interested in writing tutorials/examples/whatever, please let us know. This is one area where it's easy for people to contribute without worrying about coding standards, etc.It'd be helpful for both contributors and potential users of tango if there was comprehensive list of short-comings in the docs/examples, and some kind of help-wanted page that listed needed contributions and anticipated difficulty level. I'll also admit to not having read tango docs in detail for a long time. I mostly use the API reference to find stuff. Having links in the API docs to chapters in the howto would be nice
Jan 28 2008
Jesse Phillips wrote:Maybe, Phobos can be the dmd test bed library. You know for all the rapid changes that happen during alpha/beta.This has always been the true purpose of Phobos, in my opinion. It certainly fits the development process. Sean
Jan 27 2008
Dan wrote:- Committed algorithms would need to solve some problem domain, and would not be trivially implemented with one-liners or other items in the library.There's some value in having a standard way of solving something, even trivial, if the problem appears often enough. Things like some array operations, indexof for instance. And partitioning an array: a foreach loop is the best you'll get, and efficient, but Tango still has a partition function. The criteria should be: Does it save people time? Does it make their code clearer? Does it reduce the number of bugs in client code? Maybe a few more things.
Jan 27 2008