Re: What do you want to see for a mature DLang?

2018-01-05 Thread Binghoo Dang via Digitalmars-d

On Sunday, 31 December 2017 at 20:53:37 UTC, Muld wrote:

...


Stop making noise except one-day you make another well-known 
language popular in the world called E.


What a kind of people who you are ? and can make such a noise to 
well known and famous person who made such a great language?



And, everyone who's making noise just stop. If you don't like D, 
just go to Go or Rust. The community is just kindly making 
opensource project which means they are contributing times and 
life to the human. and what you do except making noise?


And Dear Walter is working for D all the time, Didn't anyone seen 
he is merging PRs on github?


So, let's be calm and graceful, that is if you consider there's 
problem, just fix it. Or provides more detailed information for 
the core team to fix it. Not just saying "D is bad on this or 
that".


And at least, keep polite if you're not a guy like Bill Gates or 
Jobs.








Re: What do you want to see for a mature DLang?

2018-01-05 Thread Paolo Invernizzi via Digitalmars-d

On Friday, 5 January 2018 at 01:29:04 UTC, Laeeth Isharc wrote:

So it's highly unusual sets of people like that, or like the 
founders of Sociomantic, or like the EMSI guys, or Liran's guys 
at Weka that are likely to be D adopters in the next wave. Not 
people who can't see through error messages (which are much 
better than C++ anyway).


+1000

I would add that D should leverage the fact that is a "company 
friendly" language: the core team cares about problems raised by 
commercials that are using it (or, at least, it try hard to do 
it! :-P).


That's pretty unique, in that phase of his history, compared to 
what we can see around.


Well, it should do this in a more structured way, as I've 
suggested to Andrei, but it's definitely a big plus.


/Paolo


Re: What do you want to see for a mature DLang?

2018-01-04 Thread Laeeth Isharc via Digitalmars-d

On Saturday, 30 December 2017 at 03:07:57 UTC, IM wrote:
On Friday, 29 December 2017 at 17:29:47 UTC, Adam D. Ruppe 
wrote:

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:
   -- Better compiler errors, better compiler errors, better 
compiler errors.



This is the only thing I greatly care about anymore. Biggest 
problem D has in real world use.


Please allow me to give an example of how first impressions of 
maturity really matter! Recently at some company, a group of 
engineers started advocating for using Rust. They wrote a doc 
explaining the differences and benefits of Rust over C++ (which 
is heavily used). People started experimenting, and immediately 
the maturity and good user experience of rustc and cargo were 
quite obvious. The result was that Rust is now more appealing, 
some new projects were written in Rust, some old ones have or 
are being migrated from C++ to Rust.


(**This is a real story by the way**)

Now, given the fact that I love D despite some of the annoying 
issues I encounter with it frequently, I would like to call my 
colleagues to give it a try and experiment with it. People 
start getting interested. They start writing some code, and 
eventually they hit one of those unhelpful compile error 
messages, which could indicate one of the following:
- An error in the engineer's knowledge of the language which 
the compiler didn't help to understand what it is so that s/he 
goes to look it up.

- A bug in Phobos.
- An actual compiler bug or inconsistency.

Remember, those engineers are experimenting with D to use it 
for serious projects at work, not personal toy projects. What 
do you think? Is it likely that they decide to invest a lot of 
time and resources migrating projects to D?


Looking forward to seeing more of that in the compiler, which 
is the single most important thing in a programming language, 
the reason it exists, the thing I interface with most of the 
time.



Remember, those engineers are experimenting with D to use it 
for serious projects at work, not personal toy projects. What 
do you think? Is it likely that they decide to invest a lot of 
time and resources migrating projects to D?


Then probably you did the right thing in not suggesting they move 
to using D at work at the current time.


There are all kinds of coordination costs in adopting D 
immediately for serious projects where the people involved don't 
know the language yet and where the benefits of D don't seem 
compelling at this point.


It's much better if the people involved start using D on the side 
for things that aren't mission critical or that don't have a 
tight deadline, unless D solves a particular sort of problem you 
have or theres much receptivity to it.


I don't think D is at a point where it should be sold.  People 
need to be receptive and ready to move towards you.  And they 
need to be able to take decisions on the basis of intrinsic 
merits and not have to consider social factors.  They means that 
the natural sphere of adoption is startups run by creative and 
independent minded people, smaller firms and small groups within 
large firms where people have autonomy.  That's really quite okay 
- in the US, more than 100% of new jobs are created by smaller 
firms.


Its a mistake to use a language you don't know for a mission 
critical project with a tight deadline, unless it solves so many 
problems that it is worth the inevitable teething problems.  
Doing so is a recipe for brittleness because it's hard to 
anticipate any difficulties and hard to plan for them.


D naturally is spread much thinner than many other languages 
because it's more ambitious and is useful for many different 
domains, so if you're in a particular one of them then you will 
know many fewer people using D then would be the case for 
languages that are more adapted for particular domains.


Also, there's much difference in how much people in different 
areas tend to talk about what they are doing.  Web guys talk a 
lot; finance guys not do much. The people I have met who use D at 
work mostly don't develop open source stuff at work and they 
don't post all that much in the forums.


We are rewriting our core analytics used across the firm (about 
95 people) to D.  Why? Because they need to be accessible from 
other languages so C ABI is necessary and it's not even a 
contest, D vs C++.  And the person in charge of that project is a 
Fellow in Maths at Cambridge, and the one helping him is also a 
Cambridge mathematician so they realise how important beauty is 
in taming complexity, and D does exceptionally well on that 
front.  We can then programmatically generate wrappers for other 
languages and we can connect the analytics and some micro 
services with a little domain specific language written using 
pegged.


So it's highly unusual sets of people like that, or like the 
founders of Sociomantic, or like the EMSI guys, or Liran's guys 
at Weka that are likely to be D adopters in the 

Re: What do you want to see for a mature DLang?

2018-01-01 Thread IM via Digitalmars-d

On Sunday, 31 December 2017 at 21:16:35 UTC, Walter Bright wrote:

On 12/31/2017 8:18 AM, IM wrote:

What do you think? Do you agree that a process is needed?


We've tried adding process before. It does not work, for the 
simple reason that it requires a dedicated group of people to 
dedicate time to it.


Something should work. It just needs to be found. People are 
already dedicating time to D by contributing fixes and filing 
issues, responding on the forums, ... etc. Organizing work and 
priorities is not an exception. It doesn't take that long by the 
way, only 30 ~ 60 minutes per week max should be more than 
enough. I hope you could take the upcoming DConf as an 
opportunity to discuss with others ways to enhance the process 
and minimize friction.




Are you willing to do that?



I'd be happy to do it, but I'm not the right person for it. This 
needs someone who knows D very well, knows the bigger picture, 
and is familiar with the contributors and who mostly works on 
what to be able to adjust priorities and ownership appropriately. 
I've been learning and experimenting with D only for a few 
months. Also, I'm worried about - though unlikely - to put myself 
in a conflict-of-interest situation; we don't use D at work, and 
as far as I know there are neither interest nor plans to do so. I 
hope this will change one day, and that's why I started this 
post, because quality and maturity are very important.


