# What Is an IDE?

fleeting

what is an IDE?

When people ask me what IDE I use, I often feel like I don’t have the answer to the question.

I edit the files in emacs, but generally run the compile commands in a separate terminal emulator.

What are the fundamental properties of an IDE.

Does an IDE need to

• edit files?
• run compile commands from the tool?
• hide the compile commands?
• perform some kinds of syntactic checks? semantic checks?
• have a dedicated configuration file?

If editing files is enough, would nano be an IDE? If running compile commands from the tool would be enough, would terminator be an IDE? If hiding the compile commands from the tool would be enough, would a shell script be an IDE?

If I use nano + terminator + a shell script, could I call this an IDE?