Porkoláb Zoltán, Kozsik Tamás, Zsók Viktória,

Slides:



Advertisements
Hasonló előadás
C++ programozási nyelv Gyakorlat hét
Advertisements

SZENT ISTVÁN EGYETEM GAZDASÁG- ÉS TÁRSADALOMTUDOMÁNYI KAR TUDOMÁNYOS DIÁKKÖRI KONFERENCIA NOVEMBER 25. AUTO-SZŰRŐ FEJLESZTÉSE OLAP JELENTÉSEK UTÓLAGOS,
Piacképes programozói tudás a középiskolában
3. A programozás eszközei, programozás-technikai alapismeretek
Funkcionális programozás F#-ban
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
1.) A programfejlesztés hagyományos életciklus modellje és adattípus.
Generatív programozás
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Programozási alapismeretek
Programozási nyelvek.
OBJEKTUMORIENTÁLT PROGRAM
Szoftverparadigmák és metrikák
Vizuális modellezés Uml és osztálydiagram UML eszközök
Fejlett Programozási Technológiák II. Világos Zsolt 1. gyakorlat.
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
1. előadás. 1.) Szoftverfejlesztés, mint mérnöki tevékenység. Számítási eszközfejlődés. Számítási eszközfejlődés: hazai viszonyok. Mérföldkő: Simula 67.Klasszikus.
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
5. előadás Parametrikus polimorfizmus. Generikus programozás
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Vizuális és web programozás II.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
Programozási nyelvek – Programozási paradigmák
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Kivételkezelés a C++ nyelvben Bevezetés
Bevezetés a C++ programozási nyelvbe
1Objektumorientált elemzés és tervezés - Alapfogalmak Gyurkó György Objektumorientált elemzés és tervezés Alapfogalmak.
Objektumorientált tervezés és programozás II. 3. előadás
Új programozási paradigmák a láthatáron (aspektus-orientált és intencionális programozás) Csontos Péter AITIA Informatikai Rt. 2002/10/17.
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Tervkészítés PDDL alapon Konzulens: Kovács Dániel László Intelligens rendszerek tanszék Budapest Műszaki és Gazdaságtudományi.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
A D programozási nyelv Angeli Dávid. Nagy vonalakban  C++  
Objektumorientált programozás
V 1.0 Szabó Zsolt, Óbudai Egyetem, Programozási Paradigmák és Technikák Programozási eszközök Interfészek Generikus.
Komponens-absztrakció. Objektum-orientált paradigma korlátai Feltételezés az interfészekről: 1. öröklés és aggregáció alkalmazható, 2. közös programozási.
Egyenesvonalú (lineáris) adatszerkezetek
C++11. TÖRTÉNETI ÁTTEKINTŐ Bjarne Stroustrup, AT&T 1979 C with classes 1983 ipari alkalmazás 1998 első szabvány 2003 apróbb módosítások 2005 tr
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Podoski Péter és Zabb László. Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök.
Objektumvezérelt rendszerek tervezése
Szoftver születik Eötvös Konferencia Köllő Hanna.
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
Gyurkó György. Az OO programozás és tervezés története 1960-as évek: SIMULA (véletlen folyamatokat szimuláló programok írása) az OO nyelvek őse 1970-es.
Haladó C++ Programozás Az STL sablonkönyvtár felhasználói szemszögből
Programozási nyelvek – Programozási paradigmák Porkoláb Zoltán Eötvös Loránd Tudományegyetem, Informatikai Kar Programozási.
5. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Programozási nyelvek – Programozási paradigmák Porkoláb Zoltán Eötvös Loránd Tudományegyetem, Informatikai Kar Programozási.
LA C++ programozási nyelv Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 16./0. lA világ objektum alapú szemlélete lSzoftverfejlesztési.
Szöveg beírásához kattintson ide A SCRATCH környezet bemutatása szakköri tapasztalatok alapján Gödöny Péter Budapesti Műszaki Szakképzési Centrum Pataky.
A szoftver mint komplex rendszer: objektumorientált megközelítés.
Programozási nyelvek csoportosítása.
Strukturális tervezési minták
Adatstruktúrák Algoritmusok Objektumok
Script nyelvek előadás
UML használata a fejlesztésben, illetve a Visual Studio 2010-ben
Programozási nyelvek típusossága.
Compiler illetve interpreter nyelvek
Operációs rendszerek.
Hernyák Zoltán Programozási Nyelvek II.
Előadás másolata:

Új szoftverparadigmák nyelvi támogatása: a jelen oktatása – a holnap technológiája Porkoláb Zoltán, gsd@inf.elte.hu Kozsik Tamás, kto@inf.elte.hu Zsók Viktória, zsv@inf.elte.hu Eötvös Loránd Tudományegyetem, Informatikai Kar Programozási Nyelvek és Fordítóprogramok Tanszék

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

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

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

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

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

Ú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

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

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

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

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

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

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

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

Ö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

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