View mode: basic / threaded / horizontal-split · Log in · Help
February 03, 2012
Opinion of February 2012
Here are some things I'm unhappy with currently.

1. Documentation

I find certain things, of which I will start writing down and writing 
patches for, in the documentation that are unsatisfactory. Two in 
particular is the current situation with memory management and CTFE. 
"delete" is planned for deprecation and alternative methods for custom 
de/allocators are already in place, yet most people don't even know 
about them or how to use them. I see talk on IRC about things that 
completely confuse me as to the state of things and I can generally find 
no obvious or reliable source of information. It's completely frustrating.

Documentation is much more important than feature implementation.

2. Milestones and Organization

Despite the initiative Andrei took to get the community organized and 
most people completely shutting his attitude down, D is still left in a 
a rather unorganized state. I don't mind DMD using bugzilla but 
extensive use of the simple milestone feature should be made and posted 
somewhere on the site to be made clearly visible as a semi-roadmap to 
the next release. Currently, there's no milestone for 2.058 (although 
there is one for 2.059 which makes no sense) so it seems that the 2.058 
release will be, once again, completely random. At this point, I'd say 
the state of organization is still pathetic and/or scary.

3. FAQ

I think there was a discussion somewhere (of which I can't find now 
through Thunderbird search) but the FAQ is important. When people wonder 
about a feature of D, the first thing they should do is check the FAQ to 
find the answer.

I think that each time a solution is provided that might or might not be 
obvious, the reasoning behind that solution should be posted on the FAQ. 
Nothing should be left with abstract reasoning (outside of perhaps 
philisophy-based reasoning).

The FAQ is incomplete.

4. Microsoft

Windows. I cannot stand Windows. If Microsoft suddenly went bankrupt, 
Windows was never updated, and people had to move to MacOS or Linux, I 
would be the happiest man alive. Unfortunately, this will seemingly 
never be the case and it stands that Microsoft has the highest share of 
all the OS users. Thus, it should be given higher priority to attract 
more users. When people complain about D not having large Windows 
support (or COFF support in particular and the shitty optlink), it kills 
me a little on the inside.

5. Naming

This is probably a lost cause but I've recently seen various complaints 
about the name "D". It's not distinct nor is D old enough to be known 
like C or C++ is. I remember a comment about the name "Mars" which I 
think would have been much more distinct and clearcut, and would have 
caused less issues.

It also drives me insane that dmd for D2 is not named dmd2. There's no 
reason to not have it be dmd2 and you just stupidly caused 
incompatibility with the D1 executable. Not that it matters anymore but 
the fact that that's what happened looks incredibly dumb. Software like 
DVM popped up and while I appreciate such software, I don't think such 
software should be needed in the first place. Although, I do realize DVM 
has other uses.

The .c extensions on C++ files... need I say more? That itself is a joke 
and seems to have been ignored when complaints about it came up. I've 
just recently been told that DMD was mostly implemented in C which is 
false. This situation is needlessly frustrating.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

I'm not really affected by the in-language subtleties so much nor do 
they bother me. I'll post a bug if I find one, it will eventually get 
fixed, and I continue to use D. However, I can't help but complain about 
things when they're going unnoticed or unattended. I'd like to place my 
own personal emphasis on things I think need more thought put into them 
each month. Most of these complaints should have greater reasoning 
behind them which I will state. However, please comment on where I'm 
wrong or your own opinion against mine.

I like the D language. Not so much the projects that surround D.
February 04, 2012
Re: Opinion of February 2012
Zachary Lund:

> The .c extensions on C++ files... need I say more? That itself is a joke 
> and seems to have been ignored when complaints about it came up. I've 
> just recently been told that DMD was mostly implemented in C which is 
> false. This situation is needlessly frustrating.

Aren't less than 10 minutes enough to fix this simple problem?
I don't know why Walter likes to use ".c" as suffix for those files, I don't remember his answers on this topic, I have never appreciated this naming decision.

