This is going to be tl;dr, but whatever.
An IDE, as the name implies, it a collection of tools that work together to theoretically make programming easier. Essentially, its a fancy text editor. To make a program "work" (assuming it's well written), we need some way to transform this code to something a machine can understand. This is done of a variety of levels. The first level, is something like assembly. We write assembly code and use an assembler to transform this into machine code, which the computer then runs. This is a direct relationship, you're essentially writing the machine code but with codewords instead of only binary. This is very hard, so we make it more abstract so that the human mind can make sense of it. This is how we got compiled languages like C, C++, Pascal, etc. (all the old languages). These use a compiler to transform the code to assembly, and then to binary. These languages are better, as they allow programs to be compiled to multiple assembly languages and therefore allow programs to be moved to different machines more easily. However, these languages still need to be compiled, so we have another level. These are languages like Java and C# which are compiled to an intermediate machine code-like layer (fake machine code), which is then translated in to proper machine code before the program is run. As long as the target computer is running this thing that converts the fake machine code to real machine code, you can theoretically run this "compiled" code on any computer. Some languages (Python, Javascript) take this one step further and don't require the program to be compiled in a separate step at all. Their interpreters perform all these steps together as one big step - essentially you run these programs from the source code (most "new" languages are like this).
Therefore, all you really need is the tool that transforms the source code into a machine language, and a text editor (An IDE does all of this for you, so you just click a "Run" button and it goes). Transforming programs to an executable format thus really depends on the language and platform you're running. Unix-like operating systems make this really easy - any file is executable with the right permissions. Windows makes the really hard - only .exe files are executable.
I don't really like IDE's as they're not really helpful to me. I use a program called Emacs to do all my programming. Emacs is a programmable tool that can do anything (no really, it can be programmed to do literally anything - plus its a highly advanced and configurable text editor).
So to reiterate: you just need a tool that converts source to some binary format.
I can answer this question in a less philosophical way if you give me specific languages and platforms.