JEZYKI PROGRAMOWANIA I ICH KLASYFIKACJA - PowerPoint PPT Presentation

Loading...

PPT – JEZYKI PROGRAMOWANIA I ICH KLASYFIKACJA PowerPoint presentation | free to download - id: 3de2ca-OWRhZ



Loading


The Adobe Flash plugin is needed to view this content

Get the plugin now

View by Category
About This Presentation
Title:

JEZYKI PROGRAMOWANIA I ICH KLASYFIKACJA

Description:

J ZYKI PROGRAMOWANIA I ICH KLASYFIKACJA Cel: Wprowadzenie do programowania: j zyki i ich charakterystyka. Ucze wymienia najbardziej znane j zyki programowania ... – PowerPoint PPT presentation

Number of Views:133
Avg rating:3.0/5.0
Slides: 47
Provided by: infgeoStr
Learn more at: http://infgeo.strefa.pl
Category:

less

Write a Comment
User Comments (0)
Transcript and Presenter's Notes

Title: JEZYKI PROGRAMOWANIA I ICH KLASYFIKACJA


1
JEZYKI PROGRAMOWANIA I ICH KLASYFIKACJA
  • Cel Wprowadzenie do programowania jezyki i ich
    charakterystyka.
  • Uczen wymienia najbardziej znane jezyki
    programowania, rozróznia interpretery i
    kompilatory

2
Program. Jezyk programowania
  • Program - zapis algorytmu w jezyku
    programowaniaProgram komputerowy - algorytm
    zapisany w jezyku programowania (zapisany na
    nosniku w postaci pliku zródlowego lub
    wykonywalnego).
  • Jezyk programowania sformalizowany (zgodny z
    pewnymi regulami), zblizony do jezyka naturalnego
    sposób zapisu algorytmu, tak aby byl mozliwy po
    kompilacjido wykonania przez komputer.

3
Jezyk programowania
  • Jezyk programowania jeden ze sposobów zapisu
    algorytmu.
  • Sztuczny jezyk (w odróznieniu do jezyków
    naturalnych), pozwala na zapis zadania i sposobu
    jego wykonania przez komputer.
  • Jest to zbiór zasad okreslajacych, kiedy ciag
    symboli (opisujacy np. obliczenia) tworzy
    program oraz jakie obliczenia opisuje.
  • Jezyk programowania okreslony jest przez podanie
    jego skladni i semantyki - scislych zasad
    tworzenia - instrukcji, okreslajacych elementarne
    (w danym jezyku) operacje.

4
Programowanie
  • Programowanie to pisanie ciagów instrukcji
    (programu), który ma wykonac wlasnie procesor.
  • Instrukcje te powinny byc zapisane w postaci
    ciagów zer i jedynek, aby procesor byl w stanie
    je poprawnie zinterpretowac (zrozumialy dla
    procesora jezyk zer i jedynek nazywamy jezykiem
    maszynowym).

5
Instrukcje dla procesora
  • Instrukcje te powinny byc zapisane w postaci
    ciagów zer i jedynek, aby procesor byl w stanie
    je poprawnie zinterpretowac
  • Zrozumialy dla procesora jezyk zer i jedynek
    nazywamy jezykiem maszynowym.

6
Jezyk maszynowy
  • Program w jezyku maszynowym, rozumianym przez
    komputer jest ciagiem cyfr binarnych zer i
    jedynek.Program taki jest praktycznie
    nieczytelny dla czlowieka.
  • W praktyce do pisania instrukcji do
    bezposredniego wykonania przez komputer uzywa sie
    jezyka programowania niskiego poziomu tzw.
    asemblera.

7
Asembler
  • Kodom instrukcji dla procesora odpowiadaja
    symbole literowe. Sa to skróty nazw czynnosci.
  • Równiez adresy komórek maja nazwy literowe a
    kompilator zamienia je na adresy liczbowe
  • Przyklad MOV AX DANE
  • AX rejestr procesora
  • MOV przesun
  • DANE etykieta komórki pamieci z danymi do
    przeniesienia do rejestru AX