We have added process when someone has stepped up to do the 
thankless job of administering it.


I think it is thankful and as important as submitting PRs and 
DIPs. Shaping, organizing, and directing human effort are just as 
important as the human effort itself.





Re: What do you want to see for a mature DLang?

2017-12-31 Thread codephantom via Digitalmars-d

On Sunday, 31 December 2017 at 21:16:35 UTC, Walter Bright wrote:

On 12/31/2017 8:18 AM, IM wrote:

What do you think? Do you agree that a process is needed?


We've tried adding process before. It does not work, for the 
simple reason that it requires a dedicated group of people to 
dedicate time to it. Are you willing to do that?


We have added process when someone has stepped up to do the 
thankless job of administering it.


Well, I've spent the last few months just learning the language, 
debating issues on this forum, and fending off the occasional 
attack. This is probably what most newcomers will go through too..


For the most part, I think D is a really nice language to 'play' 
with, and thanks to all those that have made it happen.


Now as I think about moving from just playing with D, to making 
serious use of it, this lack of 'process' you mention, could 
become a real deal breaker.


The D Foundation should take this matter very seriously, in my 
opinion, and invest in process, rather than just hoping it will 
emerge out of the chaos of bugzilla.


By not focusing your attention on this more, I believe you risk a 
lot of people refusing to contribute to D, and even turning away 
from D. You also risk fragmentation in the D community.


Now, that asisde, happy New Year to you, and all.

Lets' make it a great year to advance D even further...



Re: What do you want to see for a mature DLang?

2017-12-31 Thread Walter Bright via Digitalmars-d

On 12/31/2017 12:53 PM, Muld wrote:

Fix your shit
A word to the wise. Being rude will just get you ignored by most everyone on 
this n.g. We insist on professional demeanor and courtesy at all times. 
Egregious behavior will get posts unceremoniously removed.


Re: What do you want to see for a mature DLang?

2017-12-31 Thread Walter Bright via Digitalmars-d

On 12/31/2017 8:18 AM, IM wrote:

What do you think? Do you agree that a process is needed?


We've tried adding process before. It does not work, for the simple reason that 
it requires a dedicated group of people to dedicate time to it. Are you willing 
to do that?


We have added process when someone has stepped up to do the thankless job of 
administering it.


Re: What do you want to see for a mature DLang?

2017-12-31 Thread Muld via Digitalmars-d

On Saturday, 30 December 2017 at 16:36:57 UTC, Iain Buclaw wrote:


Hey, I take offence to that.

https://issues.dlang.org/show_bug.cgi?id=17839

https://github.com/dlang/dmd/pull/7503 
https://github.com/dlang/dmd/pull/7508 
https://github.com/dlang/dmd/pull/7509 
https://github.com/dlang/dmd/pull/7510 
https://github.com/dlang/dmd/pull/7527 
https://github.com/dlang/dmd/pull/7536


And many more closed that were even older, and I'm not the only 
one reviving these patches, all of which are either abandoned, 
incomplete, or too controversial (there is always a valid 
reason why open PRs were left to rot).



I haven't been looking recently. At least there's one vigilante 
working in the shadows, doing the things no one else is willing 
to.




Re: What do you want to see for a mature DLang?

2017-12-31 Thread Muld via Digitalmars-d

On Sunday, 31 December 2017 at 05:43:57 UTC, Walter Bright wrote:

Please join and help out.


I already have, and like I said there are problems with with the 
current system. I don't feel like helping anymore cause anything 
time I do my work just get dumped, and I've simply wasted my time.


Bugs are ranked by severity, but generally what gets fixed are 
bugs that a particular person self-selects an interest in 
fixing it.


Often people who just want to help out will peruse the buglist 
looking for issues that match their skill levels that they can 
fix.


You've just admitted to the problem. And those that want to "help 
out" will "persue the buglist looking for issues".


Then you drop this quote, "it's fine for those that want to put 
in a wasteful time of effort, cause they care enough".


It's working well enough for those who care enough to make an 
effort.


Fix your shit if you want help, it's broken and just wastes 
people's time. Saying that people don't care enough is not 
helping with a solution.





Re: What do you want to see for a mature DLang?

2017-12-31 Thread Meta via Digitalmars-d

On Sunday, 31 December 2017 at 11:27:41 UTC, Seb wrote:
Yes, Dlang-bot was able to detect stalled issues for a while, 
but we didn't turn this on for all repositories. I have just 
enabled it:


https://github.com/dlang-bots/dlang-bot/pull/153

For the moment, it is just labelling issues with e.g. "needs 
work", "needs rebase", "stalled", "stalled-stable".
In a next stage it will start to actively ping people or close 
PRs.
Also automatically rebasing PRs if there are no conflicts is on 
the radar (the GitHub UI is quite conservative in this regard).


Awesome. Thanks for all your hard work on the automation side of 
things, by the way. It's not glamorous but it's a huge force 
multiplier.


Re: What do you want to see for a mature DLang?

2017-12-31 Thread IM via Digitalmars-d

On Sunday, 31 December 2017 at 07:43:35 UTC, Walter Bright wrote:

On 12/30/2017 11:23 PM, IM wrote:
While we are discussing it here, could you please let me know 
what the bug triage process for each release cycle is? Is it 
random that anyone picks up whatever bug s/he feels like 
fixing? Or is it that if contributors will contribute X number 
of patches this cycle, then there is some sort of guidance and 
direction of this effort towards fixing some high priority 
bugs?


Bugs are ranked by severity, but generally what gets fixed are 
bugs that a particular person self-selects an interest in 
fixing it.


Often people who just want to help out will peruse the buglist 
looking for issues that match their skill levels that they can 
fix.


I hope that you could see that this doesn't scale very well, and 
some kind of a process needs to be established to shape and 
direct the efforts. Some thoughts/suggestions:
- Weekly meeting to review open bugs, adjust their components and 
priority appropriately, and assign to potential owners (those who 
can or likely to fix the bugs. Owners can then reassign or 
unassign if not interested).
- Maybe ask someone to volunteer for triaging bugs in each 
component. So every component has an owner.
- If a bug has been assigned to someone and hasn't received any 
attention (i.e. remained open for say 3 months), a bot should 
unassign it so that it returns back to the triage pool, hoping 
that it will catch the attention of the triage volunteers.


What do you think? Do you agree that a process is needed?


Re: What do you want to see for a mature DLang?

2017-12-31 Thread Seb via Digitalmars-d

On Sunday, 31 December 2017 at 09:37:35 UTC, Meta wrote:

On Saturday, 30 December 2017 at 14:42:45 UTC, Muld wrote:
On Saturday, 30 December 2017 at 06:55:13 UTC, Walter Bright 
wrote:
It's not like we have a shortage of bugzilla issues and are 
wondering what to do next.


