www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Personal thoughts about D2 release, D, the Universe and everything

reply digited <digited yandex.ru> writes:
I understand clearly that Walter follows his interests prior to any DIPs,
complains, community-driven projects and epic NG topics with all sorts of
arguments inside, so what follows is my personal opinion and random complains,
maybe it will be of interest to anyone. Maybe even to Walter.

Starting D3 after D2 will be an epic fail, and no features will save D3 and D
at all.

What fame and adoption could D have now, if after D1 release instead of moar
features, W worked on rewriting D on D and IDE (small) on D, using a GUI
toolkit like DWT?

D is for practice. So those, who practice really, write DIPs, complains, do
community-driven projects and epic NG topics with all sorts of arguments
inside, because when you start really using D, the sole compiler that passes
some primitive tests is never enough. D even now is not suitable for real
practice, even on windows. Incremental builds with template code, emitted
randomly? Templates and OPTLINK? Many more?

If W after D1 release did D on D with IDE (small), using a GUI toolkit like
DWT, he experienced it all and really could say that D is suitable for
million-loc projects and is born from practice.

Just don't say that cross-compilation with GCC doesn't exist or D can't use C
backends with C interface like GCC to port it to other platforms later.

One man can't do it. Even a colossus, even in 10 years. There are another
colossuses in community, practicing D, that is mentioned to blow C++ away, with
what DMD is written, so noone who likes D wants to dive into a C++ mess DMD
source is. And if it was written in D?

If the language author separates himself from supporting the main
community-driven projects (like std lib, package/install manager, GUIs and
editors) and break those every crappy random "release", every newcomer sees the
mess first of all, and the devs find supporting their projects to be a
never-ending fixing. The language is its main parts, too, and the usage of the
language starts from installing a compiler, finding an appropriate editor,
setting up an std lib and trying to do some GUI. If every step of this chain is
a pain in ass for even an experienced user, the features don't matter and the
reaction to a programming language is bad. Creating a programming language for
practice, the real one and against one that has exellent toolsets, is in
providing a toolset for this practice, too (and first that a newcomer tries),
so the author should not separate himself from this. Doing it all alone is
impossible, but supporting and taking part is and should be done.

In D even today, *nobody* from language devs really cares about real practice
and real adoption and *nobody* really practice it: even a small game and a
specialized doctoral are very small and very different from the mainstream real
usage.


//----------------------------------


D2 release is somewhere near, and the talk from W is "to improve the language
(D3 with AST macross and other coolies) or to die". It's not alive now, really,
it misses a stable and suitable toolset. D is now suitable for a small amount
of tasks and requres a lot from one who wants to try it out. Start using it to
see it yourself.

Dropping everything as it is now (crippled, unfinished or simply non-existing)
and moving to another bright D3 future will square the entire mess (^2).
Nov 06 2009
next sibling parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
digited wrote:
 I understand clearly that Walter follows his interests prior to any DIPs,
complains, community-driven projects and epic NG topics with all sorts of
arguments inside, so what follows is my personal opinion and random complains,
maybe it will be of interest to anyone. Maybe even to Walter.
 
 Starting D3 after D2 will be an epic fail, and no features will save D3 and D
at all.

s/will be/would be/ Andrei
Nov 06 2009
prev sibling next sibling parent Eldar Insafutdinov <e.insafutdinov gmail.com> writes:
digited Wrote:

 I understand clearly that Walter follows his interests prior to any DIPs,
complains, community-driven projects and epic NG topics with all sorts of
arguments inside, so what follows is my personal opinion and random complains,
maybe it will be of interest to anyone. Maybe even to Walter.
 
 Starting D3 after D2 will be an epic fail, and no features will save D3 and D
at all.
 
 What fame and adoption could D have now, if after D1 release instead of moar
features, W worked on rewriting D on D and IDE (small) on D, using a GUI
toolkit like DWT?
 
 D is for practice. So those, who practice really, write DIPs, complains, do