Bye,
bearophile
February 04, 2012
Re: Opinion of February 2012
On Fri, Feb 03, 2012 at 05:12:08PM -0600, Zachary Lund wrote:
> Here are some things I'm unhappy with currently.
> 
> 1. Documentation
> 
> I find certain things, of which I will start writing down and
> writing patches for, in the documentation that are unsatisfactory.
> Two in particular is the current situation with memory management
> and CTFE. "delete" is planned for deprecation and alternative
> methods for custom de/allocators are already in place, yet most
> people don't even know about them or how to use them. I see talk on
> IRC about things that completely confuse me as to the state of
> things and I can generally find no obvious or reliable source of
> information. It's completely frustrating.
> 
> Documentation is much more important than feature implementation.

I agree with this. Based on current documentation, I didn't even know
the GC can be replaced at compile-time until someone mentioned it. And
up to now I still don't know how exactly to do this, since I couldn't
find any docs for it.

Some of the docs on the website are also deficient, for example std.uni
(which I already filed a bug for), due to missing doc comments in the
code.

I'd like to help. My D coding skills are still not up to snuff for
fixing the hard stuff, since I only just started learning D. But doc
comments I can do. However, there's no documentation that I can find
that describes the procedure for sending contributions. Such as where to
upload patches, what format they should be in, how to get diffs in the
right format, etc.. All this should be documented so that willing
contributors can jump in immediately, instead of being put off by having
to jump through unnecessary hoops (like hunting for possibly
non-existent documentation on how to contribute).

Another big missing with the documentation is a timestamp. The problem
is that some of the docs are out-of-date, but it looks identical to the
up-to-date pages, so it's very confusing for someone who doesn't already
know the answer. If you try something the docs say but it doesn't work,
then instead of pulling your hair out, you can look at the timestamp
that says "last updated 2005" and know that perhaps the info is out of
date and it isn't some bug in your code.

Timestamps will also tell potential contributors which pages to work on,
if they notice the info is wrong and/outdated.

Of course, this doesn't replace keeping the docs up-to-date, but it's
better than nothing.


[...]
> 3. FAQ
> 
> I think there was a discussion somewhere (of which I can't find now
> through Thunderbird search) but the FAQ is important. When people
> wonder about a feature of D, the first thing they should do is check
> the FAQ to find the answer.
> 
> I think that each time a solution is provided that might or might
> not be obvious, the reasoning behind that solution should be posted
> on the FAQ. Nothing should be left with abstract reasoning (outside
> of perhaps philisophy-based reasoning).
> 
> The FAQ is incomplete.

Agreed. I'm thinking the FAQ should include common newbie mistakes /
surprises, so that newcomers won't get overly frustrated with bugs that
are actually very simple but they have no idea how to fix it.


> 4. Microsoft
> 
> Windows. I cannot stand Windows. If Microsoft suddenly went bankrupt,
> Windows was never updated, and people had to move to MacOS or Linux, I
> would be the happiest man alive.

Ahhhahahaha... I wish this were true too. ;-)


> Unfortunately, this will seemingly never be the case and it stands
> that Microsoft has the highest share of all the OS users. Thus, it
> should be given higher priority to attract more users. When people
> complain about D not having large Windows support (or COFF support in
> particular and the shitty optlink), it kills me a little on the
> inside.

I agree, though I can't do very much to help on this front 'cos I
haven't done any serious work on windows for the last 10 years. (I
almost fell out of my chair (for joy) at my interview for my current job
when I found out that they used the gcc toolchain for development --
there was no indication of this on the job posting.)


> This is probably a lost cause but I've recently seen various
> complaints about the name "D". It's not distinct nor is D old enough
> to be known like C or C++ is. I remember a comment about the name
> "Mars" which I think would have been much more distinct and clearcut,
> and would have caused less issues.

