Języki Programowania Obiektowego

wykład obieralny z ćwiczeniami, Instytut Informatyki UW, r. 2003/2004

autor: prof. dr hab. Andrzej Salwicki

Egzamin 26 stycznia 2004

Wszyscy zdali! Gratuluję!      



Prawa autorskie - Copyright

INDEX

  • Cele:
  • Streszczenie
  • Program
  • Dlaczego nie po polsku!
  • Metody pracy
  • Notatki z wykladow
  • Notatki z cwiczen
  • Pytania egzaminacyjne
  • Oprogramowanie dydaktyczne
  • Zadania projektowe
  • Literatura

  • Cele:

    Streszczenie

    Trudno przecenić znaczenie programowania obiektowego. Dla inżynierów oprogramowania obiekty stanowią naturalną metodę programowania ponieważ łatwo wyrazić przy ich pomocy różne modele systemów:

    Obiekty są wydajnym narzędziem programowania.

    Programowanie obiektowe umożliwia realizację wszelkich innych metod programowania. Programowanie funkcyjne, programowanie poprzez reguły etc. dają się w naturalny sposób wyinterpretować w technologii obiektów.

    Programowanie obiektowe moze i powinno wykorzystywac rachunek formalny programowania: logike algorytmiczna. Tworzenie klas powinno się rozpoczynać od ich specyfikacji, a te nie są niczym innym niż teoriami algorytmicznymi.[zob. AL ]

    Program wykladu

    Ze Polacy nie gęsi ...i swój język mają


    Dlaczego Loglan?

    1. Loglan jest duzo lepszy od innych jezykow programowania obiektowego, zechciej sam porownac,
    2. Loglan zawiera komplet narzedzi obiektowych od klas do procesow,


    3. w jezyku zawarto oryginalna, w pelni obiektowa metode komunikacji, synchronizacji procesow "alien call",
    4. system Loglan ma wiele oryginalnych walorow dydaktycznych i ulatwien ...

    5. jego diagnostyka bledow czasu kompilacji i czasu wykonywania znacznie ulatwia i przyspiesza proces uruchamiania programow,
    6. mozemy rozdawac Loglan sluchaczom za darmo bo to nasz wlasny produkt, kliknij tu: dystrybucja ,
    7. Loglan jest niezalezny od platformy i architektury sprzetowej, oznacza to miedzy innymi ze tensam program bedzie sie tak samo wykonywac na komputerach osobistych studentow, stacjach roboczych nauczycieli akademickich i na serverach centrow obliczeniowych uczelni,
    8. Loglan jest sprawdzonym narzedziem wydajnego i szybkiego tworzenia programow,
    9. Loglan pozwala sluchaczom na wlasne eksperymenty z kompilatorem, interpreterem (dostepnosc do zrodel),
    Loglan może i powinien być stosowany jako narzędzie dydaktyczne już od pierwszych wykładów.

    Notatki z wykładów 2001/2002


    Nr Temat Data Materiały

    niektóre z tych notatek sporządzili studenci, którym jestem za to wdzięczny.
    Proszę o pomoc w opracowaniu innych notatek.

    1 Moduły programu vs. jednostki dynamiczne czasu wykonywania programu. 8 Paź 01
    2 Klasy i obiekty 15 Paź 01
    3 Klasy i obiekty cd. 22 Paź 01
    4 Specyfikacje
    Specyfikacje struktur danych
    29 Paź 01 wyklad4
    5 Specyfikacje struktur danych 5 Lis 01
    6 Dziedziczenie
    Reguła konkatenacji klas I
    12 Lis 01




    To sa tylko notatki. Jeszcze nie wszystkie sa gotowe. Ich forma moze nasuwac uwagi. Bede wdzieczny za wszelkie komentarze.
    1. Wyklad1
    2. Wyklad3
    3. Wyklad4
    4. Wyklad5
    5. Wyklad7
    6. Wyklad9 o wątkach - procesach
    7. Wyklad10 o porównaniu przeplotów i "true concurrency"
    8. anatomia programu i statyczna struktura modulow,
    9. rekordy aktywacji i obiekty = instancje dynamiczne modulow,
    10. klasy i obiekty
    11. zastosowania:
    12. hierachie klas - dziedziczenie modulow
    13. regula konkatenacji objasnia dziedziczenie
    14. zastosowania: abstrakcyjne typy danych ...
    15. wspolprogramy [ coroutinesI.html | coroutines.sdd | coroutines.doc ]
    16. wspolprogramyII [ coroutinesII.html | coroutinesII.sdd | merge.log ]

    17. wspolprogramyIII [ coroutinesIII.html | coroutinesIII.sdd | treegen.log ]
    18. wyjatki, sygnaly i ich obsluga
    19. procesy
    20. metodologia

    Semestr zimowy 2001



    lp. data Temat wykladu Materia?y Uwagi
    1 1-03 Wspó?programy.
    Skladnia. Operacje: attach i detach. Scenariusz wspólprogramu. Przyklady
    coroutinesI.html
    coroutines.sdd
    coroutines.doc

    2 8-03 Wspólprogramy II
    Pojecie lancucha dynamicznego. Procedury rekurencyjne wspólpracuja z
    coroutinami. Przyklad scalanie drzew binarnych poszukiwa?.
    coroutinesII.html
    coroutinesII.sdd
    merge.log

    3 15-03 Wspólprogramy III
    Dowód poprawnosci programu z hierarchia wspólprogramów dziedziczacych z wspólprogramu: wyrazenie regularne - regexp przez indukcje wzgledem hierarchii.
    coroutinesIII.html
    coroutinesIII.sdd
    treegen.log

    4 22-03 Sygnaly i sytuacje wyjatkowe oraz ich obsluga.

    5 29-03 Programowanie kontraktowe. Dynamiczna weryfikacjawarunków poczatkowych i koncowych dla procedur przy zastosowaniu sygnalówi dziedziczenia. Uwagi o weryfikacji statycznej.
    O dynamicznej weryfikacji klas.
    Sygnaly w Javie, C++ i Adzie. Sygnaly predefiniowane w Loglanie.


    6 3-04 Typy jako parametry modulu.

    7 12-04 O dynamicznym i statycznym wiazaniu wystaoien aplikacyjnych i deklaracji. Loglan i Java javaLog.sdd
    javaLog.html
    javalog.ppt
    chartres.log
    chartre2.log
    kolorbind.html
    semistatic.html

    Notatki z pracowni specjalistycznej (cwiczen)

    1. Klasy i obiekty
    2. Tablice dynamiczne
    3. Tablice w Javie,C++ i Adzie

    Oprogramowanie dydaktyczne

    Głównym narzędziem, w którym ilustrować będziemy nasze rozumowania, jest Loglan82. Przykłady odnosić się będą takze do Javy i innych języków programowania.

    Zadania projektowe

    Jak przygotowac dokumentacje
    1. Praca projektowa nr 1

    Pytania egzaminacyjne

    Literatura

  • metody programowania z obiektami
  • Bertrand Meyer, a
  • metody programowania z obiektami
  • Bertrand Meyer, Object-oriented software construction, Prentice Hall, 1988
  • Grazyna Mirkowska, Andrzej Salwicki, Logika Algorytmiczna dla programistow , WNT, 1993
  • o Loglanie
  • W. M. Bartol et al, Raport of LOGLAN programming language,WNT, 1983
  • Antoni Kreczmar, Loglan'82 a micro manual
  • Andrzej Szalas, Jolanta Warpechowska, Loglan, WNT, 1991
  • A.Kreczmar, A.Salwicki, M. Warpechowski, Loglan'88 - Report onthe Programming Language, Lecture Notes on Computer Science vol. 414,Springer Vlg, 1990, ISBN 3-540-52325-1
  • o innych jezykach obiektowych
  • E. Horowitz, Fundamentals of Programming Languages, Springer, New York, 1983
  • O.-J. Dahl, B. Myhrhaug, K. Nygaard, Simula 67 Common Base Language, Norwegian Computing Center, Oslo, 1970, the mother of object languages!!
  • B. Stroustrup, The C++ Programming Language, Addison-Wesley, Reading, Mass., 1991
  • o C++
  • http do podrecznika C++ w DESY Hamburg
  • BETA

  • created Mon 22 Oct 2001
    last updatte Mon 22 Oct 2001
    Andrzej Salwicki