Yah there are a ton of Bugzilla issues, that's the problem. 
More than half of them aren't "actionable" as you put it.


Here's the problem, look at something like Rust:

Pull requests? 95 open, it's about the same as Dlang, But if 
you go to the last page...


https://github.com/rust-lang/rust/pulls?page=4=is%3Apr+is%3Aopen

Look at that the oldest one is from October 15th, 20_17_.

Now we go to DMD...

https://github.com/dlang/dmd/pulls?page=6=is%3Apr+is%3Aopen

Oldest one is from January 17, 20_13_.


This is a problem that many of us are working on fixing. The 
main reason many of these old zombie PRs stick around is that 
historically, people are hesitant to close things (for a 
variety of social reasons, I feel). While there is still the 
slightest chance that something might someday be merged, it is 
kept open. Rust is a lot more aggressive about closing bad or 
outdated PRs and either guiding PRs that need work to get to a 
mergeable state, or closing them and communicating that this is 
not the correct way to go. I watched a talk by a Rust 
contributor specifically on this point awhile ago - they have a 
bot that does a lot of the PR closure work to get around the 
fact that people are hesitant to be the "bad guy" and tell 
someone that their work is not good enough. D needs to get much 
better at this, and I think things are happening - slowly. The 
bad optics and demoralizing effect of letting things sit 
forever without definitive action outweighs the potential loss 
from being more aggressive about closing or merging.


Yes, Dlang-bot was able to detect stalled issues for a while, but 
we didn't turn this on for all repositories. I have just enabled 
it:


https://github.com/dlang-bots/dlang-bot/pull/153

For the moment, it is just labelling issues with e.g. "needs 
work", "needs rebase", "stalled", "stalled-stable".
In a next stage it will start to actively ping people or close 
PRs.
Also automatically rebasing PRs if there are no conflicts is on 
the radar (the GitHub UI is quite conservative in this regard).


Re: What do you want to see for a mature DLang?

2017-12-31 Thread Meta via Digitalmars-d

On Saturday, 30 December 2017 at 14:42:45 UTC, Muld wrote:
On Saturday, 30 December 2017 at 06:55:13 UTC, Walter Bright 
wrote:
It's not like we have a shortage of bugzilla issues and are 
wondering what to do next.


Yah there are a ton of Bugzilla issues, that's the problem. 
More than half of them aren't "actionable" as you put it.


Here's the problem, look at something like Rust:

Pull requests? 95 open, it's about the same as Dlang, But if 
you go to the last page...


https://github.com/rust-lang/rust/pulls?page=4=is%3Apr+is%3Aopen

Look at that the oldest one is from October 15th, 20_17_.

Now we go to DMD...

https://github.com/dlang/dmd/pulls?page=6=is%3Apr+is%3Aopen

Oldest one is from January 17, 20_13_.


This is a problem that many of us are working on fixing. The main 
reason many of these old zombie PRs stick around is that 
historically, people are hesitant to close things (for a variety 
of social reasons, I feel). While there is still the slightest 
chance that something might someday be merged, it is kept open. 
Rust is a lot more aggressive about closing bad or outdated PRs 
and either guiding PRs that need work to get to a mergeable 
state, or closing them and communicating that this is not the 
correct way to go. I watched a talk by a Rust contributor 
specifically on this point awhile ago - they have a bot that does 
a lot of the PR closure work to get around the fact that people 
are hesitant to be the "bad guy" and tell someone that their work 
is not good enough. D needs to get much better at this, and I 
think things are happening - slowly. The bad optics and 
demoralizing effect of letting things sit forever without 
definitive action outweighs the potential loss from being more 
aggressive about closing or merging.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread Walter Bright via Digitalmars-d

On 12/30/2017 11:23 PM, IM wrote:
While we are discussing it here, could you please let me know what the bug 
triage process for each release cycle is? Is it random that anyone picks up 
whatever bug s/he feels like fixing? Or is it that if contributors will 
contribute X number of patches this cycle, then there is some sort of guidance 
and direction of this effort towards fixing some high priority bugs?


Bugs are ranked by severity, but generally what gets fixed are bugs that a 
particular person self-selects an interest in fixing it.


Often people who just want to help out will peruse the buglist looking for 
issues that match their skill levels that they can fix.




Re: What do you want to see for a mature DLang?

2017-12-30 Thread IM via Digitalmars-d

On Sunday, 31 December 2017 at 05:43:57 UTC, Walter Bright wrote:

On 12/30/2017 6:42 AM, Muld wrote:
In contrast this same problem exists for Bugzilla. You say 
it's working cause it's better than using notepad or some 
other stupid shit. Bugzilla isn't the issue, it's the fact the 
people maintaining it aren't willing to commit to anything and 
leave issues open that shouldn't be left open. That just 
results in noise making it difficult to see what actual issues 
are. I'm not even talking about duplicate entries as you seem 
to have have misunderstood.


Anyone can contribute to bugzilla with reasoned advice about 
what to do with various issues, and can review PRs. The people 
responsible are, well, anyone who wants to be.


Please join and help out.


While we are discussing it here, could you please let me know 
what the bug triage process for each release cycle is? Is it 
random that anyone picks up whatever bug s/he feels like fixing? 
Or is it that if contributors will contribute X number of patches 
this cycle, then there is some sort of guidance and direction of 
this effort towards fixing some high priority bugs?


Re: What do you want to see for a mature DLang?

2017-12-30 Thread Walter Bright via Digitalmars-d

On 12/30/2017 6:42 AM, Muld wrote:
In contrast this same problem exists for Bugzilla. You say it's working cause 
it's better than using notepad or some other stupid shit. Bugzilla isn't the 
issue, it's the fact the people maintaining it aren't willing to commit to 
anything and leave issues open that shouldn't be left open. That just results in 
noise making it difficult to see what actual issues are. I'm not even talking 
about duplicate entries as you seem to have have misunderstood.


Anyone can contribute to bugzilla with reasoned advice about what to do with 
various issues, and can review PRs. The people responsible are, well, anyone who 
wants to be.


Please join and help out.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread codephantom via Digitalmars-d

On Sunday, 31 December 2017 at 02:06:03 UTC, Iain Buclaw wrote:


2. Feel free to look at the list of regressons.

https://issues.dlang.org/buglist.cgi?bug_severity=regression=dmd_id=218477_format=advanced=---




"This list is too long for Bugzilla's little mind"

Mmm..just imagine how our human mind reacts then ;-)

But... as you point out...some 'filtering' makes it 'seem' a 
little less daunting ;-)





Re: What do you want to see for a mature DLang?

2017-12-30 Thread Iain Buclaw via Digitalmars-d
On 31 December 2017 at 02:07, codephantom via Digitalmars-d
 wrote:
