<div dir="ltr"><div>[moving to COFF as this has drifted away from Unix]<br></div><div dir="ltr"><br></div><div dir="ltr">On Sat, Sep 28, 2024 at 2:06 PM Larry McVoy <<a href="mailto:lm@mcvoy.com">lm@mcvoy.com</a>> wrote:</div><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I have a somewhat different view.  I have a son who is learning to program<br>
and he asked me about C.  I said "C is like driving a sports car on a <br>
twisty mountain road that has cliffs and no guard rails.  If you want to<br>
check your phone while you are driving, it's not for you.  It requires<br>
your full, focussed attention.  So that sounds bad, right?  Well, if<br>
you are someone who enjoys driving a sports car, and are good at it,<br>
perhaps C is for you."<br>
<br></blockquote><div>If you really want a language with no guard rails, try programming in BLISS.</div><div><br></div><div>Regarding C and C++ having dangerous language features--of course they do.  Every higher-level language I've ever seen has its set of toxic language features that should be avoided if you want reliability and maintainability for your programs.  And a set of things to avoid if you want portability.</div><div><br></div><div>Regarding managed dynamic memory allocation schemes that use garbage collection vs. malloc()/free(), there are some applications where they are not suitable.  I'm thinking about real-time programs.  You can't have your missle defense software pause to do garbage collection when you're trying to shoot down an incoming ballistic missile.</div><div><br></div><div>-Paul W.<br></div></div></div>