4 ms·
All of them? No. But will a modern language, where many more properties are mathematically proven through the type system, massively improve the situation? Yes.
by anyfoo 6y ago
All of them? No. But will a modern language, where many more properties are mathematically proven through the type system, massively improve the situation? Yes.
If you don’t believe me, do the converse and write your next big project completely in assembly (which is effectively untyped), and see what happens.
- saagarjha 6y agoRemoved undefined behavior from your code with this one weird trick!
- dathinab 6y agoThrough only if has high usability. You currently can bend C++ into ways to have such a type system. The usability this introduced through additional complexity is just very very bad. So no one does it because bad usability means bad productivity and getting a project done with bugs is often better then getting it not done at all (sure there are exceptions!).
- anyfoo 6y agoThat's a good point, and I think you've hit one of the main issues why we're still stuck with old, unsafe languages. There is the saying that once you got a Haskell program to compile, it usually just works, and I personally found it to be true a lot. But getting it through the compiler can indeed be much more of a journey than in, say, C. And I realize that the work you have to put in to just even being able to run something can be discouraging, maybe going against a natural (or maybe just common) affinity towards tight, iterative "change-compile-try" approaches. Still, in cases where it really matters, i.e. system software or common, but often mission-critical software like sqlite, maybe it's worth taking the jump?
- pdimitar 6y agoI would jump with joy if sqlite3 was rewritten in Haskell, OCaml or Rust. They can bring so much to the table in terms of safety and less development surprises.