August 24, 2016
On Tuesday, 23 August 2016 at 18:37:46 UTC, Dicebot wrote:
> By its design definition DIP process is for approving communitty proposals by Walter/Andrei thus there is no point in pretending they can't ignore the feedback. Only reason it is even processed in the same queue is so that developers can track all major proposed changes in one place.

Well the fact that we have a public review and can criticize the proposal is as much as you can get from a peer reviewed process. If you have valid and important arguments they won't just get ignored.
In fact [DIP74](http://wiki.dlang.org/DIP74) faced a lot of criticism for not properly addressing escape checking first, that's one of the main reasons why we have DIP1000 now.
The overall goal is also clear and has been stated ([Vision/2016H2 - D Wiki](https://wiki.dlang.org/Vision/2016H2#H2_2016_Priorities)), we want memory safe code w/o the GC.

-Martin

August 27, 2016
On Wednesday, 24 August 2016 at 15:30:34 UTC, Martin Nowak wrote:
>  we want memory safe code w/o the GC.
>
> -Martin

Rust has had that since day one.  Funny how not too long ago D core was mocking Rust, but now they're trying to be more like it.  I bet in a few years we'll see hygienic macro system in D.

August 26, 2016
On 8/26/2016 9:53 PM, Bill Hicks wrote:
> On Wednesday, 24 August 2016 at 15:30:34 UTC, Martin Nowak wrote:
>>  we want memory safe code w/o the GC.
>>
>> -Martin
>
> Rust has had that since day one.  Funny how not too long ago D core was mocking
> Rust,

We've never mocked Rust's safety features, although I have posted that they are too complex for D and desire a simpler system.


> but now they're trying to be more like it.

We've had proposals for more safety annotation in D for at least 10 years (from Bartosz Milewski), but they've always been more complex than I wanted. DIP1000 is a much simpler scheme.


> I bet in a few years we'll see hygienic macro system in D.

I seriously doubt it (they've been proposed many times). I haven't studied Rust's macro system, but others I've seen (expression templates, user defined syntax, CPP, macro assemblers, etc.) are very powerful, but ultimately off-putting because it makes code very hard to understand.

For example, Microsoft put a very powerful macro system in their assembler, MASM. Programmers went to town with it, each programmer essentially inventing their own language that was undocumented and unreadable to anyone else. A Microsoft programmer related to me that once he was given the job of updating a large assembler program that someone no longer there had written in their own invented macro language.

He got it updated and fixed in short order. Surprised, his manager asked him how he figured out how it worked, as everyone else who tried had failed.
My friend said he didn't even attempt to figure it out. He assembled it, and ran the result through a disassembler (our very own OBJ2ASM) which made it nice, readable, and fixable.

An earlier incarnation of myself had also succumbed to the siren song of inventing my own assembler language via macros. Over time, I gradually stopped using it and reverted to writing vanilla, understandable assembler.

I've seen the story repeated with CPP macros and expression templates, and I've heard similar accounts about other macro systems.

Making macros hygienic doesn't fix it.

P.S. I still from time to time use OBJ2ASM to figure out what someone's wretched ASM file is doing, like I'll run CPP by itself to see what some miserable CPP abuse is actually generating. I've also been gradually removing all CPP use from my own C++ code (the dmd back end).

A macro system is like putting a 2000 HP motor in a car. It's sure exciting, but ultimately you just don't want it in a daily driver, or anyplace other than the track, because it'll kill you.

August 27, 2016
On 8/21/16, Dicebot via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
> This week I had a tele-meeting with Andrei and Walter regarding
> the fate
> of DIP1000
> (https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md)

Trivia question: why is it named DIP 1000? We've had less than 100 DIPs before https://github.com/dlang/DIPs was opened, the jump seems very arbitrary to me (and it makes it appear as if we had a thousand DIPs already to the outsiders)
August 27, 2016
On Saturday, 27 August 2016 at 06:37:58 UTC, Andrej Mitrovic wrote:
> On 8/21/16, Dicebot via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:
>> This week I had a tele-meeting with Andrei and Walter regarding
>> the fate
>> of DIP1000
>> (https://github.com/dlang/DIPs/blob/master/DIPs/DIP1000.md)
>
> Trivia question: why is it named DIP 1000? We've had less than 100 DIPs before https://github.com/dlang/DIPs was opened, the jump seems very arbitrary to me (and it makes it appear as if we had a thousand DIPs already to the outsiders)

To clearly disambugate all new DIPs from all old ones by the number only.
August 27, 2016
On Saturday, 27 August 2016 at 05:57:25 UTC, Walter Bright wrote:
>
> We've never mocked Rust's safety features, although I have posted that they are too complex for D and desire a simpler system.
>

"A disharmonic personality. Reading any amount of Rust code evokes the joke 'friends don't let friends skip leg day' and the comic imagery (https://www.google.com/search?q=friends+don%27t+let+friends+skip+leg+day&safe=off&tbm=isch&tbo=u&source=univ&sa=X&ved=0CB0QsARqFQoTCM_ViveKhMkCFUfZPgodVsgLsA&biw=1582&bih=1352) of men with hulky torsos resting on skinny legs".  --Andrei

If that's not mockery, then how would you describe it?

>
>> but now they're trying to be more like it.
>
> We've had proposals for more safety annotation in D for at least 10 years (from Bartosz Milewski), but they've always been more complex than I wanted. DIP1000 is a much simpler scheme.
>
>

And he continues:

"Unfortunately, that's seldom the problem domain, which means a large fraction of the thinking and coding are dedicated to essentially a clerical job (which GC languages actually automate out of sight). Safe, deterministic memory reclamation is a hard problem, but is not the only problem or even the most important problem in a program". --Andrei

It should be quiet obvious that a non-optional GC does not belong in a language that claims to be a system programming language.  Not only that, but for all these years D has had a rather poor GC.  At last we've witnessed the removal of GC usage from Phobos, and, if my understanding is correct, y'all trying to change the role GC plays in the language.  So maybe the Rust folks know something Dr. Andrei doesn't?  And why criticize Rust just because they've taken a potentially better approach to memory management while 'D has had the downsides of GC but hasn't enjoyed its benefits'?  Besides, if you can't please the Linux-kernel-developer type, then you ain't got a system programming language.  And if we are honest, I don't think D fits anywhere.

>> I bet in a few years we'll see hygienic macro system in D.
>
> I seriously doubt it (they've been proposed many times). I haven't studied Rust's macro system, but others I've seen (expression templates, user defined syntax, CPP, macro assemblers, etc.) are very powerful, but ultimately off-putting because it makes code very hard to understand.
>
>  ...
>
> A macro system is like putting a 2000 HP motor in a car. It's sure exciting, but ultimately you just don't want it in a daily driver, or anyplace other than the track, because it'll kill you.

I'm not a big fan of macros either, but should we ban chainsaws too because they have the potential to cause serious injuries?  The problem with misuse of features like macros is lack of proper training and education, not so much the features themselves.  Large percentage of professional developers don't even have a degree in CS/SE, and they lack proper training.  Most of them become developers because of the money, and many of them get hired for the wrong reasons (just look at the interview process), and these are the kinds of developers responsible for large percentage of the garbage code that's out there.  Corporations that hire them care mostly about producing the largest amount of code in the shortest amount of time to increase earnings and profits.  Many helper tools and dumbed-down languages have already been created particularly for these kinds of crowds.

Unfortunately, we see a similar pattern in other areas.  The dumbing down of society and the deteriorating education system is not an accident.  Just compare the writing skills of the average person from, say, the 1930s to what we have today, not to mention their level of intellect.  And today we have spell checkers and software to check grammar, how amusing.  Should we make changes to the English language to help these people make fewer mistakes?
August 27, 2016
On Saturday, 27 August 2016 at 15:19:40 UTC, Bill Hicks wrote:
> On Saturday, 27 August 2016 at 05:57:25 UTC, Walter Bright wrote:
>>
>> We've never mocked Rust's safety features, although I have posted that they are too complex for D and desire a simpler system.
>>
>
> "A disharmonic personality. Reading any amount of Rust code evokes the joke 'friends don't let friends skip leg day' and the comic imagery (https://www.google.com/search?q=friends+don%27t+let+friends+skip+leg+day&safe=off&tbm=isch&tbo=u&source=univ&sa=X&ved=0CB0QsARqFQoTCM_ViveKhMkCFUfZPgodVsgLsA&biw=1582&bih=1352) of men with hulky torsos resting on skinny legs".  --Andrei
>
> If that's not mockery, then how would you describe it?

On my phone so can only speak from memory, but if it serves then he went on to equally criticise D for its warts and blemishes. It would be cherry-picking to ignore context and just say that he threw mockery at rust.
August 27, 2016
On Saturday, 27 August 2016 at 15:34:04 UTC, Anonymouse wrote:
> ...

Please never reply to that person unless you are his other account. Not in an announce threads at least.

August 27, 2016
On 8/27/2016 8:19 AM, Bill Hicks wrote:

I believe Andrei's point was that Rust had focused on one problem to the relative exclusion of others, not that memory safety was unimportant. Rust, to its credit, has changed the perception of the importance of memory safety.


>>> I bet in a few years we'll see hygienic macro system in D.
>>
>> I seriously doubt it (they've been proposed many times). I haven't studied
>> Rust's macro system, but others I've seen (expression templates, user defined
>> syntax, CPP, macro assemblers, etc.) are very powerful, but ultimately
>> off-putting because it makes code very hard to understand.
> I'm not a big fan of macros either, but should we ban chainsaws too because they
> have the potential to cause serious injuries?

Every language bans certain things because they are too powerful and too error-prone. For example, monkey-patching in Ruby - it is undeniably powerful, but people are moving away from Ruby because it just isn't worth it.


> The problem with misuse of
> features like macros is lack of proper training and education, not so much the
> features themselves.

This argument is often put forward as the solution, but it just does not scale. This is why so, so much code has security bugs in it. Heck, the whole reason people move from C to Rust is because education and training have proved inadequate to get safe code written in C, despite decades of trying.


> Large percentage of professional developers don't even
> have a degree in CS/SE, and they lack proper training.  Most of them become
> developers because of the money, and many of them get hired for the wrong
> reasons (just look at the interview process), and these are the kinds of
> developers responsible for large percentage of the garbage code that's out
> there.  Corporations that hire them care mostly about producing the largest
> amount of code in the shortest amount of time to increase earnings and profits.
> Many helper tools and dumbed-down languages have already been created
> particularly for these kinds of crowds.

Abuse of macros is hardly confined to poorly trained developers. I've seen paper after paper with complex macro abuse presented at conferences by top professionals, even PhDs.

(I'm also sure that in their opinion these are legitimate uses of macros. My opinion on macros is hardly universal.)


> Unfortunately, we see a similar pattern in other areas.  The dumbing down of
> society and the deteriorating education system is not an accident.  Just compare
> the writing skills of the average person from, say, the 1930s to what we have
> today, not to mention their level of intellect.  And today we have spell
> checkers and software to check grammar, how amusing.  Should we make changes to
> the English language to help these people make fewer mistakes?

There are a lot of specialized variants of English that attempt to remove mistakes, ambiguities, and nail down meanings.

BTW, I don't agree there ever was a golden age of education in America.
August 27, 2016
Best to add him to your killfile instead of responding.