Programming IDEs, i think i get it?

I’m trying to learn what an IDE is and how it differs from different platforms i’ve used before.

In one previous role i used SAS through desktop SAS and a SAS server.

In a different role i used microsoft sql server, then later oracle sql.

In yet a different role, i used toad to write actually more than one type of sql as it depended on the database.

In simplistic terms, is the IDE the program you execute your code in? I say execute, because you could write your code in a basic text file, then copy paste into your program to execute. I also understand an IDE can help debug your code, perhaps by giving an error message and a line number where the error occurred.

I don’t have full understanding of what it means to be an IDE and why i should be so excited for them.

Seinfeld voice “So what’s the deal with IDEs?”

IDE = Integrated Development Environment.

What’s to get excited about one is the ability to create/edit code, see it compiled/run, and debugging tools in one “package”.

Some nice features of an IDE:

  • Font-formatting of key words from a code
  • “Quick-tips” for recognized functions that show what the expected arguments you’ll need to provide input for
  • Pre-compiler that will show you syntax errors in your code

Without an IDE, you’re left with writing your code in one program/app (a text editor) and then switching to your compiler program to “run” the code. In most cases, you may not have any feedback for errors that are generated.

Look at us on a Saturday night.

In that case, if i’m writing code on a platform that allows me to execute the code exactly where it is, and have all of the bells and whistles you describe plus other debugging benefits.

Would you say Toad, Rstudio, and microsoft sql server are IDEs?

If have both anaconda and jupyter to interact with python, what’s the IDE of those two. Is it the Jupyter?

Lastly, regarding excitement, perhaps if you’ve never written in code in a non-IDE environment, you don’t know what your missing?

I can say for a (near) certainty that Rstudio and Jupyter are both IDE’s.

SAS Studio is also an IDE; “Base SAS” is an IDE.

Anaconda–as near as I can tell–is more of a package manager than an IDE.

Pretty much; but YMMV.

Mayb it’s easier to think about what you need if you don’t have an ide. You need a text editor, a compiler, a linker and a debugger. If you develop on Linux for example, this might be emacs, cc, ld and gdb. You actually have to run all these commands separately. An ide calls all of them for you. The distinction is a little less clear with an interpreted language like R or python, especially since R and anaconda python are designed to be run interactively too.