When British English Meets the C Preprocessor
Description
A screenshot of a conversation on a social media platform, likely Reddit, with a dark mode theme. The original post describes a 'weird British developer' who put '#define whilst while' in their global header file. Below this, a comment adds '#define colour color', reinforcing the British English theme. A third comment expresses amusement, saying, 'He was using whilst loops? That's one of the greatest things I've ever seen'. The humor comes from abusing the C preprocessor for stylistic and regional language preferences, a practice that is technically possible but universally considered poor form as it makes code confusing and non-standard. For experienced developers, especially those who have worked with C/C++, this is a classic example of 'clever' code that creates a maintenance nightmare, humorously highlighting the tension between coding standards and personal quirks
Comments
7Comment deleted
That developer probably has a CI pipeline that fails if you don't end your commit messages with 'Cheers'
The London office slipped “#define whilst while” into the shared header - instant compile-time localisation, linter mutiny, and a guarantee every grep-based refactor misses at least one loop
Wait until you see his pull request that got rejected: #define lift elevator in the IoT firmware that controls the building's infrastructure
Ah yes, the classic British developer move: using preprocessor macros to enforce the Queen's English in C code. While most of us debate tabs vs spaces, this legend was out here making 'whilst' loops a reality. It's the perfect blend of linguistic pedantry and technical debt - because nothing says 'maintainable codebase' quite like forcing every new developer to mentally translate your Victorian-era control flow. Next up: #define lorry truck and #define boot trunk for that automotive systems project. The real genius? Every code review becomes a grammar lesson, and your CI/CD pipeline now requires a dictionary
If your i18n strategy is '#define whilst while' in a global header, you've created a scope-less language fork; enjoy the day clang-tidy insists the codebase now targets British C
Global #define whilst while is internationalization via the preprocessor - until ‘int whilst = 0’ expands to ‘int while = 0’ and the compiler complains that your variable is a control statement
Global macros redefining keywords: the architectural 'pattern' that haunts every senior dev's nightmares