Programming without using IDE?

Hello. I would like to program in c++ without using an IDE. Can i just write the code in notepad and then use a complier to compile the txt file? If so, how to I go about doing this and what compiler would i use?
Yes you can. I do almost the same, but I use emacs rather than notepad. Under the hood, this is all that a fancy IDE does; takes the text file and passes it to the compiler/linker.

First, get yourself a compiler/linker. I assume you're using some kind of Windows?
Last edited on
yeah, i am using windows. what compiler/linker should i use?
gcc compiler, grab it from:
http://www.cygwin.com/
Why Cygwin? Unless you need POSIX compliance, you should use MinGW:
http://tdm-gcc.tdragon.net/
"cl.exe" comes with VC++, just run it from the Visual Studios Command Prompt so you don't need to mess with your environment...
will you debug your difficalt (in future) project withoout IDE too? :-)

Download CodeBlocks pal ...

will you debug your difficalt (in future) project withoout IDE too? :-)


I do. The current project runs into hundreds of thousands of lines of code and I generally debug using gdb, printlining, and the incredible power of well-structured code, decent logging and careful thought.

Debugging in an IDE provides nothing that a command line debugger doesn't also provide; it saves some time typing and removes the need to know exactly what you're doing, in exchange for the loss of some control and precision. Like all GUIs, an IDE is a trade-off that sometimes is helpful, sometimes not.
Of course, I prefer command-line based systems too, but what control and precision you tolking about?

If you design your project like console application - yes, it will be fast and reliable.
If you design your project with GUI - of cource it will be more slowly.

IDE safe more time and time = money! IMHO
Of course, I prefer command-line based systems too, but what control and precision you tolking about?


If I use a GUI interface to a programme such as a debugger, I can only do what the writer of the GUI decided to let me do, and I won't even know that there are other capabilities that are hidden. Your question contains the answer - what control? What precision? You have to ask because you don't know because the GUI hides it! :) At the very least, users of a GUI for debugging should read the debugger manual once so they know what it can actually do for them; sometimes the options are hidden so deeply in GUIs, almost impossible to find (and sometimes the options just aren't there, or the GUI just gives up and you have to type in your options anyway - many people who have only ever used the GUI will never get as far as manually entering their options).

I also trust that the GUI does what is claims to do; a decent GUI will at least show me the command line being passed, but some of them hide that.

I'm not against GUIs; I just find that I am more productive coding and debugging with as little as possible between me and the code, and with full control as much as possible. Many newcomers to coding don't even know that they're writing text files that are being passed to a command-line compiler.

Addendum: I do, however, steadfastly believe that a new coder should start with a simple text editor and a command line compiler. By all means, at the end of week one grab a pretty GUI, but the simplicity of the text file and the command line compiler cuts away all the distractions and cements permanently what the coder is actually doing. Manually typing in the compiler command, linking to a single library, seeing what happens if the library is left out or one of the files isn't compiled. If nothing else, it would eradicate forever the endless questions about the meaning of "undefined reference"!
Last edited on
And what "hidden capability" of command-line debuger you use for example?
And what kind of theme isn't in CodeBlocks for example? :-)
And you actually didn't answer on my question ;-)

I don't agree with you, that a newcomers should start with a simple text editor and a command line compiler.
I think it's difficult for theme.

I started learning C using UNIX gcc compiler and console. And now i'm not sorry about it.

Our discussion is about nothing, because we both talk about blessing of GUI and command line.

I wish that SJPxx will start his way in C++ with simple IDE and afterwards he transfer to console. IMHO
I don't agree with you, that a newcomers should start with a simple text editor and a command line compiler.
I think it's difficult for them.


Coding is difficult. I believe that not understanding how the compile-link chain works causes more difficulty than using a text editor and basic use of gcc. Still, without a formal study, this is all just opinion.

As for hidden capability, everything on this list and the additional lists at the bottom that the GUI doesn't have a tick-box for:
http://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

Last edited on
I just don't see the point of using and IDE for simple programs. Setting up a project folder, creating source files all that can just be done via cmd and notepad. I kinda like the idea of keeping things really simple. Plus I find using cmd well........neat.
@ OP: You should still setup a project folder. No, it isn't required but just dropping evey source file you work with into the same directory is not a good way to start learning C++. Every aspect of your program should be organized this includes the aspects that are outside of the program to.

Also if "File->New->Folder" is too much work for you then you may want to rethink the language your getting into.

EDIT: To avoid some trouble at least do your linking and such with a batch file to start. This way you won't get bogged down with silly errors.

@ Moschops: I'd just like to point out that a lot of this stuff can get a new comer in trouble, this is why IDE's come with default settings. In the entire time I've been contributing to this site I've asked two people to post their MakeFile, what you're suggesting would make linking errors the most common issue on this site.
Last edited on
@ Computergeek01: Fully agree with you. That is all, what I want to explain to Moschops about beginers. Thanks.
Personally, for small projects and beginners, and would recommend not using bloated IDEs. Learn the command line and the options and you'll understand every development environment.
Topic archived. No new replies allowed.