8
Programowanie w Asemblerze
  • Programowanie w Asemblerze polega na pisaniu
    ciagu instrukcji w bardziej przyjazny dla
    czlowieka sposób.
  • Nie trzeba poslugiwac sie liczbami dwójkowymi,
    lecz krótkimi, z reguly trzyliterowymi
    poleceniami.
  • Procesor nie potrafi jednak wykonac programu
    napisanego w Asemblerze. Trzeba program
    przetlumaczyc na postac binarna - maszynowa
  • Dlatego razem z opracowaniem Asemblerastworzono
    tez specjalny program tlumaczacy, który nazywamy
    kompilatorem

9
Kompilator, kompilacja
  • Kompilator to program, który tlumaczy kod pewnego
    jezyka programowania na jezyk maszynowy - ciag
    zer i jedynek, które potrafi wykonac procesor.
  • Proces tlumaczenia programu na jezyk maszynowy
    nazywamy kompilacja.

10
Jezyki wysokiego poziomu
  • Programista Asemblera nie musi juz co prawda
    uzywac wylacznie zer i jedynek, jednak
    programowanie w Asemblerze nadal jest trudne i
    wymaga duzej wiedzy i cierpliwosci.
  • Dla ulatwienia programowania wymyslono tak zwane
    jezyki wysokiego poziomu.
  • Jednym z nich jest Pascal.

11
Programowanie w jezyku wysokiego poziomu kod
zródlowy
  • Programowanie w jezyku wysokiego poziomu polega
    na zapisaniu ciagu instrukcji za pomoca
    zblizonych wyrazen zblizonych do mowy czlowieka (
    z reguly jez. angielskiego) dzieki temu jest
    proste.
  • Program napisany w jezyku wysokiego poziomu to
    tzw. kod zródlowy
  • Aby móc taki program uruchomic, nalezy go
    najpierw skompilowac (czyli przetlumaczyc na
    przyklad z jezyka Pascal na jezyk maszynowy).

12
Instrukcje
  • W przypadku tzw. jezyków wysokiego poziomu (m.in.
    Algol, Fortran, Cobol, C, BASIC, Pascal, Logo,
    Lisp, Prolog) instrukcje budowane sa z
  • pewnej liczby slów angielskich,
  • znaków operacji matematycznych i logicznych,
  • stalych liczbowych oraz
  • symbolicznych nazw zmiennych

13
Klasyfikacja jezyków programowania
  • Jezyki programowania moga byc podzielone ze
    wzgledu na
  • Paradygmat programowania
  • Generacje jezyka programowania
  • Sposób kontroli typów.
  • Sposób wykonywania (kompilacja, interpretacja).
  • Poziom (jezyki niskopoziomowe sa bardziej
    zblizone pod wzgledem budowy do dzialania
    sprzetu).
  • Przeznaczenie.

14
Jezyki niestrukturalne, strukturalne, obiektowe
  • Jezyki niestrukturalne - FORTH, BASIC
  • Jezyki strukturalne (program budowany jest z
    mniejszych elementów procedur, funkcji itp.),
    np. Pascal, C, FORTRAN
  • Jezyki obiektowe (program sklada sie z obiektów,
    które posiadaja wlasciwosci i potrafia wykonywac
    operacje), np. C, Java - jezyki zorientowane
    obiektowo.

15
Podzial jezyków wg poziomu
  • 1. Jezyki niskiego poziomu tzw. asemblery
  • 2. Jezyki wysokiego poziomu, jezyki uniwersalne
    sluzace do rozwiazywania szerokiego zakresu
    problemów (Pascal, C, Logo, Basic, itd.)
  • 3. Jezyki zorientowane problemowo, nastawione na
    waski zakres problemów (HTML, PHP, VBA, dBase)

