Linux is bijzonder geschikt om te programmeren. Programmerende Linux-gebruikers kunnen zelf verbeteringen aanbrengen aan Linux software. Er zijn voor diverse programmeertalen compilers beschikbaar, zoals basic, pascal, C, C++, java, perl, python, icon, lisp, haskell en rebol. De meest gebruikte taal onder Linux en andere Unices is C. Zo is de kernel vrijwel volledig in C geschreven met een klein beetje assembler. Verder zijn er nog een aantal programma's die een eigen programmeertaal kennen. Bijvoorbeeld de verschillende shells en emacs (die gebruikt een variant op lisp, genaamd elisp).
Veel programma's hebben een command-line interface, zodat ze door een ander programma aangeroepen kunnen worden. Door kleine programmaatjes te schrijven kan je processen automatiseren. Dat zou veel moeilijker gaan als alle programma's alleen een grafische interface (GUI) zouden hebben! Dit is echt een van de sterke punten van Linux.
Om een klein programmaatje in C te compileren, gebruik je gcc file.c -o file. Als je een groter programma maakt, dat uit meerdere bestanden bestaat, dan is het veel gemakkelijker om een configure script en Makefile aan te maken. Deze bestanden zul je erg vaak tegenkomen bij source code van Linux-software. Zie http://www.gnu.org/software/make/make.html voor meer info over make.
Er zijn vele boeken geschreven over C. Wil je leren programmeren in C, ga dan naar je plaatselijke boekhandel en koop een boek over C. Er is ook veel informatie over C op het Internet te vinden.