community-driven projects and epic NG topics with all sorts of arguments
inside, because when you start really using D, the sole compiler that passes
some primitive tests is never enough. D even now is not suitable for real
practice, even on windows. Incremental builds with template code, emitted
randomly? Templates and OPTLINK? Many more?
 
 If W after D1 release did D on D with IDE (small), using a GUI toolkit like
DWT, he experienced it all and really could say that D is suitable for
million-loc projects and is born from practice.
 
 Just don't say that cross-compilation with GCC doesn't exist or D can't use C
backends with C interface like GCC to port it to other platforms later.
 
 One man can't do it. Even a colossus, even in 10 years. There are another
colossuses in community, practicing D, that is mentioned to blow C++ away, with
what DMD is written, so noone who likes D wants to dive into a C++ mess DMD
source is. And if it was written in D?
 
 If the language author separates himself from supporting the main
community-driven projects (like std lib, package/install manager, GUIs and
editors) and break those every crappy random "release", every newcomer sees the
mess first of all, and the devs find supporting their projects to be a
never-ending fixing. The language is its main parts, too, and the usage of the
language starts from installing a compiler, finding an appropriate editor,
setting up an std lib and trying to do some GUI. If every step of this chain is
a pain in ass for even an experienced user, the features don't matter and the
reaction to a programming language is bad. Creating a programming language for
practice, the real one and against one that has exellent toolsets, is in
providing a toolset for this practice, too (and first that a newcomer tries),
so the author should not separate himself from this. Doing it all alone is
impossible, but supporting and taking part is and should be done.
 
 In D even today, *nobody* from language devs really cares about real practice
and real adoption and *nobody* really practice it: even a small game and a
specialized doctoral are very small and very different from the mainstream real
usage.
 
 
 //----------------------------------
 
 
 D2 release is somewhere near, and the talk from W is "to improve the language
(D3 with AST macross and other coolies) or to die". It's not alive now, really,
it misses a stable and suitable toolset. D is now suitable for a small amount
of tasks and requres a lot from one who wants to try it out. Start using it to
see it yourself.
 
 Dropping everything as it is now (crippled, unfinished or simply non-existing)
and moving to another bright D3 future will square the entire mess (^2).

I could argue with some points of this post, but it is clear that D should slow down a little bit. I would like to see something like D 2.1, D 2.2, etc, so that they introduce language changes, but not in a drastic manner. Another moving target will negatively impact the user experience, especially it will confuse newcomers. And yeah, the idea to rewrite dmd in D is just awesome! It will take some time, but it will ensure that dmd is a good stress test for itself.
Nov 06 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
I suggest that you focus in on one problem area that particularly 
interests you, and help out! For example, pick something with 
installation issues, and figure out how to resolve them.
Nov 06 2009
parent reply hasenj <hasan.aljudy gmail.com> writes:
Walter Bright wrote:
 I suggest that you focus in on one problem area that particularly 
 interests you, and help out! For example, pick something with 
 installation issues, and figure out how to resolve them.

Walter, I said this on the reddit thread the other day; don't know if you got it. You can't treat your role in D as just "the dude who writes the compiler". I don't want to repeat myself, see here: http://www.reddit.com/r/programming/comments/9zqj0/the_state_of_d_programming_is_this_situation/c0f80gq?context=4 Yes, D must rely on the community to succeed, but here's the thing: Let's suppose that I'm a volunteer, I want to work on, say, an IDE. BUT .. When I see that Walter is moving his attention to D(X+1) and forgetting about D(X), I feel like, if the guy behind the language doesn't care, why should *I* care? Look at dsource, why is everything there almost dead? You're treating D like an experiment: Let's try out these really cool new ideas, and who cares if the language doesn't get adopted?
Nov 06 2009
next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from hasenj (hasan.aljudy gmail.com)'s article
 Look at dsource, why is everything there almost dead?

