3 ms·
> The issue is that C is not much of an "IDE language" This isn't an issue with the language so much as it is with the build systems, includes, library paths,
by madhadron 7y ago
> The issue is that C is not much of an "IDE language"
This isn't an issue with the language so much as it is with the build systems, includes, library paths, and tooling.
Compare to Java (set the classpath to exactly the artifacts you want and IntelliJ uses its own build system unless you explicitly tell it otherwise), Python (set up a virtualenv with exactly what you want and PyCharm handles its own builds, insofar as Python builds).
In C on Windows and Unix you have to figure out how to find and address includes and libraries in a cross platform way. CMake is probably the best bet. If they were in the position of, say, TurboC back in DOS days where they provided stdlib and you added everything else you wanted, they could do as good a job as for Java.
- dehrmann 7y ago> This isn't an issue with the language so much as it is with the build systems, includes, library paths, and tooling. Exactly. #include "header.h". But where is it? Depends on compiler flags. Java has the same problem, but luckily has only ~2 build systems that are well-supported by IDEs.
- madhadron 7y agoJava doesn't really have the same problem. It has the classpath, and that's it, across all platforms. Nor do the big IDEs use ant, maven, or gradle as their internal build system, though most of them support controlling them.