Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Új szoftverparadigmák nyelvi támogatása: a jelen oktatása – a holnap technológiája
Porkoláb Zoltán, Kozsik Tamás, Zsók Viktória, Eötvös Loránd Tudományegyetem, Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék
2
A paradigma Az absztrakció fogalma A paradigma + általános
- specifikus A paradigma útmutató az absztrakciók létrehozására szabályok és konvenciók halmaza eszközöket biztosít a fejlesztés támogatására evolúció Informatika a felsőoktatásban 2005
3
Strukturált programozás
Szekvenciából, elágazásból és ciklusból felépülő (goto mentes) eljárások Eljárások paraméterátadással és globális változókkal kommunikáltak Adekvát algoritmusok meghatározása Magasszintű függvénykönyvtárak Gyengének bizonyultak az adatstruktúrák kompozíciójában Informatika a felsőoktatásban 2005
4
Az objektumelvű paradigma
Adekvát adatstruktúrák és a rajtuk végzett műveletek, Enkapszuláció Osztályok: az azonos adatstruktúrával és műveletekkel rendelkező objektumok programnyelvi leírása Öröklődés, osztályok hierarchiája Informatika a felsőoktatásban 2005
5
Az objektumelvű paradigma
Generalizáció, specializáció Erősen típusos programozási nyelvek támogatják Dinamikus kötés - futási idejű polimorfizmus Elterjedt az iparban és oktatásban C++, Java Az első oktatott nyelv – procedurális vs. objektumelvű Informatika a felsőoktatásban 2005
6
Objektumelvű paradigma - kritika
Pozitív és negatív változások Dinamikus kötés és a fordítási idejű típusellenőrzés egyidejű megvalósítása kovariáns visszatérő érték, kontravariáns paraméter A kifejezés-probléma Hatékonysági problémák Informatika a felsőoktatásban 2005
7
Új paradigmák Aspektusorientált programozás Generikus programozás
Magasabbrendű funkcionális programozás Az új paradigmák beépítik a korábbi paradigmák tapasztalatait Multiparadigma elvű rendszerek Informatika a felsőoktatásban 2005
8
Aspektus-orientált programozás
Motiváció: Rossz modularitás OOP-ban Szétszórt kódrészletek Kód utólagos módosítása Aspektusok – csatolási pontok - szövőgép Példa: AspectJ + Java Informatika a felsőoktatásban 2005
9
Generatív programozás
Adatszerkezetek – általános algoritmusok Fordítási idejű típusellenőrzés Parametrikus polimorfizmus Algoritmusok - osztályok - funktorok Példa: C++ Standard Template Library Informatika a felsőoktatásban 2005
10
Funkcionális programozás
Függvények kiértékelése, magasabbrendű függvények Kompozicionalitás elve, kiértékelési stratégiák Lambda kalkulus, gráfátíró rendszerek Magasabb rendű típusok, típusosztályok, egzisztenciálisan kvantált típusok, unique típusok, monádok Informatika a felsőoktatásban 2005
11
OO-AOP együttélés Alapstruktúra – OOP
Csökkenti a kódismétlést az osztályokban Javítja a modularitást Segíti a pozitív és negatív változások követését + after/before – around Informatika a felsőoktatásban 2005
12
OO-GP együttélés Absztrakt adatszerkezetek – osztályok Funktor-ok
Algoritmusok ábrázolása osztályként Mixin-ek: Az öröklési hierarchia megfordítása Csökkenti az osztályok számát és interfészét Segíti a negatív változások követését Informatika a felsőoktatásban 2005
13
OO-FP együttélés Absztrakt adatszerkezetek – osztályok Enkapszuláció
Altípusosság: Nominális Strukturális Informatika a felsőoktatásban 2005
14
GP-FP együttélés Standard Template Library Template metaprogramozás
Funkcionális programozás Template metaprogramozás Funkcionális programok Generikus adatszerkezetek és függvények Parametrikus polimorfizmus Informatika a felsőoktatásban 2005
15
Összefoglalás Paradigmák evolúciója Akadémiai kutatások
Ipari követelmények „gyakorlatias” versus „akadémikus” tárgyak Új paradigmák megértésére, befogadása Felkészítés a jelen és a jövő technológiáira Informatika a felsőoktatásban 2005
16
Hivatkozások James O. Coplien: Multiparadigm Design for C++, Addison-Wesley, 1998 David Musser, Atul Saini: STL Tutorial and Reference Guide, Addison-Wesley, 1996 Bjarne Stroustrup: The C++ Language, Addison-Wesley, 2000 Czarnetzki, Eisenecker: Generative Programming, Addison-Wesley, 2000 Informatika a felsőoktatásban 2005
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.