[HN Gopher] Sean Baxter: Safe C++ [video]
       ___________________________________________________________________
        
       Sean Baxter: Safe C++ [video]
        
       Author : awesomekling
       Score  : 36 points
       Date   : 2024-05-09 17:13 UTC (5 hours ago)
        
 (HTM) web link (www.youtube.com)
 (TXT) w3m dump (www.youtube.com)
        
       | pjmlp wrote:
       | Circle is the real Typescript for C++, still hopeful some of this
       | stuff helps to steer C++ into the right direction.
       | 
       | Too much infrastructure code and industry standards, that will be
       | kept being done in C++ for decades to come, and need a way for
       | improving the whole security story.
        
       | rogerclark wrote:
       | Someone please acquihire Sean and his compiler! This guy is a
       | once-in-a-generation polymath: an expert in compilers
       | (obviously), GPUs (worked on CUDA at NVIDIA), physics and
       | topography (JPL etc).
       | 
       | Buy the compiler, get somebody who could build you a nuclear
       | reactor, drug discovery simulator and a GPU architecture. Deal of
       | the century.
        
         | germandiago wrote:
         | He is out of the ordinary for sure and a very smart person. But
         | I still think that taking a more Hylo-like path to safety would
         | be nicer and would complicate things less.
         | 
         | FWIW, with Hylo you would rely on value semantics, you would
         | not need Rust-style full-blown borrow checks with viral
         | annotations, which is what he has been implementing and you
         | would get rid of any kind of view types for parameter passing.
         | You would just pass values.
         | 
         | I really think that is the path forward to bet on.
         | 
         | For whoever thinks Hylo is too new or experimental, it is not
         | the language itself what is important but what C++ can learn
         | from it. Hylo is based in experience implementing Swift by Dave
         | Abrahams, Generic programming from Alex Stepanov and value
         | semantics and structural polymorphism and value semantics and
         | related work from Sean Parent.
         | 
         | So even if the implementation itself is not so advanced, it is
         | just a natural evolution of all things I just named here which
         | have a track record of like 30 years at least in total with a
         | lot of generic code and value semantics lessons and runtime
         | polynorphism lessons learned.
        
           | pjmlp wrote:
           | Maybe we could eventually get _-fsafe_ , I guess dreaming is
           | allowed.
        
       | coffeeaddict1 wrote:
       | What this guy has achieved with Circle is nothing short of
       | incredible! Writing an entirely new compiler (even if it's "just"
       | a front-end to LLVM) and giving a concrete demonstration of a
       | borrow checker for a beast of a language like C++ is crazy
       | (considering that he received _zero_ help from anyone but
       | himself).
       | 
       | However, I'm afraid that the ISO C++ group is not ready for his
       | proposal. We're talking about a committee which has stubbornly
       | and consistently shown that they are willing to sacrifice safety
       | and ergonomics in the name of backward compatibility. The
       | introduction of a borrow checker is a _huge_ change that will get
       | shut down because someone somewhere is unwilling to rewrite their
       | (often broken) code and /or compile their binaries again.
        
         | Maxatar wrote:
         | The ISO committee is becoming increasingly less relevant. It's
         | ineffectiveness has pushed numerous groups to create a
         | successor to C++.
         | 
         | It's no doubt a lot of work but if any of the successors to C++
         | such as Carbon, Circle, or cpp2 manage to release a solid
         | compiler that is mostly compatible with C++17, I think you'll
         | see a large migration towards it.
        
           | gumby wrote:
           | I can't really evaluate your comment on relevance -- some
           | things do seem to inexplicably bog down, but on others they
           | move usefully and quickly. And the conservatism of
           | compatibility really is incredibly important, which I say as
           | someone who'd be happy (and relieved!) to blow away API
           | compatibility (actually to use the API step capabilities
           | already available behind the scenes, at least for ELF).
           | 
           | But the part about "numerous groups to create a successor"
           | doesn't really make your case: one of the best ways for
           | things to get into any standard is to have multiple efforts
           | that can be used as experience and starting points for the
           | evolution of a standard. This has already happened a lot in
           | the history of C++
        
       | PaulDavisThe1st wrote:
       | It amazes me and makes me feel slightly more stupid to discover
       | how much more easily I grok all this Rust stuff when it's
       | expressed (elegantly) in what is basically C++.
        
         | seanbax wrote:
         | Presenting a familiar syntax certainly makes it easier to
         | follow.
        
       ___________________________________________________________________
       (page generated 2024-05-09 23:03 UTC)