16
Jezyki wewnetrzne i zewnetrzne
  • Jezyki programowania dzielimy na
  • jezyki wewnetrzne (binarne lub asemblery),
  • jezyki zewnetrzne (FORTRAN, COBOL, PASCAL, C,
    BASIC, CLIPPER ).

17
Generacje jezyków
  • Wewnetrzne (binarne lub asemblery),
  • maszynowe,
  • algorytmiczne (Pascal, czesciowo C),
  • jezyki czwartej generacji (w tym niektóre jezyki
    do tworzenia aplikacji na bazie danych np. SQL)

18
Pod wzgledem stopnia zaawansowania
  • Jezyki pierwszej generacji - sa to jezyki
    maszynowe, czyli jezyki procesorów. Instrukcje sa
    w nich zapisywane w postaci liczb binarnych.
  • Jezyki drugiej generacji - jezyki symboliczne,
    asemblery.
  • Jezyki trzeciej generacji - jezyki wysokiego
    poziomu, proceduralne (imperatywne). Do tej grupy
    naleza miedzy innymi FORTH, BASIC - jezyki
    niestrukturalne, Pascal, C, FORTRAN - jezyki
    strukturalne, C, Java - jezyki zorientowane
    obiektowo.
  • Jezyki czwartej generacji - jezyki bardzo
    wysokiego poziomu, nieproceduralne
    (deklaratywne). Przykladem jezyka z tej grupy
    jest SQL.
  • Jezyki piatej generacji - jezyki sztucznej
    inteligencji, jezyki systemów ekspertowych.
    Jezyki najbardziej zblizone do jezyka
    naturalnego. Przykladem jezyka piatej generacji
    jest PROLOG.

19
Jezyki pierwszej generacji
  • Jezyki pierwszej generacji - sa to jezyki
    maszynowe, czyli jezyki procesorów.
  • Instrukcje sa w nich zapisywane w postaci liczb
    binarnych.
  • Przykladowy kod programu 11101010000000000000111
    1111111111111100010011101100000000010100000001

20
Jezyki drugiej generacji
  • Jezyki drugiej generacji - jezyki symboliczne,
    asemblery.
  • Jezyki niskiego poziomu, pod wzgledem skladni
    tozsame z maszynowymi, z ta róznica ze zamiast
    liczb uzywa sie tu latwiejszych do zapamietania
    mnemoników.
  • Przykladowy kod programu
  • jmp ffff0
  • mov ax, bx
  • add ax, 1
  • Pod wzgledem znaczenia kod ten jest jednoznaczny
    z kodem binarnym przedstawionym w poprzednim
    punkcie (tylko dla procesorów z grupy 80x86).

21
Jezyki trzeciej generacji
  • Jezyki wysokiego poziomu, proceduralne
    (imperatywne).
  • W jezykach tych jedna instrukcja jest tlumaczona
    na kilka instrukcji procesora.
  • Pierwszym jezykiem tego typu byl ALGOL. Do tej
    grupy naleza miedzy innymi
  • FORTH, BASIC - jezyki niestrukturalne,
  • Pascal, C, FORTRAN - jezyki strukturalne,
  • C, Java - jezyki zorientowane obiektowo.
  • Przykladowy kod
  • if(!x)
  • printf("Nie wolno dzielic przez zero\n")
  • return 1

22
Jezyki czwartej generacji
  • Jezyki bardzo wysokiego poziomu, nieproceduralne
    (deklaratywne).
  • Korzystajac z tych jezyków programista skupia sie
    na problemie, a nie na sposobie jego rozwiazania
    (jezyki zorientowane problemowo, task oriented
    languages).
  • Syntaktyka wielu jezyków czwartej generacji
    przypomina skladnie jezyka naturalnego.
  • Jezyki te sa one czesto uzywane do dostepu do baz
    danych. Przykladem jezyka z tej grupy jest SQL.
  • Przykladowy kod
  • SELECT Towar FROM Faktura" WHERE Cena gt 500

