
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.
- 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
Free Machine Learning Books
11 Books
- Pattern Recognition and Machine Learning (Information Science and Statistics)
- by Christopher M. Bishop
- Data mining
- by I. H. Witten
- The Elements of Statistical Learning: Data Mining, Inference, and Prediction
- by Various
Free Chemistry Textbooks
8 Books
- CK-12 Chemistry
- by Various
- Chemistry Grade 10 [CAPS]
- by Free High School Science Texts Project
- General Chemistry II
- by John Hutchinson
Free Mathematics Textbooks
21 Books
- Microsoft Word - How to Use Advanced Algebra II.doc
- by Jonathan Emmons
- Advanced Algebra II: Activities and Homework
- by Kenny Felder
- de2de
- by
Free Children Books
38 Books
- The Sun Who Lost His Way
- by
- Tania is a Detective
- by Kanika G
- Firenze_s-Light
- by
Free Java Books
10 Books
- Java 3D Programming
- by Daniel Selman
- The Java EE 6 Tutorial
- by Oracle Corporation
- JavaKid811
- by
- Jamaica Primary Social Studies 2nd Edition Student's Book 4
- by Eulie Mantock, Trineta Fendall, Clare Eastland
- Reggae Readers Student's Book 1
- by Louis Fidge
- Reggae Readers Student's Book 2
- by Louis Fidge