Probably because most projects on most open-source hosting sites, like Sourceforge, never really get off the ground. The problem with dsource is that there's no quick, easy way to tell what projects are alive and what ones aren't. What we really need is for dsource projects to be organized by last commit. Stuff that hasn't had a commit in over, say, 2 months, gets pushed toward the bottom.
Nov 06 2009
parent Derek Parnell <derek psych.ward> writes:
On Sat, 7 Nov 2009 03:31:02 +0000 (UTC), dsimcha wrote:

 == Quote from hasenj (hasan.aljudy gmail.com)'s article
 Look at dsource, why is everything there almost dead?

Probably because most projects on most open-source hosting sites, like Sourceforge, never really get off the ground. The problem with dsource is that there's no quick, easy way to tell what projects are alive and what ones aren't. What we really need is for dsource projects to be organized by last commit. Stuff that hasn't had a commit in over, say, 2 months, gets pushed toward the bottom.

Why are commits made to a projects? I would offer that most commits fall into one of four categories... 1) Bug fixes to (correctly) implement existing design goals 2) New code to implement existing design goals 3) New code to implement updated design goals. 4) Refactoring that is irrelevant to design goals. What is an "alive" project? Again I suggest it is either one that is having significant commits (reasons 1 thru 3), or one that is feature complete and stable. To me, this means that projects that are not feature complete and are having no significant commits are those that might be worthy of relegation. Your suggestions implies that only active incomplete projects (or ones that are constantly being beautified) are worthwhile. Projects that are complete, or at least stable in terms of bug fixing, would drop off the list even though they maybe still a worthwhile product. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell
Nov 07 2009
prev sibling next sibling parent hurd <315730878 qq.com> writes:
hasenj Š“µ½:

 Walter Bright wrote:
 I suggest that you focus in on one problem area that particularly 
 interests you, and help out! For example, pick something with 
 installation issues, and figure out how to resolve them.

Walter, I said this on the reddit thread the other day; don't know if you got it. You can't treat your role in D as just "the dude who writes the compiler". I don't want to repeat myself, see here: http://www.reddit.com/r/programming/comments/9zqj0/the_state_of_d_programming_is_this_situation/c0f80gq?context=4 Yes, D must rely on the community to succeed, but here's the thing: Let's suppose that I'm a volunteer, I want to work on, say, an IDE. BUT .. When I see that Walter is moving his attention to D(X+1) and forgetting about D(X), I feel like, if the guy behind the language doesn't care, why should *I* care? Look at dsource, why is everything there almost dead? You're treating D like an experiment: Let's try out these really cool new ideas, and who cares if the language doesn't get adopted?

I think you said is very reasonable
Nov 06 2009
prev sibling parent reply Walter Bright <newshound1 digitalmars.com> writes:
hasenj wrote:
 When I see that Walter is moving his attention to D(X+1) and forgetting 
 about D(X), I feel like, if the guy behind the language doesn't care, 
 why should *I* care?

Take a look at the D1 changelog. D1 has gotten plenty of regular attention - even many new features. http://www.digitalmars.com/d/1.0/changelog.html If you want to help out to improve things, you're more than welcome to start contributing. Pick something that interests you. D is pretty much all an effort by volunteers working on it.
Nov 06 2009
parent dolive <dolive89 sina.com> writes:
Walter Bright Š“µ½:

 hasenj wrote:
 When I see that Walter is moving his attention to D(X+1) and forgetting 
 about D(X), I feel like, if the guy behind the language doesn't care, 
 why should *I* care?

Take a look at the D1 changelog. D1 has gotten plenty of regular attention - even many new features. http://www.digitalmars.com/d/1.0/changelog.html If you want to help out to improve things, you're more than welcome to start contributing. Pick something that interests you. D is pretty much all an effort by volunteers working on it.

I very much hope that d3 can be used d2 to implement£¬ so can really improve the d2, and to achieve a better d3 dolive
Nov 06 2009