Programowanie/Wstęp/Języki programowania

Z Wikibooks, biblioteki wolnych podręczników.

Jeżeli znamy już algorytm (czyli wiemy, jak można rozwiązać dany problem), możemy zaprogramować komputer w danej technologii. Innymi słowy, zapisujemy dany problem w danym języku, który jest zrozumiały dla komputera.

Początkujący programista często zastanawia się nad wyborem języka programowania. Wybór jest duży. Istnieje wiele kryteriów, którymi można się kierować.

Największą grupę języków stanowią języki imperatywne. W językach tych programowanie komputera jest postrzegane, jako wydawanie mu rozkazów. Tylko od programisty będą zależeć rezultaty tego "dowodzenia komputerem".

Czasami można natrafić na kłótnie dotyczące wyższości jednej technologii nad inną. Można często powiedzieć, że często sporo zależy od programisty. Opanowanie narzędzia to dopiero początek do rozwiązywania rzeczywistych problemów.

Z drugiej strony, do wykonania określonego zadania każdy język nadaje się lepiej lub gorzej. Trzeba to mieć na uwadze. Stosowanie danej technologii "na siłę" jest generalnie nieoptymalne.

W niniejszej książce będziemy zajmować się programowaniem imperatywnym. Języki C, C++, Java, Pascal, Python, Fortran (i wiele innych) należą do tej grupy.

Drugą, mniej liczną grupę języków stanowią języki funkcyjne. Pierwszym takim językiem był Lisp. Obecnie powstało wiele jego dialektów. Przykładowo, dokumenty GNU zalecają użycie języka Scheme. Innym dialektem Lispa jest język Clojure. Do innych języków funkcyjnych należą także OCaml, Haskell. Programowanie funkcyjne różni się znacznie od programowania imperatywnego. Chyba nie będzie poruszane w tym podręczniku.