I tend to agree too. The name "D" never fails to raise an eyebrow with
my friends when I mention that I'm learning it -- they regard it as the
next joke in the sequence C, C+, C++. (I know there is no such thing as
C+, but that's what your average layperson thinks.) It's also very hard
to search for online, since there are too many irrelevant matches.

But yeah, it's a lost cause. Especially now that Andrei's book bears
that name in print. It will be almost impossible to reverse the effects
of that.


[...]
> The .c extensions on C++ files... need I say more? That itself is a
> joke and seems to have been ignored when complaints about it came up.
> I've just recently been told that DMD was mostly implemented in C
> which is false. This situation is needlessly frustrating.

Now *that* is evil.


[...]
> I like the D language. Not so much the projects that surround D.

I like D too. I'd like to help in whatever way I can to make it a
successful language. I hope I will never have to go back to that
creeping horror known as C++.


T

-- 
Guns don't kill people. Bullets do.
February 04, 2012
Re: Opinion of February 2012
> Documentation is much more important than feature implementation.
>
Contribution highly welcome at:
https://github.com/D-Programming-Language/d-programming-language.org
February 04, 2012
Re: Opinion of February 2012
On 02/04/12 01:28, H. S. Teoh wrote:
> I agree with this. Based on current documentation, I didn't even know
> the GC can be replaced at compile-time until someone mentioned it. And
> up to now I still don't know how exactly to do this, since I couldn't
> find any docs for it.

There's nothing special about the GC, you just need to link to your
implementation. Or take the one from druntime, modify it and make sure
the object containing the necessary symbols is found before the std
library, eg by compiling MyGCImpl.d together with the other D source
files. That's all.

artur
February 04, 2012
Re: Opinion of February 2012
"H. S. Teoh" <hsteoh@quickfur.ath.cx> wrote in message 
news:mailman.347.1328315188.25230.digitalmars-d@puremagic.com...
> I'd like to help. My D coding skills are still not up to snuff for
> fixing the hard stuff, since I only just started learning D. But doc
> comments I can do. However, there's no documentation that I can find
> that describes the procedure for sending contributions. Such as where to
> upload patches, what format they should be in, how to get diffs in the
> right format, etc.. All this should be documented so that willing
> contributors can jump in immediately, instead of being put off by having
> to jump through unnecessary hoops (like hunting for possibly
> non-existent documentation on how to contribute).

Everything is on github these days.  Eg for the website , 
https://github.com/D-Programming-Language/d-programming-language.org

> However, there's no documentation

We should have this, but like everything else, it requires somebody take the 
time to do it.
February 04, 2012
Re: Opinion of February 2012
"bearophile" <bearophileHUGS@lycos.com> wrote in message 
news:jght4f$2co0$1@digitalmars.com...
>
> I don't know why Walter likes to use ".c" as suffix for those files, I 
> don't remember his answers on this topic,
>

In the most recent discussion he just dodged the question and joked about 
the "platform nobody uses" bit.
February 04, 2012
Re: Opinion of February 2012
"Zachary Lund" <admin@computerquip.com> wrote in message 
news:jghpk4$26uk$1@digitalmars.com...
>
> 2. Milestones and Organization

This is non-corporate-backed OSS. People are free to work on what they 
choose. We're not Bill Lumberg Waterfall Nazis here.

> I cannot stand Windows. If Microsoft suddenly went bankrupt, Windows was 
> never updated, and people had to move to MacOS or Linux, I would be the 
> happiest man alive.

Bleh. Apple makes MS look like the EFF. (And I'd sooner switch to a graphing 
calculator as my primary PC than go back to OSX.) MS may be no better than 
any other corporation, but Jobs's demise was the #1 best thing to happen to 
technology since Win2K/XP. ('Course they couldn't get me to use that 
Vista/Win7 trash if they paid me.)


> It also drives me insane that dmd for D2 is not named dmd2. There's no 
> reason to not have it be dmd2 and you just stupidly caused incompatibility 
> with the D1 executable.

https://bitbucket.org/doob/dvm

$dvm use 1.069
$dvm use 2.057
etc...

Trivial problem trivially solved.

> The .c extensions on C++ files... need I say more? That itself is a joke 
> and seems to have been ignored when complaints about it came up.

Everyone already knows and agrees.
February 04, 2012
Re: Opinion of February 2012
>> However, there's no documentation
>
>We should have this, but like everything else, it requires somebody take the
>time to do it.

So true, I spent literally 5 hours writing documentation for a project
I was releasing. It wasn't even that big. And I didn't write any
reference documentation. I maybe could have done it faster, cut it
down to 3-3.5 hrs, but it takes so long to do properly.

Not only do you need reference materials, you need example usage,
explanations of what to use when (and ideally why). Each example needs
to be tested, made sure that it is concise without being opaque and
documented itself. You paradoxically need somebody who knows exactly
what the code does, but knows what is unobvious and what is "advanced
use" only.

> I like the D language. Not so much the projects that surround D.

Same, having essentially 2 incompatible languages and 2 incompatible
"standard" libraries has been devastating. My personal opinion is that
Phobos, being maintained by the creators of the language, should be
the defacto library and everybody should be encouraged to use it for
most purposes. Tango shouldn't be a replacement for Phobos but work
alongside it, (a goal that the Tango-D2 team seem to be aiming for)
because having to change libraries to compile different programs is a
nightmare. And all new development should be in D2, no point sticking
to D1 now that support has been officially dropped.

So many projects simply don't work. Some have had underlying libraries
do breaking changes from under them, others rely on Tango D1 which
makes trying to port them to D2 effectively impossible (though it
should be easier now that most of Tango-D2 is done), and some haven't
had any development for years and just aren't useful.

The community needs some organisation. Currently DSource is not
actually that useful, Trac is all about SVN, but D and most other
libraries use git/GitHub which makes for a clunky experience. If
D-Programming-Language.org had a projects section, it would make it
much easier to manage and make more sense, there is no direct link
from the official website to any centralized project repository, which
makes discovery a nightmare. Many people do not want to join a mailing
list or ask in IRC just to find if a library or program exists.

--
James Miller
February 04, 2012
Re: Opinion of February 2012
"Nick Sabalausky" <a@a.a> wrote in message 
news:jgij59$hc2$1@digitalmars.com...
> "Zachary Lund" <admin@computerquip.com> wrote in message 
> news:jghpk4$26uk$1@digitalmars.com...
>>
>> 2. Milestones and Organization
>
> This is non-corporate-backed OSS. People are free to work on what they 
> choose. We're not Bill Lumberg Waterfall Nazis here.
>
>> I cannot stand Windows. If Microsoft suddenly went bankrupt, Windows was 
>> never updated, and people had to move to MacOS or Linux, I would be the 
>> happiest man alive.
>
> Bleh. Apple makes MS look like the EFF. (And I'd sooner switch to a 
> graphing calculator as my primary PC than go back to OSX.) MS may be no 
> better than any other corporation, but Jobs's demise was the #1 best thing 
> to happen to technology since Win2K/XP. ('Course they couldn't get me to 
> use that Vista/Win7 trash if they paid me.)
>
>
>> It also drives me insane that dmd for D2 is not named dmd2. There's no 
>> reason to not have it be dmd2 and you just stupidly caused 
>> incompatibility with the D1 executable.
>
> https://bitbucket.org/doob/dvm
>
> $dvm use 1.069
> $dvm use 2.057
> etc...
>
> Trivial problem trivially solved.
>
>> The .c extensions on C++ files... need I say more? That itself is a joke 
>> and seems to have been ignored when complaints about it came up.
>
> Everyone already knows and agrees.
>

I don't mean to be an ass about it, I know how infuriating it is to come 
into a group and get immediately lynched. It's just that every couple months 
we inevitably get yet another first-time (or nearly-first-time) poster who 
gives us a big essay on everything we're doing wrong and how they're going 
to swoop in and save us from ourselves with their basic observations, all of 
which inevitably fall into:

A. Things everyone already knows, agrees on, and is being worked on.

B. Things they can easily contribute to themselves.

C. Things that are already taken care of.

D. Things that have already been brought up, discussed, and are never going 
to happen (and have *then* been discussed a couple more times).

E. Things that are just plain false.

It's a pattern that just gets very old very quickly.
« First   ‹ Prev
1 2 3 4
Top | Discussion index | About this forum | D home