FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

What it will take for D to succeed

 
Post new topic   Reply to topic     Forum Index -> General
View previous topic :: View next topic  
Author Message
qbert



Joined: 30 Mar 2004
Posts: 209
Location: Dallas, Texas

PostPosted: Thu Oct 20, 2005 1:26 pm    Post subject: What it will take for D to succeed Reply with quote

Ill just jump in with a list , summary at bottom.

Arrow World Class Documentation

I think one if the major reasons PHP has enjoyed huge success is its incredible documentation. As a friend put it , 'world class documentation for a mediocre language'.

http://www.quit-clan.de/docwiki/view.php?pageid=1 has the kind of documentation I think will be needed for D to make it. Hopefully we can convince the author to open the PHP code to the public.

Arrow World Class Standard Library

I think the 'compiled' langauges have a tendency to push functionality into libraries written by users , the old school way , which leads to not only harder to maintain code ( Because invariably several versions of a library exist ) , but also a longer time to pick up a language ( having to hunt for the library ) , and a generaly more confusing experience with the language.

I think D's greatest chance for success in this area is Ares -- I think phobos is just to mixed , written by several different people , in several different styles ( functional / OO / .. strangely no templates ) , and worst of all in different stages of D development.

I personally am hoping Ares will take a sort of micro-kernel ( I think thats what its called ) route, with the core components, and then higher level specialized libraries that will sit on top of it, for example 'Ares embedded' - a super trimmed lib, 'Ares system' - for systems development , 'Ares web' - web development, 'Ares desktop' - desktop development.

I think Sean is the only person working on Ares at the moment - I dont know what could be done to spur development on Ares, ideas ?

Arrow A World Class Application

Perhaps this is the best place to start to kick D's ass into getting into shape. As beautifully written as Mango is - I dont see the linux community giving up Apache. It certainly has tons to offer though.

There's lots of game stuff written in D, i know nothing about game programming ( had no idea it was so popular ) , but this definetly has potential.

I personally think DSP , if it worked with apache, would be the WC App that would slingshot D into stardom, but I think pragma has sidetracked to working on Dynamic libraries in D , which is also much needed. Sigh, everything takes so much time ...

