Hacker News new | ask | show | jobs
by fr0styMatt2 4034 days ago
My pet hate is #include files. The whole way that C handles multiple source files just seems archaic to me, having worked in higher-level languages. I wish C had a proper package system that was standard, so I don't have to mess around with things like include file path order (or my favorite, the C++ template definitions having to be in the header files thing I only recently learned about).
1 comments

Interestingly, I first started with C (although I haven't written a line of C code for a long time), and when I first move to higher-level languages, I dislike the fact that I have no idea where the file I just imported is. Moreso when I'm playing with obscure/ new language: if I can just import whatever files I wanted (rather than at package level), it seems that would be much easier to hack on the language/std itself.
I have no idea where the file I just imported is

A sufficiently long include path can give you this problem anyway. I recently tripped over this when I created a "reason.h" and discovered that Windows had a file of the same name deep inside MFC.

I recently tripped over this when I created a "reason.h" and discovered that Windows had a file of the same name deep inside MFC.

It is my understanding that that would be solved by placing your file in a local directory called 'inc/' and having:

  #include "inc/reason.h" 
instead of:

  #include <reason.h>
(or just replacing "" with <>). But I have never programmed in VSC before, so I may be wrong.