Unix as IDE

Unix as IDE

By Tom Ryder
Book Description

Newbies and experienced professional programmers alike appreciate the concept of the IDE, or integrated development environment. Having the primary tools necessary for organising, writing, maintaining, testing, and debugging code in an integrated application with common interfaces for all the different tools is certainly a very valuable asset. Additionally, an environment expressly designed for programming in various languages affords advantages such as autocompletion, and syntax checking and highlighting.

With such tools available to developers on all major desktop operating systems including Linux and BSD, and with many of the best free of charge, there’s not really a good reason to write your code in Windows Notepad, or with nano or cat.

However, there’s a minor meme among devotees of Unix and its modern-day derivatives that “Unix is an IDE”, meaning that the tools available to developers on the terminal cover the major features in cutting-edge desktop IDEs with some ease. Opinion is quite divided on this, but whether or not you feel it’s fair to call Unix an IDE in the same sense as Eclipse or Microsoft Visual Studio, it may surprise you just how comprehensive a development environment the humble Bash shell can be.

Table of Contents
  • Unix as IDE
  • Introduction
    • How is UNIX an IDE?
    • The right idea
    • About this series
    • What I’m not trying to say
  • Files
    • Listing files
    • Finding files
    • Searching files
    • File metadata
    • Matching files
  • Editing
    • Filetype detection
    • Syntax highlighting
    • Line numbering
    • Tags files
    • Calling external programs
    • Lint programs and syntax checkers
    • Reading output from other commands
    • Filtering output through other commands
    • Built-in alternatives
    • Diffing
    • Version control
    • The difference
  • Compiling
    • GCC
    • Compiling and assembling object code
    • Preprocessor
    • Linking objects
    • Compiling, assembling, and linking
    • Including and linking
    • Compilation plan
    • More verbose error checking
    • Profiling compilation time
    • Optimisation
    • Interpreters
    • Inline
  • Building
    • Anatomy of a Makefile
    • More general uses of make
    • Tools for building a Makefile
  • Debugging
    • Debugging with gdb
    • Debugging with valgrind
    • Tracing system and library calls with ltrace
    • Tracking open files with lsof
    • Viewing memory allocation with pmap
  • Revisions
    • diff, patch, and RCS
    • CVS and Subversion
    • Git and Mercurial
  • Conclusion
The book hasn't received reviews yet.
You May Also Like
Also Available On
Curated Lists