Javascript (programming language) and Browser (runtime environment) is a perfect piece of combination. With JS, you have many choices of implementation. With Browser, runtime error doesn't crash user's device.
Zig: software should be perfect [video]
31–40 of 141 posts
Re: Zig: software should be perfect [video]
#32Earlier quoted context omitted.
Yeah. Original title is “Zig: A programming language designed for robustness, optimality, and clarity – Andrew Kelley” and “Software should be perfect” is much more sensational.
If you look at the video, you'll see that "Software Should Be Perfect" is the title slide of the talk (you don't even have to click play, it's there at the start). And then the first words out of the speaker's mouth (other than a sound check) are "I'm going to try to convince all you that software should be perfect". The "original title" you're referring to is what the person who uploaded the talk to youtube titled t…
Re: Zig: software should be perfect [video]
#33Re: performance claims, I wonder if the C sha256 implementation would have been more competitive with -march=native -mtune=native?
My hypothesis is that Zig's compiler passes the equivalent of -march=native to the backend, which is why it should also be given to the C compiler to give a fair comparison (and a speedup of 30% or so).
Re: Zig: software should be perfect [video]
#34Earlier quoted context omitted.
I made this argument in the talk: the only problem with exception-based handling is the lack of explicitness. It's too easy to call functions without being aware of the set of possible errors. Many c++ projects disable exceptions entirely. Writing "exception safe" code is tricky and non-obvious. Functions which should be guaranteed to never fail often can throw std::bad_alloc. Try-catch syntax forces incorrect nestin…
> the only problem with exception-based handling is the lack of explicitness - It's too easy to call functions without being aware of the set of possible errors. i.e. checked-exceptions?
Re: Zig: software should be perfect [video]
#35Re: performance claims, I wonder if the C sha256 implementation would have been more competitive with -march=native -mtune=native?
Re: Zig: software should be perfect [video]
#36Earlier quoted context omitted.
> Related: Only zig has fast errors with traces. Other languages have no traces or a high performance cost. Look up error return traces in the docs. Out of curiosity, have you compared this to Rust’s backtrace mechanism? I’d be interested in the perf difference, if it’s available.
Rust's panics and their backtrackes are essentially the same as C++ exceptions.
Re: Zig: software should be perfect [video]
#37It is actually a nice informative video, but the title is as dumb as dumbness itself. Software should not be perfect. It should be useful. In places where perfection increases usefulness (s.a autopilot), go ahead make it perfect. In most cases, striving for "perfection" is a profound misallocation of resources.
I'd expect some downvotes are based on negative reactions to this part of the comment: "the title is as dumb as dumbness itself." (Dear avip: if your comment said "the title is off-base" you would have made your point just as effectively and without the downvotes.)
Re: Zig: software should be perfect [video]
#38Javascript (programming language) and Browser (runtime environment) is a perfect piece of combination. With JS, you have many choices of implementation. With Browser, runtime error doesn't crash user's device.
There's a large number of JS bugs and sandbox escapes in all browsers. They certainly can crash the user device.
Re: Zig: software should be perfect [video]
#39Re: performance claims, I wonder if the C sha256 implementation would have been more competitive with -march=native -mtune=native?
Why isn't `-march=native -mtune=native` enabled by-default for every piece of software compiled unless explicitly specified otherwise?
Re: Zig: software should be perfect [video]
#40Re: performance claims, I wonder if the C sha256 implementation would have been more competitive with -march=native -mtune=native?
Why isn't `-march=native -mtune=native` enabled by-default for every piece of software compiled unless explicitly specified otherwise?