> On Saturday, 30 December 2017 at 16:36:57 UTC, Iain Buclaw wrote:
>>
>>
>> All open issues are actionable, and require some action.  They are not
>> noise, and many issues whose fix requires a change in language specification
>> or semantics are understandably left to the few who have the authoritative
>> to make such final decisions on whether it should be accepted or rejected.
>>
>> Age of issue is not a big deal.  In fact I see it as a good sign that at
>> least issues are left to breathe while we wait and understand the impact or
>> urgency of it.  As opposed to jumping in and fixing issues immediately
>> without taking due diligence on the wider picture it affects.
>
>
> Is this a problem with triage?
>
> i.e. like a hositpital emergency ward chaos rules, cause nobody is on duty
> triaging.
>
> How does a contributor prioritise their contribution to items in bugzilla?
>

Either:
1. By picking up an issue that you have a vested interest in seeing fixed.

2. Feel free to look at the list of regressons.

https://issues.dlang.org/buglist.cgi?bug_severity=regression=dmd_id=218477_format=advanced=---

Bigger projects or features are delegated between the core
maintainers, or if a champion comes to take the reigns, then they have
the freedom to go ahead.  For everything else, it is pretty much a
free-for-all in terms of what you want to get fixed.  Almost nobody is
being paid to contribute to the language here.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread ag0aep6g via Digitalmars-d

On 12/30/2017 04:07 AM, IM wrote:
I like what the D foundation did to the website, the language and 
library docs, the Learn section, the forums, the resources ... etc. That 
definitely gives the impression of maturity.


As far as I'm aware, the foundation isn't too active in those areas; 
unless Vladimir or Seb are on their payroll now. Maybe the foundation 
pays the electricity bills, but the work is done by volunteers.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread codephantom via Digitalmars-d

On Saturday, 30 December 2017 at 16:36:57 UTC, Iain Buclaw wrote:


All open issues are actionable, and require some action.  They 
are not noise, and many issues whose fix requires a change in 
language specification or semantics are understandably left to 
the few who have the authoritative to make such final decisions 
on whether it should be accepted or rejected.


Age of issue is not a big deal.  In fact I see it as a good 
sign that at least issues are left to breathe while we wait and 
understand the impact or urgency of it.  As opposed to jumping 
in and fixing issues immediately without taking due diligence 
on the wider picture it affects.


Is this a problem with triage?

i.e. like a hositpital emergency ward chaos rules, cause nobody 
is on duty triaging.


How does a contributor prioritise their contribution to items in 
bugzilla?


Or is it perhaps a tooling problem? (i.e. bugzilla lacks features 
that are needed).


Or is it a problem with not having enough people on duty, 
triaging?


Or is it a problem with just too many patients coming in?

Or .. ??


Re: What do you want to see for a mature DLang?

2017-12-30 Thread Iain Buclaw via Digitalmars-d
On 30 December 2017 at 15:42, Muld via Digitalmars-d
 wrote:
> On Saturday, 30 December 2017 at 06:55:13 UTC, Walter Bright wrote:
>>
>> It's not like we have a shortage of bugzilla issues and are wondering what
>> to do next.
>
>
> Yah there are a ton of Bugzilla issues, that's the problem. More than half
> of them aren't "actionable" as you put it.
>

There's nothing unmanageable about the issue tracker, nor are the
number of open bugs even a reliable measure of anything.  For
instance, Python has more than twice as many open bugs than D.


> Here's the problem, look at something like Rust:
>
> Pull requests? 95 open, it's about the same as Dlang, But if you go to the
> last page...
>
> https://github.com/rust-lang/rust/pulls?page=4=is%3Apr+is%3Aopen
>
> Look at that the oldest one is from October 15th, 20_17_.
>
> Now we go to DMD...
>
> https://github.com/dlang/dmd/pulls?page=6=is%3Apr+is%3Aopen
>
> Oldest one is from January 17, 20_13_.
>

Hey, I take offence to that.

https://issues.dlang.org/show_bug.cgi?id=17839

https://github.com/dlang/dmd/pull/7503
https://github.com/dlang/dmd/pull/7508
https://github.com/dlang/dmd/pull/7509
https://github.com/dlang/dmd/pull/7510
https://github.com/dlang/dmd/pull/7527
https://github.com/dlang/dmd/pull/7536

And many more closed that were even older, and I'm not the only one
reviving these patches, all of which are either abandoned, incomplete,
or too controversial (there is always a valid reason why open PRs were
left to rot).

>
> In contrast this same problem exists for Bugzilla. You say it's working
> cause it's better than using notepad or some other stupid shit. Bugzilla
> isn't the issue, it's the fact the people maintaining it aren't willing to
> commit to anything and leave issues open that shouldn't be left open. That
> just results in noise making it difficult to see what actual issues are. I'm
> not even talking about duplicate entries as you seem to have have
> misunderstood.

All open issues are actionable, and require some action.  They are not
noise, and many issues whose fix requires a change in language
specification or semantics are understandably left to the few who have
the authoritative to make such final decisions on whether it should be
accepted or rejected.

Age of issue is not a big deal.  In fact I see it as a good sign that
at least issues are left to breathe while we wait and understand the
impact or urgency of it.  As opposed to jumping in and fixing issues
immediately without taking due diligence on the wider picture it
affects.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread Muld via Digitalmars-d
On Saturday, 30 December 2017 at 06:55:13 UTC, Walter Bright 
wrote:
It's not like we have a shortage of bugzilla issues and are 
wondering what to do next.


Yah there are a ton of Bugzilla issues, that's the problem. More 
than half of them aren't "actionable" as you put it.


Here's the problem, look at something like Rust:

Pull requests? 95 open, it's about the same as Dlang, But if you 
go to the last page...


https://github.com/rust-lang/rust/pulls?page=4=is%3Apr+is%3Aopen

Look at that the oldest one is from October 15th, 20_17_.

Now we go to DMD...

https://github.com/dlang/dmd/pulls?page=6=is%3Apr+is%3Aopen

Oldest one is from January 17, 20_13_.


In contrast this same problem exists for Bugzilla. You say it's 
working cause it's better than using notepad or some other stupid 
shit. Bugzilla isn't the issue, it's the fact the people 
maintaining it aren't willing to commit to anything and leave 
issues open that shouldn't be left open. That just results in 
noise making it difficult to see what actual issues are. I'm not 
even talking about duplicate entries as you seem to have have 
misunderstood.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread Muld via Digitalmars-d

On Friday, 29 December 2017 at 23:27:38 UTC, Walter Bright wrote:

On 12/29/2017 3:15 PM, Muld wrote:
Bugzilla is a huge mess tbh, creating a request in bugzilla 
won't lead anywhere.


Fixes for bugzilla issues are posted on github nearly every day.


This does not mean anything, just cause fixes for Bugzilla issues 
are being fixed "nearly every day" is not part of the larger 
problem. The people that are pushing fixes for those issues tend 
to be the same people that are creating them. Sure I can create a 
bugzilla issue, but unless I'm the one that creates a fix for it, 
it probably won't be fixed unless it is a regression.


