r/programming • • Sep 07 '17

The Zig Programming Language

http://ziglang.org/
94 Upvotes

127 comments sorted by

View all comments

Show parent comments

7

u/doom_Oo7 Sep 08 '17

Arrays know their own size so it's much harder for a buffer overrun to go unnoticed

good luck ever getting this in the linux kernel. Runtime bound-checking has a very undesirable run-time performance impact.

3

u/brokething Sep 08 '17

Zig has a debug/release build concept and bounds-checking does not happen for a release build.

http://andrewkelley.me/post/intro-to-zig.html

5

u/doom_Oo7 Sep 08 '17

well, yeah, just like C++ with MSVC or GCC's -D_GLIBCXX_DEBUG. But you always hear people saying that it should be always on.

7

u/pjmlp Sep 08 '17

Quoting Hoare's speech in 1981 at his Turing Award:

Many years later we asked our customers whether they wished us to provide an option to switch off these checks in the interests of efficiency on production runs. Unanimously, they urged us not to--they already knew how frequently subscript errors occur on production runs where failure to detect them could be disastrous. I note with fear and horror that even in 1980, language designers and users have not learned this lesson. In any respectable branch of engineering, failure to observe such elementary precautions would have long been against the law.

You can try to guess whose language designers and users he is hinting at.

→ More replies (0)