23
Jezyki pod wzgledem przeznaczenia
  • Bazodanowe dBase, Clipper, FoxPro, Access,
    Delphi, SQL-owe (np. Oracle).
  • Ukierunkowanie na tworzenie aplikacji baz danych
    (zbiór informacji jednorodnych, latwiej dopisywac
    informacje, dostosowanie do pracy w sieci,
    sortowanie)
  • Obliczeniowe (naukowo techniczne, statystyka),
    np.
  • Fortran (sa biblioteki do grafiki), Pascal,
    C/C (ojciec Pascal, matka assembler), podobny
    do UNIXa, wykonuje instrukcje nie dyskutuje.
  • Jest jakby jezykiem uniwersalnym, wlasciwosci
    sieciowe. C cechuje obiektowosc. Gorzej z
    zastosowaniami bazodanowymi, biblioteka funkcji
    matematycznych mniejsza niz w Fortranie.
  • Specjalizowane sztuczna inteligencja, systemy
    ekspertowe, przetwarzanie list, do symulacji
    procesów
  • Jezyki typu "Visual" (np. Visual C, C, Visual
    Basic, Delphi)

24
Jezyki strukturalne, obiektowe
  • Jezyki niestrukturalne
  • Jezyki strukturalne (program budowany jest z
    mniejszych elementów procedur, funkcji itp.),
    np. Pascal
  • Jezyki obiektowe (program sklada sie z obiektów,
    które posiadaja wlasciwosci i potrafia wykonywac
    operacje), np. C

25
Implementacja (kodowanie)
  • W fazie implementacji nastepuje proces kodowania
    (pisania oprogramowania w konkretnym jezyku),
    projekt zostaje zaimplementowany w konkretnym
    srodowisku programistycznym oraz wykonywane sa
    testy poszczególnych modulów.
  • Wydzielenie modulów funkcji
  • Wstepne testowanie (debugger)
  • Dokumentacja techniczna dla programisty.
    Komentuje algorytm a nie instrukcje. Opis
    procedur, funkcji, danych we/wy
  • Kompilacja, usuniecie bledów (kod max zblizony do
    ANSII, nie ignorowac ostrzezen)

26
Program- zapis algorytmu moze miec postac
  1. zródlowa - w pewnym jezyku programowania
  2. kodu posredniego - ciag instrukcji wykonywanych
    przez interpreter
  3. binarna - skompilowana - ciag instrukcji do
    wykonania bezposredniego przez procesor

27
Interpretery
  • Interpretery interpretuja program a nie
    kompiluja.
  • Tlumacza program w nastepujacy sposób
  • pobieraja jedna instrukcje programu
  • tlumacza na jezyk maszynowy
  • daja procesorowi do wykonania
  • powracaja do pkt. 1.
  • Jezykami interpretowanymi sa na przyklad BASIC,
    SQL, JavaScript.

28
Plusy i minusy interpretera
  • Aby uruchomic program zapisany w jezyku
    interpretowanym nalezy zawsze posiadac
    interpreter, bez niego program po prostu nie
    bedzie dzialac. W zwiazku z tym jezeli chcemy
    sprzedac komus program napisany w jezyku
    interpretera nalezy sprzedac go razem z
    interpreterem.
  • Programy zapisane w jezyku interpretowanym
    dzialaja powoli, np. jezeli w programie jakas
    instrukcja ma byc wykonywana tysiac razy to
    interpreter bedzie ja tysiac razy tlumaczyl.
  • Dobra strona interpreterów jest fakt, ze programy
    napisane w ich jezykach charakteryzuja sie bardzo
    duza przenosnoscia. To znaczy, ze program
    napisany np. na komputerze PC na 99 bedzie
    dzialal na komputerach iMac - nalezy miec
    odpowiedni interpreter dla iMac-a

29
Kompilatory
  • Kompilatory dzialaja w nastepujacy sposób
  • tlumacza caly program
  • zapisuja przetlumaczony program w pamieci
    komputera lub na dysku
  • Program po przetlumaczeniu (skompilowaniu) przez
    kompilator jest gotowy do wykonania.
  • Jezykami kompilowanymi sa na przyklad
  • Pascal,
  • C, C,
  • Asembler,
  • COBOL, itp.