Another idea is a mail server ( MTA ). I had the displeasure of moving of our old systems from sendmail ( whose configuration files are so UNBELIEVABLY cryptic as to convince you they were written by space monkeys ) , to qmail ( a great program, but unfortunately the original author is no longer maintaing it , and its license is such that changes cant be made to the original code and released, so updates must be made into patches -- which leads to trying to apply one patch on top of another , on top of another, and eventually they all conflict Evil or Very Mad , gets to be a nightmare, i blame the linux community and their crazy license's ) . Ive never used postfix so I cant comment, but I still think a 'next-generation' mail server written in D would both fill a need in the GNU community, and provide much needed exposure for D.


Question And one ring to bind them

Im not sure how to phrase this one. I don't want to call this an IDE, I'm thinking more along the lines of how RoR operates. Derek's Build will definetly be a tool in there, in fact I haven't used the most current version, but if it includes ddoc support etc, I think this represents what im thinking of. A tool or set of tools , easy to use , well documented, that simplifies all the complications of compiling / linking / creating documentation , in one pass.



Summary

I've been following D for a couple years now, its definetly made progress, and truthfully I think the language and compiler are solid. The only thing holding the compiler back from being 1.0 for me is its lack of a debugger. But even when that is added , I don't think D's just going to magically take off.

Its going to take a big user effort ( I think Walter being the owner and creator of D has turned off any potential investors ) -- and I think it needs to happen in 2006, or D's going to fade into obscurity. I think its safe to say the people that use D love it, but in the words of Bonnie Rait, "sometimes love just ain't enough".

Please vocalize any thoughts you have on the future of D / what we need to do to ensure its success ... etc , etc!

Charlie


Last edited by qbert on Fri Oct 21, 2005 9:53 am; edited 1 time in total
Back to top
View user's profile Send private message MSN Messenger
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Thu Oct 20, 2005 2:33 pm    Post subject: Re: What it will take for D to succeed Reply with quote

qbert wrote:
I personally am hoping Ares will take a sort of micro-kernel ( I think thats what its called ) route, with the core components, and then higher level specialized libraries that will sit on top of it, for example 'Ares embedded' - a super trimmed lib, 'Ares system' - for systems development , 'Ares web' - web development, 'Ares desktop' - desktop development.

I think Sean is the only person working on Ares at the moment - I dont know what could be done to spur development on Ares, ideas ?

Thanks Smile I'm not sure how to generate more participation in the Ares project--most D regulars have their own projects to attend to and the others want to use Ares more than contribute to it. That said, I'm beginning to feel fairly good about what's in Ares so far, so I'm going to stop refining existing features and move forward. And hopefully, once Ares has a bit more to it, people will be more inclined to use it. Perhaps it would help to create a compatibility list? I know Kris had Mango running on Ares not too long ago. Whether or not Mango (or some portion of it) becomes 'official' in any sense, it might help if users knew that Mango ran on Ares right out of the box--and the same goes for any other application.
Quote:
Arrow A World Class Application

Perhaps this is the best place to start to kick D's ass into getting into shape. As beautifully written as Mango is - I dont see the linux community giving up Apache. It certainly has tons to offer though.

Personally, I think the biggest thing holding D back at the moment is the fact that it's still in beta. It's probably quite common for folks to check it out, realize that it's unfinished, and decide not to invest their time into a product that may change or disappear six months later. The other major stumbling block is the utter lack of solid debugging tools for the language. I don't care if I have an IDE, but printf debugging stinks (as an aside--if someone has a version of WinDbg that can actually inspect variables and such with D, please put it online somewhere).

Quote:
I've been following D for a couple years now, its definetly made progress, and truthfully I think the language and compiler are solid. The only thing holding the compiler back from being 1.0 for me is its lack of a debugger. But even when that is added , I don't think D's just going to magically take off.

Its going to take a big user effort ( I think Walter being the owner and creator of D has turned off any potential investors ) -- and I think it needs to happen in 2006, or D's going to fade into obscurity. I think its safe to say the people that use D love it, but in the words of Bonnie Rait, "sometimes love just ain't enough".

I agree that a debugger won't be enough, but it will make large projects easier to accomplish. Beyond that, while I think Walter is incredibly knowledgeable and talented, I'm not entirely happy with the idea that one person is responsible for the future of this language. When Bjarne Stroustrup was developing C++ he basically went around to important figures in the C community and asked for their input on the design of his new language. By comparison, Walter has much more of a "take it or leave it" approach. While this is reasonable for now, it leaves me to wonder whether D will ever be standardized and what might happen if it is.

Frankly, I don't have any answers for this problem. I think D does a terrific job of addressing many of the problems I have with C++, but there are other aspects of the language that just don't make sense to me. And now that C++/CLI is an official standard, D has a strong competitor in many respects. I agree that if D is going to make its mark it needs to do so soon, but the best I can personally do is try to develop a standard library that "feels" like a standard library and hope that contribution helps.
Back to top
View user's profile Send private message
lgoss007



Joined: 13 Oct 2005
Posts: 20

PostPosted: Fri Oct 21, 2005 7:54 am    Post subject: Reply with quote

Quote:
I think Sean is the only person working on Ares at the moment - I dont know what could be done to spur development on Ares, ideas ?

Structure and unified or "official" backing. Currently I've found everyone just sort of makes their own project (along with their own libraries). A central "official" library system that people could submit libraries to, then managers/maintainers could review and include the submission into the main library or put in a "test" area would be a big help. It should be easy to see which libraries have been submitted, need testing, or are needed, and some sort of structure or layout of the library would go a long way. The mono project has been doing this nicely:
http://mono.ximian.com/class-status/mono-HEAD-vs-fx-1-1/class-status-System.Drawing.html

Right now a lot of C libraries are being converted, but I think D needs sort of a "front end" library that is more unified (like .NET and Java) that at first just calls C backends. Then later when the language grows the backends can be written in D. If I have to use ugly and convoluted C function syntax:

Code:
strcpy(string1, string2)

Instead of a simpler:
Code:
String.Copy(string1, string2)

Then I might as well just use C. Ok, so strcpy may not be that hard. But if you're not a seasoned C/C++ programmer it will take you a while to get used to, and using something like "wcsrtombs" is not immediately obvious. Then you have all the prefix library stuff:
Code:
gtk_accel_group_connect(...)

Mono again handles this nicely:
http://go-mono.com/docs/index.aspx?link=root:/classlib-gnome

But D doesn't have the same backing in the open source community that Mono has (of course mono has novell). But to me a systems language with a nicely structured and clean library would be way better than a platform language. I'm pretty sure the fact that D is controlled by one person hurts it a little, but I also think that a standard ruled by some community would be worse (like C++, it moves so slow... though I think Bjarne did an outstanding job with the language).

Quote:
Beyond that, while I think Walter is incredibly knowledgeable and talented, I'm not entirely happy with the idea that one person is responsible for the future of this language. When Bjarne Stroustrup was developing C++ he basically went around to important figures in the C community and asked for their input on the design of his new language. By comparison, Walter has much more of a "take it or leave it" approach. While this is reasonable for now, it leaves me to wonder whether D will ever be standardized and what might happen if it is.

I agree. Though I also agree with some of the "take it or leave it" approach, as many people seem to ask for new features just to support their old way of doing things. Sometimes (maybe even most of the time), the new way is better and people just need to adapt to change.
Quote:
Derek's Build will definetly be a tool in there...

The build tool rocks. Makefiles are a pain.

Really all I need is the library and the "ring to bind them all". I can work without a debugger and documentation (as long as the source is documented well enough), I'd like to help with Ares, but I'd want it to be taking the direction of a clean and well thought out library and not a mess of organized C functions. But it seems like it's still being organized (and my svn client was broken ). Sad
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
sean



Joined: 24 Jun 2004
Posts: 609
Location: Bay Area, CA

PostPosted: Fri Oct 21, 2005 9:27 am    Post subject: Reply with quote

lgoss007 wrote:
Quote:
I think Sean is the only person working on Ares at the moment - I dont know what could be done to spur development on Ares, ideas ?

Structure and unified or "official" backing. Currently I've found everyone just sort of makes their own project (along with their own libraries). A central "official" library system that people could submit libraries to, then managers/maintainers could review and include the submission into the main library or put in a "test" area would be a big help. It should be easy to see which libraries have been submitted, need testing, or are needed, and some sort of structure or layout of the library would go a long way.

I'll have to look at how Mono does it. I outlined a rough submission and evaluation method recently in an attempt to add some structure, but the method doesn't matter to me so long as it works.

Quote:
Really all I need is the library and the "ring to bind them all". I can work without a debugger and documentation (as long as the source is documented well enough), I'd like to help with Ares, but I'd want it to be taking the direction of a clean and well thought out library and not a mess of organized C functions. But it seems like it's still being organized (and my svn client was broken ). Sad

The C headers are really just there because I think they may be useful for designing library components. I decided to organize them properly because I don't like the somewhat haphazard way this has been done in Phobos--if the headers are there I want them complete and to have everything in the right place Smile What I think I'll do from now on with additions to Ares is send them through the standard submission process. First on the list will be a rewrite of the GC interface, so expect that before too terribly long. I also want to add thread pooling and TLS functionality to std.thread in the near future.
Back to top
View user's profile Send private message
pragma



Joined: 28 May 2004
Posts: 607
Location: Washington, DC

PostPosted: Fri Oct 21, 2005 12:13 pm    Post subject: Re: What it will take for D to succeed Reply with quote

Agreed on all points. I'm flattered that you think DSP has a shot of lifting the veil of obscurity over D, and you're right about getting sidetracked on DDL: everything is just so essential right now, and there's only so many hours in the day.

But I honestly think that PHP's documentation model has really done most of the job here. After all, it doesn't matter how good any project, or D itself is, unless we can advertise that quality. Devs look at documentation, project managers and analysts look at homepages --> it all has to look good I'm afraid.

Also, looking at PHP's "design", it really fails criticism on a lot of points, except that its quite comprehensive. The only language platform I can think of that covers quite as much ground out of the box is .NET. Again, documentation has been critical in demonstrating this to the public.

Anyway, I've given this area a lot of thought. You come bearing problems, so I feel obliged to provide some solutions. Wink

I've done some experiments with XML aggregation in order to make a blogger/portal-style webs that run w/o need of a database. This way, one can maintain online documentation, as generated by ddoc, as XML that is incorporated into the web-based presentation. Just upload your updated ddoc-generated files (via a custom ddoc script) and be done with it.

Such a site-engine would simply aggregate the changes in with the rest of content: user contributions, blog entries, etc, etc... It would be the ideal way to provide a project doc site (ala PHP w/comments) that keeps up-to-date with generated documentation.

I hope to publish a proof for this in another few weeks. Right now, the aggregator (no backend yet) is a minimal amount of php with the real work done inside XSL templates. I've already worked out ways to handle indexing, sorting, sub-sites, multiple templates and multiple users, I just have to implement them. I'm also learning the finer points of XSL while I do this, which has slowed me down considerably.

A prettier, more informed home on the web for D would be nice.

I think adding a more public-facing community site with news, editorials and interviews might actually help elevate D's presence some. At the very least it would be nice to get some more depth on issues, opinions, wiki topics and projects than comes across in the NG or the forums. Throw in interviews and project reports and you'd really have something; just try to tell "The D Story" as it happens. Bonus points goes to anyone providing a better web interface to the newsgroup (NNTP isn't super complicated, and the DNG doesn't require a login!). Double-bonus points for a solution to propogate forum activity here to such a site.

Overall, it wouldn't have to be aggressively updated... maybe every other Monday or so (just advertise it on the site so people know where to browse during lunch). It could even even be hosted here on dsource.org (although I'm no authority on on that) rather than something apart, but it wouldn't have to be.

In the end, it would help close the loop and D would have it's own "OSDN" style setup.
_________________
-- !Eric.t.Anderton at gmail
Back to top
View user's profile Send private message Yahoo Messenger
clayasaurus



Joined: 21 May 2004
Posts: 857

PostPosted: Sun Dec 04, 2005 2:21 pm    Post subject: Reply with quote

Here are three more things that need to happen in order for D to be widely accepted.

Arrow A solid 1.0 compiler. Nobody is going to risk a major project on a beta compiler.

Arrow Acceptance of GDC within the open source community. If D was bundled with GCC then all alternative systems that use GCC will have no good reason not to develop in D.

Arrow A .NET compiler for D and acceptance of D#/D.NET within the Microsoft developer community.

I know the above are a work in progess, but no one is going to take D seriously if they are not complete.

Additionally, we won't have a World Class Library or a World Class Application until more people start using D, simply because it takes a handful of people and a lot of time to develop something worthwhile.
Back to top
View user's profile Send private message AIM Address
Display posts from previous:   
Post new topic   Reply to topic     Forum Index -> General All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group