Języki
Języki
programowania i
programowania i
ich klasyfikacja
ich klasyfikacja
• Jest to zbiór zasad określających, kiedy ciąg
symboli tworzy program komputerowy oraz
jakie obliczenia opisuje
• Wiele języków programowania posiada
pisemną specyfikację swojej składni
• Postać programu wyrażona w języku
programowania określana jest jako kod
źródłowy.
Właściwości Języka
Programowania
• Pozwala na precyzyjny zapis algorytmów
oraz innych zadań, jakie komputer ma
wykonać.
• Służy do tworzenia programów
komputerowych.
• Umożliwiają wydawanie poleceń
maszynom. Niektóre z języków są
wykorzystywane również do kontrolowania
jednego urządzenia przez inne.
1. Co to jest składnia?
Jest to formalna budowa napisów
języka określona przez jego
gramatykę. Weryfikację składni
programu wykonuje translator.
2.
Składnia opisuje:
• Rodzaje dostępnych symboli.
• Zasady, według których symbole
mogą być łączone w większe
struktury
Przykład prostej
gramatyki wzorowanej na
języku Lisp:
wyrazenie ::= atom | lista
atom ::= liczba | symbol
liczba ::= [+-]?['0'-'9']+
symbol ::= ['A'-'Za'-'z'].*
lista ::= '(' wyrazenie* ')'
Zapis ten określa wygląd i budowę kolejnych
symboli:
• Wyrażeniem nazwiemy atom i listę.
• Atomem nazwiemy każdą liczbę lub symbol.
• Liczbą nazwiemy ciąg cyfr, który może
zaczynać się opcjonalnie od znaku + lub -.
• Symbolem nazwiemy dowolną sekwencję
dużych i małych liter alfabetu łacińskiego.
Listą nazwiemy parę nawiasów, w której
może się znaleźć zero lub więcej wyrażeń.
Przykładowe ciągi, które spełniają podane
reguły składni to: "12345", "()", "(a b c232
(1))".
Klasyfikacja
Języki programowania mogą być podzielone ze
względu na:
• Paradygmat programowania
• Generację języka programowania
• Sposób kontroli typów.
• Sposób wykonywania (kompilacja,
interpretacja).
• Poziom (języki niskopoziomowe są bardziej
zbliżone pod względem budowy do działania
sprzętu).
• Przeznaczenie.
Inna klasyfikacja:
1.
Języki niestrukturalne
2.
Języki strukturalne (program
budowany jest z mniejszych
elementów: procedur, funkcji itp.), np.
Pascal
3.
Języki obiektowe (program składa się
z obiektów, które
posiadają właściwości i potrafią
wykonywać operacje), np. C+
Podział języków
• wewnętrzne,
• maszynowe,
• algorytmiczne (Pascal, częściowo
C),
• języki czwartej generacji (w tym
niektóre języki do tworzenia
aplikacji na bazie danych np. SQL)
1.
Asembler
- język niskiego poziomu, jest to język,
który korzysta z kodów mnemonicznych.
2.
Kod mnemoniczny to łatwy do zapamiętania skrót,
który przedstawia całe zadanie dla procesora, na
które składa się pewna ilość instrukcji binarnych
np..:
•
MOV - przeniesienie danej z jednego miejsca
w pamięci w inne;
•
JMP - przejście do określonego miejsca
w pamięci.
3.
Języki wysokiego poziomu
(np. Pascal, C/C++,
Java, Fortran, Delphi) zawierają instrukcje, którymi
są słowa zrozumiałe przez ludzi.
Im wyższy poziom, tym bardziej język programowania
przypomina język naturalny:
przykład:
wyświetlenie napisu SYBEX
Kod w języku C++
Kod w asemblerze
kod maszynowy
cout <<"SYBEX";
MOV AH, 9
MOV DX, OFFSET
NAME
INT 21h
MOV AH, 4Ch
INT 21h
NAME DB 'SYBEX'
101101000000100
110
111010000000010
000
101111001101001
000
011011010001001
100
110011010010000
101
010011010110010
100
001001000101010
110
00
Koniec
Przygotowała Klaudia Celińska 2a.