Programski paketi za programiranje

Programersko orodje je program ali aplikacija, ki go razvijalci programov potrebujejo za tvorbo, razhroščevanje ali vzdrževanje drugih programov oziroma aplikacij.

Zgodovina programerskih orodij sega v obdobje prvih računalnikov v zgodnjih letih 1950. Tedaj so programerji začeli uporabljati povezovalnike (linker), nalagalnike (loader) in nadzorne programe.  V sedemdesetih letih so se skupaj z operacijskim sistemom UNIX pojavila orodja, kot so grep, awk in make, ki jih je lahko učinkovit programer povezoval s cevmi (pipes).
 
Prva orodja so bila preprosta. Obsegala so prevajalnike, preproste razhroščevalnika, povezovalnike. Programerji so imeli na voljo tudi programerske knjižnjice, ki so vsebovale podprograme s pogosto uporabljanimi funkcijami.

Danes ima programer na voljo dve vrsti programerskih okolij: Ukazna okolja (command-line environment) in integrirana razvojna okolja (Integrated Development Environment).  Programska okolja pa zahtevajo zmožnost urejanja teksta, ki predstavlja našo izvorno kodo, ter prevajalnik. V primeru programskega jezika Java potrebujemo še izvajalno okolje (run time environment), saj prevajalnik programe v javi preslika v vmesno kodo (takoimenovani byte code) in ne v strojno kodo računalnika. Tako izvajalno okolje je običajno vključeno tudi v spletne brkljalnike, kar omogoča izvajanje takoimenovanih apletov v sklopu dane hipertekstne strani.

Ukazna razvojna okolja temeljijo na tipkanju ukazov, s katerimi kličemo urejevalnik teksta in prevajalnik ter izvajamo prevedeni program. Pri integriranih razvojnih okoljih pa posamezna orodja povezuje grafični vmesnik. Taka okolja so poenotila funkcionalnost razvojnih orodij in jij združila v enotno aplikacijo. S tem pa se je delo programerja poenostavilo. Povečala se je tudi njegova učinkovitost. Okolje IDE ima običajno grafični vmesnik, ki povezuje posamezna orodja.

Naj na tem mestu omenimo še orodja CASE (Computer Assisted Software Engineering), ki poudarjajo pomen načrtovanja in arhitekture programskih aplikacij. Pogosto so podprta s standardom UML.