30
Plusy i minusy kompilatorów
  • PLUSY
  • Programy skompilowane wykonuja sie szybciej niz
    interpretowane (nie musza byc na biezaco
    tlumaczone), maja postac np. COM, EXE jako pliki
    wykonywalne.
  • Nie potrzeba kompilatora aby uruchomic program
  • MINUSY
  • Negatywna cecha kompilatorów jest przenosnosc
    programów. Programy skompilowane za pomoca
    kompilatora sa w wiekszosci nieprzenosne, np.
    program napisany dla komputera iMac nie bedzie
    dzialal na komputerze PC. Aby program zadzialal
    na innym rodzaju komputera nalezy program na tym
    komputerze skompilowac.

31
Elementy jezyka programowania
  • Na jezyk programowania sklada sie kilka
    elementów
  • Skladnia Rodzaje dostepnych symboli alfabet
    jezyka.
  • Semantyka jezyka programowania definiuje
    precyzyjnie znaczenie poszczególnych symboli oraz
    ich funkcje w programie gramatyka jezyka
    programowania. Definiuje znaczenie
    poszczególnych sekwencji znaków
  • Semantyke najczesciej definiuje sie slownie,
    poniewaz wiekszosc z jej zagadnien jest trudna
    lub wrecz niemozliwa do ujecia w jakikolwiek
    formalizm. Czesc bledów semantycznych mozna
    wychwycic juz w momencie wstepnego przetwarzania
    kodu programu, np. próbe odwolania sie do
    nieistniejacej funkcji, lecz inne moga ujawnic
    sie dopiero w trakcie wykonywania.

32
Typy danych
  • Wiekszosc jezyków posiada typy danych do
    reprezentowania
  • Liczb calkowitych w róznych zakresach.
  • Liczb zmiennoprzecinkowych (reprezentacje liczb
    rzeczywistych o róznym stopniu dokladnosci)
  • Ciagów tekstowych.
  • Od strony sprzetowej wszystkie te informacje
    wyrazane sa za pomoca sekwencji zer i jedynek.
    Jezyk programowania naklada jedynie odpowiednie
    ograniczenia i zasady ich przetwarzania.

33
Biblioteki standardowe
  • Dla wiekszosci jezyków zdefiniowana biblioteka
    standardowa zawierajaca podstawowy zestaw funkcji
    pozwalajacych realizowac wszystkie najwazniejsze
    operacje, np.
  • Obsluge wejscia-wyjscia.
  • Obsluge plików.
  • Obsluge wielowatkowosci.
  • Zarzadzanie pamiecia.
  • Podstawowe typy danych oraz funkcje do
    zarzadzania nimi.
  • Operacje na ciagach tekstowych.

34
Podsumowanie koncepcji jezyków programowania
  • W pamieci komputera program jest przechowywany
    jako kod maszynowy, bedacy instrukcjami dla
    konkretnego procesora. Instrukcje te
    przechowywane sa w systemie zero-jedynkowym
    jezyk maszynowy.
  • Dla ulatwienia programowania niskopoziomowego
    utworzono asembler (assembler), którego rozkazy
    odpowiadaja bezposrednio instrukcjom procesora,
    jednak zapisywane sa w bardziej zrozumialej dla
    nas formie.
  • Pózniej powstaly jezyki interpretowane nie majace
    juz tak bliskiego zwiazku z procesorem, ale nadal
    podobnie jak asembler stanowiace jeden ciag
    instrukcji. Przykladem takiego jezyka moze byc
    ogólnie znany Basic (GWBasic, Qbasic,
    inne).Jedna instrukcja jezyka drugiej generacji,
    moze byc tlumaczona na kilka, kilkadziesiat a
    czasem wiecej instrukcji procesora.
  • Jezyki kolejnej generacji, np. Pascal, rozwinely
    koncepcje programowania o mozliwosc podzielenia
    programu na moduly wykonujace rózne operacje
    wchodzace w jego sklad.
  • Nastepna generacje jezyków programowania tworza
    tak zwane jezyki obiektowe, np. Delphi, Visual
    Basic, C.

