Εργαλείο προγραμματισμού

Ένα προγραμματιστικό εργαλείο είναι ένα πρόγραμμα υπολογιστή ή μια
εφαρμογή που χρησιμοποιούν οι προγραμματιστές  για 
να δημιουργήσουν, αποσφαλματώσουν ή να συντηρήσουν άλλα προγράμματα και εφαρμογές.
Ο όρος αναφέρεται συνήθως σε σχετικά απλά προγράμματα που μπορούν να συνδυαστούν
μαζί για την επίτευξη κάποιου αποτελέσματος, όπως ανάλογα κάποιος τεχνίτης θα
χρησιμοποιούσε πολλά εργαλεία για να δημιουργήσει ένα φυσικό αντικείμενο.

Η ιστορία των εργαλείων προγραμματισμού άρχισε με τους πρώτους υπολογιστές στις
αρχές της δεκαετίας 1950 όταν πρωτοεμφανίστηκαν εργαλεία όπως οι συνδέτες (linkers),
οι φορτωτές και τα προγράμματα ελέγχου. Η έλευση 
του Unix στις αρχές της δεκαετίας του 1970 έφερε περισσότερα εργαλεία, όπως το grep, το awk και το make, τα οποία ήταν ευέλικτα σχεδιασμένα ώστε να συνεργάζονται μεταξύ τους μέσω διασωλήνωσης.

Τα εργαλεία ήταν αρχικά απλά και "ελαφρά". Μερικά όμως που χρησιμοποιούνται πιο συχνά ενσωματώνονται σε ολοκληρωμένα περιβάλλοντα ανάπτυξης (IDEs). Σε αυτά τα περιβάλλοντα η εργασία του προγραμματιστή μπορεί να γίνει πιο γρήγορα και εύκολα αλλά χάνεται κάτι από την ευελιξία και την δύναμη των καθαυτό εργαλείων.

Ο διαχωρισμός μεταξύ εργαλείων και εφαρμογών είναι ασαφής. Για παράδειγμα πολλοί προγραμματιστές χρησιμοποιούν βάσεις δεδομένων σαν εργαλεία.

Για πολλά χρόνια τα εργαλεία  computer-assisted software engineering (CASE) ήταν διαδεδομένα αλλά η δημιουργία πραγματικά επιτυχημένων εργαλείων αποδείχτηκε δύσκολη. Κατά μια έννοια τα εργαλεία CASE έδιναν έμφαση στον σχεδιασμό όπως η UML, αν και τα πιο επιτυχημένα από αυτά είναι ολοκληρωμένα περιβάλλοντα ανάπτυξης.

Η δυνατότητα να χρησιμοποιεί μια πληθώρα εργαλείων παραγωγικά θεωρείται καλή πρακτική από τους προγραμματιστές και τους μηχανικούς λογισμικού.

Λίστα εργαλείων 
Τα εργαλεία προγραμματισμού υπάρχουν σε πολλές μορφές:
 Συστήματα ελέγχου εκδόσεων: RCS, CVS, SVN, Mercurial, Darcs, Monotone, git
 Μεταγλώττιστές και εργαλεία σύνδεσης : Αλυσίδα GNU (Make, automake, gcc), Microsoft C, Intel compiler
 Εργαλεία εντοπισμού λαθών κώδικα: Lint
 Αυτόματη ενημέρωση αρχείων πηγαίου κώδικα: diff και patch
 Αναζήτηση κειμένου: grep, find
 Διορθωτές κειμένου: emacs, vi, diakonos
 Σενάρια: κελύφη (π.χ. bash, csh, tcsh, zsh), Perl, Python, Ruby
 Λεκτική και συντακτική ανάλυση γλωσσών: Lex, GNU Bison, Yacc
 Βάσεις σφαλμάτων: gnats, Bugzilla, Trac
 Αποσφαλματωτές: gdb, Δυαδικά εργαλεία GNU (GNU Binutils)
 Εργαλεία ανίχνευσης διαρροών μνήμης: Electric Fence, Valgrind

Ολοκληρωμένο περιβάλλον ανάπτυξης (IDEs) 

Τα ολοκληρωμένα περιβάλλοντα ανάπτυξης
συνδυάζουν τα χαρακτηριστικά πολλών εργαλείων σε ένα πλήρες πακέτο διευκολύνοντας
και επιταχύνοντας την εργασία του προγραμματιστή.

Χρησιμοποιούνται κυρίως για την ανάπτυξη εφαρμογών επιχειρηματικού επιπέδου. 

Μερικά δημοφιλή ολοκληρωμένα περιβάλλοντα ανάπτυξης:

- Για C/C++:
 Dev-C++
 C++ Builder
 Microsoft Visual Studio

- Για Java:
 NetBeans
 Eclipse

Δείτε επίσης
 CASE εργαλεία 
 Κιτ Ανάπτυξης Λογισμικού
 Αλυσίδα GNU