Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

At least most of these don't seem to be added language features, but separate "static analyzers" that rely on inference from existing language structures.


Sounds like a lot of "contemporary automation today" to me - automation that would often apply about as well to C code bases as well as horrifically overcomplex C++ codebases.

Also, why even draw a stark contrast between "a language" and "its tooling"? As a dev, you get to use both.

What is even the line..? Almost every compiler for anything provides options. Does gcc -fsanitize=.. not count because it's not "standardized" or only because its not activated in "typical" deployments like Rust integer overflow checks?


The line is very, very easy: if it is in the language, you can see it represented syntactically in the source code, and programmers using the language write it there. If not, not.


Clang and Visual C++ static analysis tooling can be represented on the source code via C++ attributes and blessed library types, so...


So... not in the language, but in proprietary, non-portable extensions.


With exception of C++, they certainly aren't.

C++ type system is impossible to fix while keeping backwards compatibility, so static analysis tooling is the only possible solution.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: