Differences between revisions 1 and 13 (spanning 12 versions)
Revision 1 as of 2006-03-30 16:00:43
Size: 2734
Comment: "Wanted Pages" inspired. More on "The Unix Way"
Revision 13 as of 2013-01-26 18:57:21
Size: 4251
Comment: Add link to french translation
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#language en
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/EditorsIDEs|Français]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]||
----
||<tablestyle="width:65%;margin-left:35%;padding-left:30pt" style="border:1pt solid #b48;border-left:5pt solid #d4a">'''Disambiguation :''' This page is about ''Integrated development environment''.<<BR>> For ''Integrated Drive Electronics'', see [[IDE]].||
Line 3: Line 8:
Often, newcomers to Debian (and Free Software in general) can be found asking in Usenet News and other fora, "I want to develop code. Where's the IDE?" This a symptom of their not having learned the ["UnixWay"]: small tools that do one thing, but do it well; large toolsets made up of smaller tools chained together. 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. 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.
Line 5: Line 11:
In comparison, development via the ["UnixWay"] consists of the following: 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:
Line 15: Line 25:
 * Gnu C Compiler (gcc)
 * javac
 * 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
 * javac
 * Guile, GNU CLISP, sbcl, CMU Common Lisp
 * Poly/ML, MLton, OCaml, Standard ML of New Jersey (smlnj)
Line 22: Line 39:
 * perl, python, Tcl/TK
 * ?
 * Tcl/TK, Perl, Python, Ruby
 * bwbasic (Basic)
Line 28: Line 45:
 * ?  * dhelp
Line 30: Line 47:
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. 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.
Line 35: Line 52:
Due to ["UnixWay"]'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 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.
Line 37: Line 54:
Due to the ["UnixWay"]'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. 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.
Line 40: Line 57:

'''More informations in [[ProgrammingApplication|here]]...'''

----
[[ProgrammingApplication]]

Translation(s): English - Français

(!) ?Discussion


Disambiguation : This page is about Integrated development environment.
For Integrated Drive Electronics, see IDE.

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:

Programmer's Editors

  • vi
  • emacs
  • 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.

Compilers

  • 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
  • javac
  • 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)

Documentation

  • "man"ual pages
  • info
  • dhelp

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...


ProgrammingApplication