Notices by Verius (verius@community.highlandarrow.com), page 22
Verius (verius@community.highlandarrow.com)'s status on Sunday, 04-Feb-2018 06:08:07 EST
VeriusThisย https://github.com/dotnet/coreclr/blob/master/Documentation/botr/intro-to-clr.md is a quite interesting read. And it got me thinking of the marketing of Rust. As the doc rightly mentions non-trivial programs often have hard-to-predict lifetimes. Rust's famous memory guarantees are very dependent on static understanding of lifetime. Now I don't claim to fully understand Rust but as far as I can see it only provides a partial solution to memory safety (for variables with statically determined lifetimes, though at zero runtime overhead) where GC provides a full solution (though at an overhead that varies between insignificant and crippling depending on workload and performance targets). Meanwhile GC is waaaay easier to program with, which actually matters a great deal out there in the real world where your coders might not be the best and the brightest.
@bob Ok, so let's think this through. Assuming the FEC or local equivalent doesn't intervene I'd expect there to be some kind of financial instrument where you can bet that bugs will not occur. It would be reasonable for people to take those and watch the commit stream like a hawk to find any sabotage attempts (cause the easiest way to get your bounty is to introduce the bug in the first place). On one hand quality of code review would rise but on the other hand you'd get massive flamewars over whether a patch introduces a bug for the benefit of its author. Yeah, you're right, it would have a major negative impact in practice.
@maiyannah At this point I doubt cryptocurrencies are actually used as currency (as opposed to as an investment) in a statistically significant way for non-illegal purposes. The use as tender in legal activities seems to have gone down compared to a few years ago due to bitcoin's transaction fees going up and due to price volatility.
@maiyannah I'm not sure they're running scared of cryptocurrency in general. But they're probably uneasy with the most common forms of it (Bitcoin, ETH) for two reasons: 1. there's bound to be a crash in the market at some point which could use economical issues if the bubble becomes too big (banks don't like economical issues, it cuts into their profit margins) and 2. anonymous currency is a completely alien way of thinking for banks which are used to heavy regulation and KYC laws so they have a hard time wrapping their head around it. There is some experimentation in bank land with more regulated forms of cryptocurrency though, the whole distributed ledger thing is something many banks are at least interested in understanding.
@ninjawedding I've found a good way to reason about Undefined Behavior is that it's stuff that's incorrect but expensive in terms of performance to require a compiler to detect. For example to define null pointer derefences you actually would need to insert a check everywhere a pointer could be null. You can't just say "this crashes the program" since the C language spec doesn't actually mandate the behavior of the processor and OS (you can't force every OS to have a non-accessible page 0 and in deeply embedded situations you will want to use that page (or won't have virtual memory / page protection bits)). Meanwhile a compiler can do some useful tricks if it can know a pointer won't be dereferenced (since that would be a bug by the programmer). Same with strict aliasing, it allows the compiler to assume two pointers won't point to the same location and that has important effects on possible optimizations.
I sure hope this gets round to the politicians. Something tells me it will make Google even more unpopular with the current congress critters and the prez. Might give them a wee bit less leverage in DC.