Talk on what a systems programming language needs to replace C

H. S. Teoh hsteoh at
Thu Sep 5 21:29:20 UTC 2019

On Thu, Sep 05, 2019 at 01:50:03PM -0700, Walter Bright via Digitalmars-d wrote:
> On 9/5/2019 3:06 AM, Russel Winder wrote:
> > The lesson from Groovy was to actively avoid doing stupid things and
> > to trust programmers not to f### things up. Which they didn't.

Sorry to say, having worked in the industry for a few decades, I have
exactly the opposite sentiment.  Perhaps things aren't that way where
you are, and that's good for you.  Where I am, the worst possible code
gets written because the language allowed it, and it falls upon my
shoulders to fix the inscrutable problems therein long after the
original author has moved on to greener pastures.  "Trust the
programmer" is an attitude I used to subscribe to, but these days it
leaves a bitter taste in my mouth.

> All programmers agree with this sentiment, and create a hellish mess
> anyway.

Yep.  Especially when there's a deadline and the customer is being
unreasonable, and your job is on the line, then anything goes.
Unreadable hacks using C macros?  Sure, if it gets the job done before
you're fired.  Operator overload abuse? Sure, if it gets the job done
before you're fired.  Inscrutable pointer casting hacks?  Oh yes, if it
gets the product shipped by the deadline.  Making things easier for the
poor sod who'll be maintaining your code a decade later?  That's not
even a consideration when the deadline is looming, the customer is
demanding, and the project manager is angry.

Some things should not be allowed by the language, or at least should be
harder to do compared to the "right" way. The incentives need to be
right. Free-for-all usually means lowest common denominator, and believe
me, when it comes to average code quality in your typical "enterprise"
code, that denominator is low indeed.


"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell. "How come he didn't put 'I think' at the end of it?" -- Anonymous

More information about the Digitalmars-d mailing list