On 2016-04-27 2:50 PM, Noel Chiappa wrote:
   From: Liam
Proven 
  There's the not-remotely-safe kinda-sorta C
in a web browser,
 Javascript. 
 Love the rant, which I mostly agree with (_especially_ that one). A couple of
 comments:
  So they still have C like holes and there are
frequent patches and
 updates to try to make them able to retain some water for a short time,
 while the "cyber criminals" make hundreds of millions. 
 It's not clear to me that a 'better language' is going to get rid of that,
 
Modern languages can indeed wipe out large classes of bugs (including
many of those that lead to vulnerabilities). But *every* advance in
abstraction does.
I like Professor Benjamin Pierce's way of putting it: "Mechanical checks
of simple properties enormously improve software quality."
This has been called for, with little traction, for a very long time;
one of my favourite calls is by Professor Per Brinch Hansen, recipient
of IEEE Computer Pioneer Medal, in 1972:
   "I expect to see many protection rules in future operating
systems...enforced by...type checking at compile time."
   -- he assuredly did not have C in mind.
  because there will always be bugs ... 
The virulence, level, and number, change. Just think of the change in
the nature and frequency of mechanically missed bugs going between:
assembler to C; C to Java; Java to Haskell; etc.
I'd rather be dealing with only the bugs that get through that sieve,
than deal with malloc/free bullshit or buffer overflows in C.
Ultimately the goal is to deal with the highest value problems, such as
incorrect specifications or assumptions, rather than accidentally
getting a stack offset wrong in one obscure instruction.
Productivity, security, reliability, correctness all demand that we wipe
out as many tiers of bug as we can, with better/more high level tools...
imho of course...
--Toby
        Noel