It's so bad honestly it'd probably be less work just to create 
a new bugzilla and port any relevant entries from the current 
one.


It's not a big deal to create a duplicate of existing entries. 
As to bugzilla itself, despite its issues, it is far far far 
better and more organized than randomly looking in chat rooms, 
stack overflow, newsgroups, etc.


Living on Mars is far far better than trying to live on the 
surface of the Sun. Just cause that's the case doesn't mean you 
should stop looking for a place called Earth.


Re: What do you want to see for a mature DLang?

2017-12-30 Thread radagast via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:

   -- Better compiler errors, better compiler errors, better 
compiler errors.



I really wish that the compiler errors could receive some 
refinement. Mostly it feels like some error text just being 
thrown at me. It needs to be better formatted, more helpful, 
with suggestions about how to fix (if possible).


To illustrate my point:

- See the compile errors I've just encountered with DMD: 
https://cdn.pbrd.co/images/H0q609l.png


- Now compare that with an error produced by rustc:
https://cdn.pbrd.co/images/H0q6bLi.png


Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.


* R-value references.
* More "Hands free" package/dependency management (See 
Cargo(Rust))
* GC dependency free stdlib, with built-in general purpose async 
i/o library

* More sophisticated, official language server
* Better IDE support
* Full-fledged smart pointer (resembling std::unique_ptr, 
std::shared_ptr, std::weak_ptr in the standard
* Riddance of `object`, and being able to hand-make rootobject. 
No common root class.






Re: What do you want to see for a mature DLang?

2017-12-30 Thread Patrick Schluter via Digitalmars-d
On Friday, 29 December 2017 at 22:05:31 UTC, I Love Stuffing 
wrote:

On Friday, 29 December 2017 at 09:46:05 UTC, JN wrote:
AFAIK Rust doesn't have templates, but generics. Generics 
usually have much cleaner error messages because they are 
mostly used for generic functions and classes, meanwhile 
templates can do that too but much, much more, but when they 
break, you get entire paragraphs of template errors.


Templates are bad because they write code for you. And it's 
that code you don't write that could have errors. It's a double 
edge sword.


Also, for a mature D, some damn collections. Queues, Stacks, 
Deques, etc...


Yes, it's the same issue in C when using complicated macros. You 
have to do all substitutions by hand to understand the real error 
message. D templates have more information so there's hope to get 
a better resolution of the error cause.
But, the error message thing is a double edge sword, the more 
information is given the more difficult it gets to quickly find 
what the issue is.
Again to illustrate with my C experience (sorry I'm paid for 
programming C, D is hobby that I try to sneakily introduce). The 
gcc 4 error messages were simple 1 lines errors, from gcc 5 on 
they introduced the multi-line errors with positioning like in 
that Rust example above. At the beginning I was quite happy with 
that as the error messages are so much more detailed, but now 
after some time, I find them really annoying as it is much more 
eye straining to find the real error message in between the 
positioning text.




Re: What do you want to see for a mature DLang?

2017-12-30 Thread rumbu via Digitalmars-d

On Saturday, 30 December 2017 at 07:30:39 UTC, Elronnd wrote:
On Friday, 29 December 2017 at 22:05:31 UTC, I Love Stuffing 
wrote:
Also, for a mature D, some damn collections. Queues, Stacks, 
Deques, etc...


std.container.dlist 
(https://dlang.org/phobos/std_container_dlist.html)?


The queue or stack usage is not obvious at all. One would expect 
something like stack.push, stack.pop or queue.enque, queue.deque 
and may be a peek(). Instead one will get 33 functions that can 
be used with a doubly-linked list.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Elronnd via Digitalmars-d
On Friday, 29 December 2017 at 22:05:31 UTC, I Love Stuffing 
wrote:
Also, for a mature D, some damn collections. Queues, Stacks, 
Deques, etc...


std.container.dlist 
(https://dlang.org/phobos/std_container_dlist.html)?





Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/29/2017 7:07 PM, IM wrote:
They start writing 
some code, and eventually they hit one of those unhelpful compile error 
messages, which could indicate one of the following:
- An error in the engineer's knowledge of the language which the compiler didn't 
help to understand what it is so that s/he goes to look it up.

- A bug in Phobos.
- An actual compiler bug or inconsistency.


I'm sorry, there is literally nothing I can do with that. To get action, you 
need to be specific.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d
Creating a bugzilla account takes a couple minutes. It is enough friction to 
serve as a reasonable filter against spammers and junk postings.


It's not like we have a shortage of bugzilla issues and are wondering what to do 
next.


It's working well enough for those who care enough to make an effort.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/29/2017 5:40 PM, Adam D. Ruppe wrote:
> [...]

PRs to fix bugzilla issues get submitted every day. I don't see a better way. I 
can't monitor every forum, I rely on you and others to do so and submit the issues.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread IM via Digitalmars-d

On Friday, 29 December 2017 at 17:29:47 UTC, Adam D. Ruppe wrote:

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:
   -- Better compiler errors, better compiler errors, better 
compiler errors.



This is the only thing I greatly care about anymore. Biggest 
problem D has in real world use.


Please allow me to give an example of how first impressions of 
maturity really matter! Recently at some company, a group of 
engineers started advocating for using Rust. They wrote a doc 
explaining the differences and benefits of Rust over C++ (which 
is heavily used). People started experimenting, and immediately 
the maturity and good user experience of rustc and cargo were 
quite obvious. The result was that Rust is now more appealing, 
some new projects were written in Rust, some old ones have or are 
being migrated from C++ to Rust.


(**This is a real story by the way**)

Now, given the fact that I love D despite some of the annoying 
issues I encounter with it frequently, I would like to call my 
colleagues to give it a try and experiment with it. People start 
getting interested. They start writing some code, and eventually 
they hit one of those unhelpful compile error messages, which 
could indicate one of the following:
- An error in the engineer's knowledge of the language which the 
compiler didn't help to understand what it is so that s/he goes 
to look it up.

- A bug in Phobos.
- An actual compiler bug or inconsistency.

Remember, those engineers are experimenting with D to use it for 
serious projects at work, not personal toy projects. What do you 
think? Is it likely that they decide to invest a lot of time and 
resources migrating projects to D?


Maturity (or at least approaching it as much as possible) is VERY 
VERY VERY important.


I like what the D foundation did to the website, the language and 
library docs, the Learn section, the forums, the resources ... 
etc. That definitely gives the impression of maturity.


Looking forward to seeing more of that in the compiler, which is 
the single most important thing in a programming language, the 
reason it exists, the thing I interface with most of the time.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Adam D. Ruppe via Digitalmars-d

On Saturday, 30 December 2017 at 02:37:24 UTC, IM wrote:

Just curious, why Bugzilla and not something else?


Bugzilla was the most well-known solution at the time. Keep in 
mind the D bugzilla has been around since 2006. As far as I 
understand it, migration at this point is deemed a big pain.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread IM via Digitalmars-d
On Saturday, 30 December 2017 at 01:40:39 UTC, Adam D. Ruppe 
wrote:
On Friday, 29 December 2017 at 23:24:45 UTC, Walter Bright 
wrote:

That's been closed for a while now.


Well, take your pick:

https://issues.dlang.org/show_bug.cgi?id=12694
https://issues.dlang.org/show_bug.cgi?id=13340
https://issues.dlang.org/show_bug.cgi?id=16059

You always tell people to post to bugzilla, but many of these 
things have been posted over and over again. Bugzilla search is 
terrible, so it is frequently hard to find, but there are many 
examples there.


The benefit though of watching support requests is you see what 
people actually deal with day-to-day, and error messages, 
especially multiple overload matches of functions and templates 
and no template matches ones come up all the time. ALL THE 
TIME. From new users and experienced users alike. Most won't 
put it in bugzilla though: they just see it as their own 
personal failure instead of a technical problem we can fix.


But any repeated support request should be seen as a user 
experience problem that we try to fix. This is where we'd get 
the most productivity - taking little bumps out of the road. D 
has no roadblocks; we can get a lot of stuff done with it 
exactly the way it is, but if you watch users actually try to 
use it, you'll see the road isn't as smooth as it could and 
should be.


Just curious, why Bugzilla and not something else? I can guess 
the following:
- A centralized place for all dmd, druntime, and phobos was 
needed.
- GitHub issues are probably more limited in features and 
functionality than Bugzilla.


But think about it. Filing a bug on Bugzilla is not 
friction-free. One has to create an account, if s/he has one 
already, good luck remembering the username and password for 
something you rarely use, so spend sometime trying to remember 
and when you fail, spend time resetting your account or creating 
a new one. Finally file a bug and pray that someone will actually 
notice it and triage it to the appropriate owner! Not to mention 
that Bugzilla's UI is not pleasant.


For GitHub issues, most probably you already have an account 
there that you use often. Issues are close to where the code is. 
It's easy to see potential owners from the code's blame or git 
log. .. etc.


For better community participation, friction needs to be 
minimized as much as possible.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Adam D. Ruppe via Digitalmars-d

On Friday, 29 December 2017 at 23:24:45 UTC, Walter Bright wrote:

That's been closed for a while now.


Well, take your pick:

https://issues.dlang.org/show_bug.cgi?id=12694
https://issues.dlang.org/show_bug.cgi?id=13340
https://issues.dlang.org/show_bug.cgi?id=16059

You always tell people to post to bugzilla, but many of these 
things have been posted over and over again. Bugzilla search is 
terrible, so it is frequently hard to find, but there are many 
examples there.


The benefit though of watching support requests is you see what 
people actually deal with day-to-day, and error messages, 
especially multiple overload matches of functions and templates 
and no template matches ones come up all the time. ALL THE TIME. 
From new users and experienced users alike. Most won't put it in 
bugzilla though: they just see it as their own personal failure 
instead of a technical problem we can fix.


But any repeated support request should be seen as a user 
experience problem that we try to fix. This is where we'd get the 
most productivity - taking little bumps out of the road. D has no 
roadblocks; we can get a lot of stuff done with it exactly the 
way it is, but if you watch users actually try to use it, you'll 
see the road isn't as smooth as it could and should be.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread codephantom via Digitalmars-d

On Friday, 29 December 2017 at 23:32:45 UTC, Walter Bright wrote:

...
3. Ideally there'd be a url one could click on, not an error 
code.




No URLs! (unless they point to 'local' documentation).

I do not want to become even more dependent on having access to 
the internet, in order to debug programs.




Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/29/2017 1:57 PM, rjframe wrote:

I noticed the Rust error has a code, too (E0308); if better error messages
are too difficult to implement, assigning codes to error types and
documenting them on the wiki could be helpful. Once you've dealt with an
error type, the messages aren't that bad, but having documentation for the
first time you run into it would be nice.


Many compilers produce such error codes. I've considered it many times, but 
eventually concluded it added negative value.


1. Typing in an error code is so 1980's :-) People expect better these days.

2. A list of error messages with explanations can be trivially searched with a 
simple 'find text' command, which is much easier than typing in an error code.


3. Ideally there'd be a url one could click on, not an error code.

4. It's ugly.



Somewhat-related question out of curiosity: is there ever a time the error
message "template instance foo!(bar) error instantiating" is actually
needed?


Yes. It shows where the error originates in the user's code.




Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/29/2017 3:15 PM, Muld wrote:

Bugzilla is a huge mess tbh, creating a request in bugzilla won't lead anywhere.


Fixes for bugzilla issues are posted on github nearly every day.


It's so bad honestly it'd probably be less work just to create a new bugzilla 
and port any relevant entries from the current one.


It's not a big deal to create a duplicate of existing entries. As to bugzilla 
itself, despite its issues, it is far far far better and more organized than 
randomly looking in chat rooms, stack overflow, newsgroups, etc.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/29/2017 2:31 PM, Adam D. Ruppe wrote:

On Friday, 29 December 2017 at 21:30:35 UTC, Walter Bright wrote:
This is not actionable. What is actionable is filing bugzilla enhancement 
requests with specific examples.


I've done better than that: I've written pull requests.

https://github.com/dlang/dmd/pull/6806


Thank you!


There's also existing bugzilla entries such as 
https://issues.dlang.org/show_bug.cgi?id=7841


That's been closed for a while now.


These things come up almost every day in user support requests (learn forum, 
irc, or stack overflow). You want my advice for what to fix on D? Just follow 
those places and focus on stuff people ask for help on.


As a matter of pragmatism and time management, I give priority to helping people 
who have expended the effort to document a problem and post it on bugzilla. 
There's enough there to fill all the time of many people.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Muld via Digitalmars-d

On Friday, 29 December 2017 at 21:30:35 UTC, Walter Bright wrote:

On 12/29/2017 9:29 AM, Adam D. Ruppe wrote:

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:
   -- Better compiler errors, better compiler errors, better 
compiler errors.



This is the only thing I greatly care about anymore. Biggest 
problem D has in real world use.


This is not actionable. What is actionable is filing bugzilla 
enhancement requests with specific examples.


Bugzilla is a huge mess tbh, creating a request in bugzilla won't 
lead anywhere. There's so many pointless entries in there people 
have to waste their time looking through just to see what is and 
isn't "actionable" (as you put it). I was thinking of making a 
senseless entry that had some fake example code and see how long 
it would take for the entry to be closed/removed. Something tells 
me it would never be closed/removed.


The barrier for what constitutes a bugzilla entry and why it can 
remain open should be stricter. For example anything that is an 
"enhancement" and would require a DIP should not remain open. 
Bugzilla shouldn't be a "wishlist" for Dlang. This just adds 
needless bloat, what's worse is when an enchantment is not 
labelled that it needs a DIP and someone goes wasting their time 
implementing it.


It's so bad honestly it'd probably be less work just to create a 
new bugzilla and port any relevant entries from the current one.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Adam D. Ruppe via Digitalmars-d

On Friday, 29 December 2017 at 21:30:35 UTC, Walter Bright wrote:
This is not actionable. What is actionable is filing bugzilla 
enhancement requests with specific examples.


I've done better than that: I've written pull requests.

https://github.com/dlang/dmd/pull/6806

There's also existing bugzilla entries such as 
https://issues.dlang.org/show_bug.cgi?id=7841



These things come up almost every day in user support requests 
(learn forum, irc, or stack overflow). You want my advice for 
what to fix on D? Just follow those places and focus on stuff 
people ask for help on.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Atila Neves via Digitalmars-d

On Friday, 29 December 2017 at 21:56:26 UTC, Seb wrote:
On Friday, 29 December 2017 at 21:34:14 UTC, Walter Bright 
wrote:

On 12/28/2017 11:53 PM, IM wrote:
Simple things like these make a big difference. D Lang has 
been around for a long while now, and hence signs of its 
maturity has to show everywhere, especially in the compiler, 
as well as the package manager.


Diverging from the:

  file(line): message

format is problematic because a lot of editors rely on that to 
position the editor on the offending line.


It's easy to detect whether the compiler is invoked in a TTY.
Even if this turns out to be tricky, showing more helpful 
information to the user with a special flag (e.g. `--explain` 
or `--detailed`) is a way to go forward.


Being in an editor does not imply being in a TTY.

Atila


Re: What do you want to see for a mature DLang?

2017-12-29 Thread I Love Stuffing via Digitalmars-d

On Friday, 29 December 2017 at 09:46:05 UTC, JN wrote:
AFAIK Rust doesn't have templates, but generics. Generics 
usually have much cleaner error messages because they are 
mostly used for generic functions and classes, meanwhile 
templates can do that too but much, much more, but when they 
break, you get entire paragraphs of template errors.


Templates are bad because they write code for you. And it's that 
code you don't write that could have errors. It's a double edge 
sword.


Also, for a mature D, some damn collections. Queues, Stacks, 
Deques, etc...


Re: What do you want to see for a mature DLang?

2017-12-29 Thread rjframe via Digitalmars-d
On Fri, 29 Dec 2017 13:34:14 -0800, Walter Bright wrote:

> On 12/28/2017 11:53 PM, IM wrote:
>> Simple things like these make a big difference. D Lang has been around
>> for a long while now, and hence signs of its maturity has to show
>> everywhere, especially in the compiler, as well as the package manager.
> 
> Diverging from the:
> 
>file(line): message
> 
> format is problematic because a lot of editors rely on that to position
> the editor on the offending line.

I think the idea of the OP is that the message should be better; not that 
it should have an identical format to the Rust error.

file(line): better message

isn't going to mess with anybody's tools.

I noticed the Rust error has a code, too (E0308); if better error messages 
are too difficult to implement, assigning codes to error types and 
documenting them on the wiki could be helpful. Once you've dealt with an 
error type, the messages aren't that bad, but having documentation for the 
first time you run into it would be nice.

Somewhat-related question out of curiosity: is there ever a time the error 
message "template instance foo!(bar) error instantiating" is actually 
needed? I've always seen it paired with a message that actually describes 
the problem, so is just noise.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Seb via Digitalmars-d

On Friday, 29 December 2017 at 21:34:14 UTC, Walter Bright wrote:

On 12/28/2017 11:53 PM, IM wrote:
Simple things like these make a big difference. D Lang has 
been around for a long while now, and hence signs of its 
maturity has to show everywhere, especially in the compiler, 
as well as the package manager.


Diverging from the:

  file(line): message

format is problematic because a lot of editors rely on that to 
position the editor on the offending line.


It's easy to detect whether the compiler is invoked in a TTY.
Even if this turns out to be tricky, showing more helpful 
information to the user with a special flag (e.g. `--explain` or 
`--detailed`) is a way to go forward.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/28/2017 11:53 PM, IM wrote:
Simple things like these make a big difference. D Lang has been around for a 
long while now, and hence signs of its maturity has to show everywhere, 
especially in the compiler, as well as the package manager.


Diverging from the:

  file(line): message

format is problematic because a lot of editors rely on that to position the 
editor on the offending line.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Walter Bright via Digitalmars-d

On 12/29/2017 9:29 AM, Adam D. Ruppe wrote:

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

   -- Better compiler errors, better compiler errors, better compiler errors.



This is the only thing I greatly care about anymore. Biggest problem D has in 
real world use.


This is not actionable. What is actionable is filing bugzilla enhancement 
requests with specific examples.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Neia Neutuladh via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:
   -- Better compiler errors, better compiler errors, better 
compiler errors.


Very much so.

I actually made a list a day or two ago. Some of it is more 
speculative than concrete, though:


* unicode categories to determine what can be an identifier 
(there's no reason not to support, say, Canadian aboriginal 
syllabaries; it would just be too much work to list out each 
range of glyphs)
* concepts / compile-time interfaces (makes ranges easier to deal 
with and document)

* @safe by default
* function parameters are const scope by default (I recall this 
was a major request when const was first introduced)
* mixin templates (a template designed to be mixed in is likely 
not to work if simply invoked; this also gets us most of what 
people have been asking for with macros)
* possibly, block syntax for functions and templates whose last 
parameter is a function or alias


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Adam D. Ruppe via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:
   -- Better compiler errors, better compiler errors, better 
compiler errors.



This is the only thing I greatly care about anymore. Biggest 
problem D has in real world use.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Arek via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:

cut...
Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.


I would like to have a complete and well-defined memory model.
And its proper implementation in the compiler.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Satoshi via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:

   -- Better compiler errors, better compiler errors, better 
compiler errors.



I really wish that the compiler errors could receive some 
refinement. Mostly it feels like some error text just being 
thrown at me. It needs to be better formatted, more helpful, 
with suggestions about how to fix (if possible).


To illustrate my point:

- See the compile errors I've just encountered with DMD: 
https://cdn.pbrd.co/images/H0q609l.png


- Now compare that with an error produced by rustc:
https://cdn.pbrd.co/images/H0q6bLi.png


Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.



This topic was there for so many times.
Tuples, async/await, maybe monad (eg. int?), conditional 
dereferencing qualifier?.identifier, coalescence operator return 
x ?? 42;
better properties, default safety, explicit throw funcs, runtime 
reflection, ARC instead of GC, so support, ...


The community is quite conservative about implementing new stuff 
in D.


Look at for more info:
http://forum.dlang.org/thread/sapqaonpjseeykdcz...@forum.dlang.org?page=1
http://forum.dlang.org/thread/ot1q8b$23pt$1...@digitalmars.com?page=1



BTW: I decided to make my own language rather than forcing the 
community to implement something what I would like to see in the 
lang. https://github.com/Rikarin/Rin


Re: What do you want to see for a mature DLang?

2017-12-29 Thread Basile B. via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:
[...]
Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.


I casually encountered D issues that i qualified as "major" but 
with the time passing i don't really care anymore. D has probably 
reached the point where improving quality has become harder and 
harder.


Improving the quality does not scale linearly and i'd say so what 
you qualify as "Simple things like these" are harder to 
accomplish than that you think.


the devil is in the details.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread rikki cattermole via Digitalmars-d

On 29/12/2017 11:03 AM, maarten van damme wrote:
 >I'd like to see proper DLL (shared library) support and DIP45 
implemented. I'm making a project that I hope in the future will be 
extendable with D plugins.



Out of curiousity, what's wrong with the current dll support?


The starting problem is TypeInfo doesn't cross the dll/host binary 
boundary. Meaning no classes/exceptions.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread maarten van damme via Digitalmars-d
>I'd like to see proper DLL (shared library) support and DIP45 implemented.
I'm making a project that I hope in the future will be extendable with D
plugins.


Out of curiousity, what's wrong with the current dll support?

2017-12-29 11:36 GMT+01:00 angel via Digitalmars-d <
digitalmars-d@puremagic.com>:

> Built-in tuples:
>
> {val1, val2} = func();
>
>
> On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:
>
>> I will start:
>>
>>-- Better compiler errors, better compiler errors, better compiler
>> errors.
>>
>>
>> I really wish that the compiler errors could receive some refinement.
>> Mostly it feels like some error text just being thrown at me. It needs to
>> be better formatted, more helpful, with suggestions about how to fix (if
>> possible).
>>
>> To illustrate my point:
>>
>> - See the compile errors I've just encountered with DMD:
>> https://cdn.pbrd.co/images/H0q609l.png
>>
>> - Now compare that with an error produced by rustc:
>> https://cdn.pbrd.co/images/H0q6bLi.png
>>
>>
>> Simple things like these make a big difference. D Lang has been around
>> for a long while now, and hence signs of its maturity has to show
>> everywhere, especially in the compiler, as well as the package manager.
>>
>
>
>


Re: What do you want to see for a mature DLang?

2017-12-29 Thread angel via Digitalmars-d

Built-in tuples:

{val1, val2} = func();


On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:

   -- Better compiler errors, better compiler errors, better 
compiler errors.



I really wish that the compiler errors could receive some 
refinement. Mostly it feels like some error text just being 
thrown at me. It needs to be better formatted, more helpful, 
with suggestions about how to fix (if possible).


To illustrate my point:

- See the compile errors I've just encountered with DMD: 
https://cdn.pbrd.co/images/H0q609l.png


- Now compare that with an error produced by rustc:
https://cdn.pbrd.co/images/H0q6bLi.png


Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.





Re: What do you want to see for a mature DLang?

2017-12-29 Thread Dylan Graham via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:

   -- Better compiler errors, better compiler errors, better 
compiler errors.



I really wish that the compiler errors could receive some 
refinement. Mostly it feels like some error text just being 
thrown at me. It needs to be better formatted, more helpful, 
with suggestions about how to fix (if possible).


To illustrate my point:

- See the compile errors I've just encountered with DMD: 
https://cdn.pbrd.co/images/H0q609l.png


- Now compare that with an error produced by rustc:
https://cdn.pbrd.co/images/H0q6bLi.png


Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.


I'd like to see proper DLL (shared library) support and DIP45 
implemented. I'm making a project that I hope in the future will 
be extendable with D plugins.




Re: What do you want to see for a mature DLang?

2017-12-29 Thread JN via Digitalmars-d
AFAIK Rust doesn't have templates, but generics. Generics usually 
have much cleaner error messages because they are mostly used for 
generic functions and classes, meanwhile templates can do that 
too but much, much more, but when they break, you get entire 
paragraphs of template errors.


Re: What do you want to see for a mature DLang?

2017-12-29 Thread vit via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:

   -- Better compiler errors, better compiler errors, better 
compiler errors.



I really wish that the compiler errors could receive some 
refinement. Mostly it feels like some error text just being 
thrown at me. It needs to be better formatted, more helpful, 
with suggestions about how to fix (if possible).


To illustrate my point:

- See the compile errors I've just encountered with DMD: 
https://cdn.pbrd.co/images/H0q609l.png


- Now compare that with an error produced by rustc:
https://cdn.pbrd.co/images/H0q6bLi.png


Simple things like these make a big difference. D Lang has been 
around for a long while now, and hence signs of its maturity 
has to show everywhere, especially in the compiler, as well as 
the package manager.



Similar problem is when some template with alias callback fail to 
instantiate because callback contains error.

Example:

void foo(){
string str = 1;

/++ nice error message:
Error: cannot implicitly convert expression `1` of type 
`int` to `string`


+/


import std.algorithm;

[1, 2, 3].each!((x){
string str = 1///same error
});

/++ horrible error message without root cause:
source\app.d(660,14): Error: template app.foo.each!((x)

{

string str = 1;

}

	).each cannot deduce function from argument types !()(int[]), 
candidates are:


C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\iteration.d(899,10):   
 app.foo.each!((x)

{

string str = 1;

}

	).each(Range)(Range r) if (!isForeachIterable!Range && 
(isRangeIterable!Range || __traits(compiles, 
typeof(r.front).length)))


C:\D\dmd2\windows\bin\..\..\src\phobos\std\algorithm\iteration.d(934,10):   
 app.foo.each!((x)

{

string str = 1;

}

	).each(Iterable)(auto ref Iterable r) if 
(isForeachIterable!Iterable || __traits(compiles, 
Parameters!(Parameters!(r.opApply


+/
}


Re: What do you want to see for a mature DLang?

2017-12-29 Thread codephantom via Digitalmars-d

On Friday, 29 December 2017 at 07:53:51 UTC, IM wrote:

I will start:



I will add:


// --
module test;

import std.stdio;

@safe void main()
{
writeln("I'd like to see @safe as being the default");
}

// 



Re: What do you want to see for a mature DLang?

2017-12-29 Thread Daniel Kozak via Digitalmars-d
You should fill an issue on issues.dlang.org for this particular case.
Compile should give you some hint, that you should use lvalue instead of
rvalue.

On Fri, Dec 29, 2017 at 8:53 AM, IM via Digitalmars-d <
digitalmars-d@puremagic.com> wrote:

> I will start:
>
>-- Better compiler errors, better compiler errors, better compiler
> errors.
>
>
> I really wish that the compiler errors could receive some refinement.
> Mostly it feels like some error text just being thrown at me. It needs to
> be better formatted, more helpful, with suggestions about how to fix (if
> possible).
>
> To illustrate my point:
>
> - See the compile errors I've just encountered with DMD:
> https://cdn.pbrd.co/images/H0q609l.png
>
> - Now compare that with an error produced by rustc:
> https://cdn.pbrd.co/images/H0q6bLi.png
>
>
> Simple things like these make a big difference. D Lang has been around for
> a long while now, and hence signs of its maturity has to show everywhere,
> especially in the compiler, as well as the package manager.
>