35
Najpopularniejsze jezyki programowania
  • Java
  • C
  • C
  • PHP
  • Visual Basic
  • C
  • Python
  • Perl
  • Objective-C
  • Delphi

36
Basic
  • BASIC (Beginner's All-purpose Symbolic
    Instruction Code) - jezyk programowania wysokiego
    poziomu, opracowany w 1964 przez Johna George'a
    Kemeny'ego i Thomasa E. Kurtza w Dartmouth
    College w oparciu o Fortran i Algol-60.
  • Zalozenia projektantów BASIC-a uwzglednialy
    latwosc uzytkowania, wszechstronnosc zastosowan,
    interaktywnosc i dobra komunikacje z
    uzytkownikiem poprzez jasne komunikaty bledów.
  • BASIC wybil sie na czolo jezyków do zastosowan
    amatorskich i pólprofesjonalnych po wprowadzeniu
    na rynek mikrokomputera Altair 8800. BASIC szybko
    zaimplementowany zostal przy budowie serii
    komputerów Apple, a pózniej jako GW BASIC w IBM
  • Nastepca GW BASIC-a dla komputerów PC zostal QB,
    pózniej rozprowadzany komercyjnie jako
    QuickBASIC, który w koncu wyewoluowal w Visual
    Basic for Windows.
  • Istnieja tez alternatywne interpretery i
    kompilatory tego jezyka dla platformy win32
    (Power BASIC, DarkBASIC itp.). Wersja darmowa to
    np. JustBASIC.
  • Just BASIC is a programming language for the
    Windows operating system. It is completely free
    and it is suitable for creating all kinds of
    applications for business, industry, education
    and entertainment. Just BASIC borrows many
    features from our popular commercial product,
    Liberty BASIC.

37
TURBO PASCAL
  • Turbo Pascal to bardzo popularny jezyk
    programowania, zorientowany na nauke
    programowania strukturalnego. Pascal powstal w
    1971 roku, kiedy to Niklaus Wirth opublikowal
    pierwszy artykul o nim, jego upowszechnienie
    nastapilo po roku 1974.
  • Jezyk Pascal mial sluzyc przede wszystkim do
    nauki programowania strukturalnego, tj.
    programowania duzych systemów tzw. metoda "z góry
    na dól", czyli okreslania duzych elementów
    poprzez elementy nizszego rzedu, az do koncowych
    elementów programowych realizujacych okreslone
    funkcje.
  • Pascal jest on dobry do nauki podstaw
    programowania. Zyskal on duza popularnosc dzieki
    prostej i scislej skladni oraz czytelnej budowie
    programu, która latwo moze byc modyfikowana.
  • Turbo Pascal, zostal wprowadzony na rynek w 1983
    roku przez amerykanska firme Borland
    International Inc.

38
C/C
  • Jezyk C opracowal i zrealizowal w latach
    siedemdziesiatych Dennis Ritchie jako narzedzie
    do stworzenia systemu operacyjnego Unix.
  • C jest jezykiem strukturalnym i zajmuje on
    miejsce pomiedzy typowymi jezykami wysokiego
    poziomu jak Pascal, Basic lub FORTRAN, a
    asemblerami. Duza popularnosc jezyk C zawdziecza
    m.in. nowoczesnemu sterowaniu, prostocie wyrazen
    oraz nowoczesnym strukturom danych i wielkiemu
    bogactwu operatorów.
  • Zaleta C jest jego "zorientowanie maszynowe" np.
    typy int, char, double float, pointer sa
    tlumaczone prawiew stosunku 11 na konstrukcje
    kodu maszynowego
  • Obiektowa wersja C, czyli C, zostala opracowana
    przez Bjarne Stroustrup'a z ATT Bell
    Laboratories. C jest jezykiem strukturalnym z
    dodatkowymi konstrukcjami umozliwiajacymi
    programowanie obiektowe i usprawniajacymi
    skladnie proceduralna. Jezyk ten zyskal
    popularnosc poniewaz daje programiscie mozliwosc
    tworzenia spójnego, szybkiego i niezawodnego
    kodu.

