Hmm... my CS curriculum must be pretty weird, then. In neither high school nor university have I taken any class that even suggested Visual Studio. I can and have used it on some of my assignments, but I've also used kate, gvim, netbeans, eclipse (OK, this one was for work; I prefer NB for my Java coding), and even Monodevelop (which is sadly inferior to VS, but gets the job done for C# and can even use VS project files). I think the only major code editor I've never used is Xcode, although I'm not personally a fan of emacs.
As for using a makefile... makefiles are easy; the basic knowledge required is the material of a single 50-minute lesson at worst. Learning the intricacies of GNU make vs. bmake vs. cmake vs. nmake is an irritating, but not difficult, exercise in use of a search engine. On the other hand, I've not found much where a makefile is actually the best possible way to do something. Sometimes it's the best solution easily available, but I'd really rather let my development tools take care fo that for me, so I can focus on writing and testing code.
As for high-cost, you do realize the "Express" editions of Visual Studio (which are basically the same as the normal editions, except each one provides support for only one language) are free of charge, don't you?