Be also aware of Rice's theorem. (it applies to static analyzers like Frama-C and compilers like GCC, and all Turing complete programming languages and implementations).
Some programming languages favor expressiveness and declarativity (a lot of scripting languages, but also high-level programming languages like Agda, Prolog, Lisp, Haskell, Ocaml, ...). When the cost of development is important (human time and cost of developers), it is suitable to use them (even if the runtime performance is not optimal).
Other programming languages favor run-time performance (many low-level languages, with usually compiled implementations, like C++, Rust, Go, C, assembler, also specialized languages like OpenCL ...); often their specification allows some undefined behavior. When the performance of the code matters, it is preferable to use these languages.
Of course the performance is related to the compiler or interpreter of your programming language. Some naive compilers (e.g. for C, tinycc) are generating quickly slow code. Some bigger or more complex compiler (for the same C language, gcc) are able to generate (slowly) efficient code.