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
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.