On the future of DIP1000

Walter Bright via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Aug 27 13:47:16 PDT 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.


More information about the Digitalmars-d-announce mailing list