Programming without using IDE?

Apr 23, 2011 at 12:26am
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?
Apr 23, 2011 at 12:30am
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 Apr 23, 2011 at 12:30am
Apr 23, 2011 at 12:38am
yeah, i am using windows. what compiler/linker should i use?
Apr 27, 2011 at 1:09am
gcc compiler, grab it from:
http://www.cygwin.com/
Apr 27, 2011 at 1:40am
Why Cygwin? Unless you need POSIX compliance, you should use MinGW:
http://tdm-gcc.tdragon.net/
Apr 27, 2011 at 6:37am
"cl.exe" comes with VC++, just run it from the Visual Studios Command Prompt so you don't need to mess with your environment...
Apr 27, 2011 at 6:45am
will you debug your difficalt (in future) project withoout IDE too? :-)

Download CodeBlocks pal ...

Apr 27, 2011 at 10:05am
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.
Apr 27, 2011 at 10:20am
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
Apr 27, 2011 at 10:27am
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 Apr 27, 2011 at 10:37am
Apr 27, 2011 at 10:41am
And what "hidden capability" of command-line debuger you use for example?
And what kind of theme isn't in CodeBlocks for example? :-)
Apr 27, 2011 at 11:05am
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
Apr 27, 2011 at 11:34am
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 Apr 27, 2011 at 11:35am
Apr 27, 2011 at 10:44pm
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.
Apr 27, 2011 at 11:11pm
@ 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 Apr 27, 2011 at 11:13pm
Apr 28, 2011 at 7:37am
@ Computergeek01: Fully agree with you. That is all, what I want to explain to Moschops about beginers. Thanks.
Apr 28, 2011 at 11:46am
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.