arclight on Nostr: Header files and the macro processor are two aspects of C-like languages I just ...
Header files and the macro processor are two aspects of C-like languages I just despise, C++ header files in particular. Then again, I spend a lot of time in Fortran where declarations must occur before executable code (ignoring BLOCK constructs and compile-time expressions). The lack of templating and a preprocessor hurts when trying to write precision-independent functions but at least the equivalent of header files are auto-generated so maintaining consistency between .c and .h files isn't an issue. Lack of macros is nice since there's never a question of whether a function-like element is a real function or a Post-It note masquerading as a function. Nothing like trying to write a C/Fortran interface and constantly tripping over macros that need to be recoded in Fortran. I'm an application dev not a system dev so C has never been much use to me - too low level and fiddly. Dealing with Fortran also makes you sensitive to 50-year-old constructs that are modern misfeatures.