Język programowania
Język programowania to usystematyzowany sposób przekazywania komputerowi poleceń do wykonania przez człowieka. Podobnie, jak języki naturalne, składa się ze zbiorów reguł syntaktycznych oraz semantycznych, które opisują, jak należy budować poprawne wyrażenia oraz jak komputer ma je rozumieć. Wiele języków programowania posiada pisemną specyfikację swojej składni oraz semantyki, lecz inne zdefiniowane są jedynie przez oficjalne implementacje.
Język programowania pozwala na precyzyjny zapis algorytmów oraz innych zadań, jakie komputer ma wykonać. Postać programu wyrażona w języku programowania określana jest jako kod źródłowy. Przetwarzanie kodu źródłowego odbywa się na dwa sposoby:
- Kompilacja - kod źródłowy jest tłumaczony do postaci kodu maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Jeżeli dany język programowania podlega kompilacji, określany jest mianem kompilowanego języka programowania.
- Interpretacja - kod źródłowy jest na bieżąco tłumaczony i wykonywany przez dodatkowy program zwany interpreterem. Jeżeli język podlega interpretacji, nazywany jest interpretowanym językiem programowania.
Kompilacja do kodu maszynowego zapewnia najwyższą wydajność programom, lecz zabiera ona bardzo dużo czasu, zaś wygenerowany kod jest ściśle powiązany z platformą sprzętową. Ponadto kompilowane języki są bardziej zbliżone do sposobu funkcjonowania sprzętu, przez co programowanie w nich jest trudniejsze. Języki interpretowane zapewniają większą przenośność programów, które często są niezależne od platformy i systemu operacyjnego. Aby programy wyrażone w języku interpretowanym można było uruchomić na innej platformie, wystarczy napisać dla niej interpreter. Jednak taki sposób wykonywania odbija się negatywnie na wydajności. Pośrednim rozwiązaniem jest kompilacja programów do postaci pośredniej, tzw. kodu bajtowego (ang. byte code). Jest ona wykonywana przez wirtualne maszyny tłumaczące elementarne rozkazy byte-code'u na rozkazy procesora.
Spis treści |
[edytuj] Klasyfikacja języków programowania
[edytuj] Paradygmat
Języki programowania klasyfikuje się zależnie od tego, do jakiego paradygmatu lub paradygmatów programowania najlepiej się nadają:
- imperatywne,
- obiektowe,
- funkcyjne,
- deklaratywne (których znaczącą odmianą są logiczne),
- i wiele innych...
[edytuj] Generacja
Innym sposobem klasyfikacji języków programowania jest tzw. generacja języka. Opisuje ona zaawansowanie (rozbudowanie) jego struktury, co równocześnie związane jest z np. łatwością posługiwania się nim. Poszczególne generacje powstawały wraz z rozwojem inżynierii oprogramowania oraz samego sprzętu komputerowego. Wymienić tu można języki:
Im mniejsza jest liczba oznaczająca daną generację języka programowania, tym jest on bardziej zbliżony do sprzętu (np. bardziej zależny od sprzętu itp.). Z drugiej strony pojedyncze instrukcje tego języka odpowiadają mniejszej liczbie instrukcji wykonywanych przez procesor (jest mniej dostępnych instrukcji danego języka programowania).
Natomiast im większa jest generacja języka programowania, tym jest on bardziej intuicyjny i bardziej niezależny od sprzętu np. wieloplatformowy. Pojedyncze instrukcje nie tylko składają się z dziesiątek lub setek tysięcy instrukcji procesora, co mogą nawet wykonywać zadania za pośrednictwem np. rozproszonej struktury internetu.
[edytuj] Języki programowania
| Ten artykuł wymaga uzupełnienia źródeł podanych informacji. Aby uczynić go weryfikowalnym, należy podać przypisy do materiałów opublikowanych w wiarygodnych źródłach. Adnotacja: Brainfuck jest popularny? W jakim sensie?. |
Poniżej wymieniono niektóre popularniejsze języki programowania:
- Action!
- ActionScript
- Ada
- Algol
- Asembler
- ATLAS
- Awk (awk, gawk, mawk, nawk)
- BASIC
- BCPL
- Brainfuck
- C
- C++
- C# (czytaj: "C sharp" od angielskiej nazwy znaku muzycznego #)
- Caml
- Ch
- CLIPS
- Clipper
- CLIST
- Comal
- COBOL
- Cyclone
- D
- Delphi
- Eiffel
- Euphoria
- F#
- FORTH
- FORTRAN
- Groovy
- Haskell
- HLA - "High Level Assembler"
- Icon
- InterCal
- IPL
- Java
- JavaScript
- Jean
- Linda
- LISP
- Logel
- Logo
- Lua
- MCPL
- ML
- MSIL (Microsoft Intermediate Language)
- Modula (Modula, Modula-2, Modula-3)
- Nemerle
- Oberon
- Objective C
- Ocaml
- Pascal
- Free Pascal
- Object Pascal (język będący podstawą środowiska Delphi)
- Turbo Pascal
- Perl
- PHP
- PL/SQL
- PL/pgSQL
- PL/I
- PL/M
- POP11
- PostScript
- PowerBuilder
- Povray SDL (Scene Description Language)
- Progress
- Prolog
- Python
- R
- RPG
- Rembol
- REXX
- Ruby
- SAKO
- SAS
- Scheme
- Scriptol
- sed
- Simula
- SML
- Snobol
- powłoki: bash, csh, ksh, sh, zsh, ...
- Smalltalk
- Tcl
- Whitespace
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
- Programming Language Examples Alike Cookbook
- Plakat z historią języków programowania
- Program "99-bottles-of-beer" w ponad 1046 językach
- Lista 2500 języków programowania wraz z ich opisami