Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje
Obecnie na świecie istnieją tysiące języków programowania i każdego roku powstają nowe. Od języków naturalnych odróżniają się wysoką precyzją oraz jednoznacznością. Człowiek podczas komunikacji między sobą stale popełnia niewielkie błędy lub pozostawia niedomówienia wiedząc, że drugi rozmówca najczęściej go zrozumie. Maszyny wykonują zadania dokładnie, dlatego każdą czynność trzeba opisać ściśle krok po kroku, ponieważ komputer nie potrafi dociec, co programista miał na myśli.
Wiele języków zostało zaprojektowanych od zera, lecz powszechna jest praktyka rozwijania już istniejących rozwiązań oraz celowego upodabniania jednego języka do innego. Pozwala to na szybsze opanowanie nowego języka przez programistów mających już doświadczenie w tworzeniu aplikacji. Potrzeba istnienia wielu różnorodnych języków wynika z dużej liczby sytuacji, w których są one wykorzystywane – każda posiada pewne specyficzne wymagania:
- wielkość programów waha się od niedużych skryptów pisanych przez amatorów do potężnych aplikacji rozwijanych przez setki programistów
- doświadczenie użytkowników waha się od nowicjuszy lub programistów okazjonalnych wymagających przede wszystkim prostoty, do ekspertów potrafiących zrobić użytek z oferowanych możliwości
- tworzone programy muszą spełniać określone wymagania dotyczące szybkości, skalowalności oraz wielkości
- istniejące języki mogą być zbyt rozbudowane do pewnych zadań
- programy mogą nie zmieniać się z biegiem lat lub być poddawane stałym modyfikacjom
- programiści mają różne gusta – każdy z nich ma swój ulubiony język, w którym pisze mu się najwygodniej.