Disambiguation : This page is about Integrated development environment.
Programmer's Editors and Integrated Development/Debugging Environments
An IDE consists of an editor window with additional menus to compile, execute, single step and display variables of a program. This makes software development easier than using an editor, invoking the compiler, running the program, running the editor again, adding print statements, and compiling again until you find out what's wrong in your code.
In an IDE, the developer types in the code (or imports it from existing projects), presses one button to save and compile, presses another button to debug, check variables and single step through the code to find bugs. A popular DOS IDE was Borland's Turbo/C++
Newcomers to Debian (and Free Software in general) can often be found asking in Usenet news groups and other forae, "I want to develop code. Where's the IDE?" This is because they have not learned TheUnixWay: small tools that do one thing, but do it well chained together to make large toolsets. Instead, they've come from an environment where it's commonplace to purchase one (or more) monolithic products which serve as programmer's editor, compiler, debugger, linker, and documentation viewer, all rolled into one.
In comparison, development via TheUnixWay consists of the following:
variants of the above (nvi, vim, gvim, xemacs, jed, & etc.).
- something altogether different (whose names generally begin with the letters "K" or "G").
- commercially available toolsets.
- GNU C compiler (gcc)
- GNU C++ compiler (g++)
- GNU Objective-C compiler (gobjc)
- GNU Fortran compiler (gfortran)
- GNU Java compiler (gcj)
- tcc, the smallest ANSI C compiler
- Guile, GNU CLISP, sbcl, CMU Common Lisp
- Poly/ML, MLton, OCaml, Standard ML of New Jersey (smlnj)
- commercially available alternatives
Interpreted Scripting Languages
- Unix Shell (Bash, Ksh, (t)csh, zsh)
- Traditional Unix scripting "filters", such as sed, awk
- Tcl/TK, Perl, Python, Ruby
- bwbasic (Basic)
- "man"ual pages
Due to the standards-based nature of Free Software, one can find applicable documentation on these tools from anywhere, not just from the vendor who sold the tool. As well, one can expect this documentation to change when the standards change, not at the whim of the vendor.
Development In A Free Software Environment
Do One Thing, But Do it Well
Due to TheUnixWay's tools having been developed in the way they were, there are numerous ways in which they can be used. Rapid prototyping with any number of scripting languages can help one flesh out the overall application. Plugging in other tools to add GUI interfaces on top can help in perfecting user interface elements. Finally, compiled languages can implement the final design in cases where utmost performance is critical.
Due to TheUnixWay's way of doing things, there's lots of wiggle room in the above. Vi and emacs can call compilers from the editor interface. Both can supply syntax based color highlighting of code elements, as well as interactive syntax checking of numerous file formats. Perl includes it's own debugger and compiler. "TK" modules are provided for many scripting languages to implement GUI elements. All (or most) of the scripting languages have some construct whereby almost any Unix tool can be called on from within the script.
Unix programmers are not limited to the libraries supplied by their commercial vendors.
More informations in here...