The concept of an "integrated development environment" is just a fancy name for "a text editor, but smarter." A text editor is something like Notepad++ or Vim – you type text and it saves it into a file. You can also highlight bits of text, cut and paste, and so on. In an integrated development environment, the text editor is made more sophisticated by making it aware of the existence of the programming language you are using. This provides some advantages:
- the IDE can check your program for bugs (such as syntax errors) and automatically highlight the offending parts of your progam
- some IDEs will allow you to select lines that the program should be paused at, and then run it under a debuger. At each of the lines that you have selected, the IDE will pause the program, and allow you to inspect the program state
- some IDEs will provide a button to allow you to run your code
- some IDEs allow you to rename items (think variable, function names) and see these automatically updated accross the whole codebase.
further resources
If you are interested, I have collected some further reading:
- "Why an IDE?" by Aleksey Kladov (a programmer who works on IDEs, including previously at Jetbrains – probably the most famous company building IDEs). Note that you can obtain free access to the usually paid Jetbrains IDEs as a student.