39
Paradygmaty programowania
  • Paradygmat to przyjety sposób widzenia
    rzeczywistosci w danej dziedzinie, doktrynie
    itp.Jak to sie ma do programowania? Greckie
    pa??de??µa oznacza wzorzec badz przyklad.
    Chodzi tu zbiór mechanizmów, jakich programista
    uzywa, piszac program, i o to, jak ów program
    jest nastepnie wykonywany przez komputer.
    Paradygmat programowania to ogól oczekiwan
    programisty wobec jezyka programowania i
    komputera, na którym bedzie dzialal program.

40
Pardygmaty programowania - rodzaje
  • Programowanie imperatywne
  • Programowanie obiektowe
  • Programowanie funkcyjne
  • Programowanie w logice
  • Programowanie strukturalne
  • Programowanie sterowane przeplywem danych
  • Programowanie sterowane zdarzeniami
  • Programowanie wspólbiezne

41
Programowanie imperatywne
  • zmienne
  • struktura blokowa
  • wiazanie statyczne i dynamiczne
  • organizacja wywolan podprogramów
  • przydzial pamieci na stosie i na stercie
  • przyklady z jezyków Ada, C, Pascal

42
Programowanie obiektowe
  • klasy jako abstrakcyjne typy danych
  • dziedziczenie
  • pózne (dynamiczne) wiazanie wywolan
  • polimorfizm
  • szablony i klasy rodzajowe
  • przyklady z jezyków C, Java, C, Ada 95,
    Smalltalk

43
Programowanie funkcyjne
  • funkcje jako model programowania
  • rachunek lambda
  • dopasowywanie wzorca
  • nadawanie typów
  • rekursja
  • leniwa ewaluacja
  • funkcje wyzszego rzedu
  • przyklady z jezyków Lisp, Scheme, ML, Haskell

44
Programowanie w logice
  • rachunek predykatów w Prologu
  • rezolucja
  • listy

45
Jezyki wg róznych kryteriów
  • wieloparadygmatowe Ada Clojure Common Lisp
    D Icon Lua Nemerle PHP Python Ruby
    Scala Snobol
  • proceduralne i strukturalne AWK C COBOL
    Forth Fortran Modula-2 Oberon Pascal
    Perl PLEX PL/SQL REXX
  •  obiektowe ActionScript C C/CLI C
    Delphi Delphi.NET Delphi Prism Eiffel
    Java JavaScript Object Pascal Objective-C
    Oxygene Smalltalk VB.NET
  • Funkcyjne Clojure Erlang F Haskell Lisp
    ML OCaml Scheme
  • Logiczne Prolog
  • edukacyjne Comal Logo Small Basic
  • historyczne ALGOL APL BASIC Clascal
    Clipper JAS Lisp MUMPS PLAN PL/I PL/M
    SAKO SAS (asembler) Simula
  • inne ABAP Asembler C-- GAUSS Lustre
    MCPL occam QCL SAS 4GL SQL Visual Basic

46
Jezyki programowania szeroko rozumiane -
kategorie
  • skryptowe (np. skrypty powloki systemu
    operacyjnego)
  • obslugi stron internetowych - po stronie serwera
    (np. PHP, JSP)
  • obslugi stron internetowych - po stronie klienta
    (np. JavaScript, JScript, VBScript,
    ActionScript)
  • opisu dokumentów (np. HTML, TeX)
  • opisu danych (np. XML)
  • przetwarzania tekstu i danych (np. AWK, Perl)
  • programowania baz danych (np. PL/SQL)
  • ogólnego przeznaczenia (np. C, C, Delphi,
    Java, Assembler)
About PowerShow.com