3 ms·
Or perhaps those people can think of better ways to get those benefits that also don't allow things like #ifndef asdf }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
by LadyCailin 4y ago
Or perhaps those people can think of better ways to get those benefits that also don't allow things like
#ifndef asdf
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
#endif
which obliterate tooling such as IDEs. Of course, this is a contrived example, but the preprocessor is just one big footgun, which offers no benefits over other ways of solving the problems you mentioned, such as constexpr and perhaps additional, currently unimplemented solutions.
- mgaunard 4y agoIt being possible to misuse a tool does not mean the tool is not very useful.
- KerrAvon 4y agoA tool being very useful doesn’t mean that it is a very good tool. There are better tools for the functionality the C preprocessor attempts to provide. Other languages have module inclusion systems and very powerful macros that don’t have the enormous footguns of the C preprocessor. Édit: to be clear, I think #embed is a fine idea; I’d use it and it would make my sourcebase cleaner in some places.
- makapuf 4y agoMy carpenter has a lot of tools that can be dangerous if misused. Of course better tools can be devised, but useful things have been done with them (and he still has all his fingers)
- LadyCailin 4y agoYes, but we’re in a thread about ways to improve the language, not about how to make the best with what’s there. This type of argument holds back improvement.