When you compile (build) a low level language, your source code is "translated" into machine code. This code is close to assembly in syntax, though the instructions aren't really humanly readable, hence people say it's just "ones and zeros" which it does boil down to in the end. I prefer thinking of it as groups of bytes forming instructions though, since an individual bit means nothing. It's beneficial to have this in mind when programming in C/C++.
The most common low level languages these days are C, C++ and perhaps Assembly (don't go there yet) that compiles down to machine code. The programmer/distributor has to compile their source to each specific system they desire to publish it on. Usually there's just one specific system (OS or machine architecture like x86) that the developer has in mind.
There's also high level languages, such as C# and Java that run on virtual machines
(VM). Applications in these languages are often distributed in a tokenized (think replacing words with IDs) form of your source or simply left un-obfuscated. The VM reads the source "just-in-time" and does a simple compilation on the spot for the specific machine you're on. This lets you publish your application on any machine without having to worry about compiling specifics, because the VM sorts that out and makes a generalized machine interface for you. This interface adds an "indirection" to most parts of the language and generally makes it slower than C/C++. The VM languages does tend to cut down on production time since they have a more extensive standard library and more high level functionality.
Command line compiling isn't really necessary in my opinion. If you run on windows, get the Visual Studio express 2010 or 2008. It's well known among professionals and you tend to get good help using it. It also has the best "intellisense" and debugger money can't
buy (it's free). Compiling a basic Hello World in Visual Studio requires no additional settings. Just start up a "solution" and add a "project". Solutions in VS are just groups of projects. Projects keeps track of the source files and the compiler options for building them.If you're interested in programming for games
, there's an excellent series that walks you through each step of setting up SDL and start making fancy graphics! Go to Lazy foo's SDL tutorials
. He's got instructions for Visual Studio, Code blocks, and many other IDEs and compilers.
For the specifics of the language itself, http://cplusplus.com/
provides an excellent reference and tutorial which I've used for years when I need to looks something up.