240 likes | 370 Views
Hol tart ma a programozás?. Új programozási nyelvek, technológiák és alkalmazástípusok az oktatásban. Kőnig Tibor. Amiről szó lesz. Milyen nyelv( ek )en programozzunk? Egy analógia.
E N D
Hol tart ma a programozás? Új programozási nyelvek, technológiák és alkalmazástípusok az oktatásban Kőnig Tibor
Milyen nyelv(ek)en programozzunk?Egy analógia „Manapság a latin nyelv egyre inkább visszakapja korábbi szerepét az oktatásban. Nem véletlenül, hiszen egy páratlanul gazdag kultúraértékeit közvetíti, másfelől pedig a latin nyelv ismerete jelentős mértékben megkönnyíti nemcsak az újlatin nyelvek (olasz, francia, spanyol, portugál, román), hanem más nyugati nyelvek, így például az angol elsajátítását is.” BettsGavin: Latin nyelvkönyv „Pascal is a basic and easy to learn language. Using it teaches you important programming principles which can be applied to most other programming languages. It will also teach you skills to think through tasks and also other skills which can be applied to many areas (…)” Pascal – A Tutorial, http://library.thinkquest.org/27297
Milyen nyelv(ek)en programozzunk?Egy nyelv mind fölött, egy nyelv kegyetlen… • A különböző feladatok és felkészültség más-más eszközt igényelnek • korszerű objektum-orientált nyelvek • szakterület-specifikus nyelvek • dinamikus nyelvek • vizuális nyelvek
Milyen nyelv(ek)en programozzunk?Korszerű objektum-orientált nyelvek • Példák • Microsoft Visual Basic • C# • Java • Delphi • Részletek a délutáni előadásokon
Milyen nyelv(ek)en programozzunk?Szakterület-specifikus nyelvek Egy tipikus procedurális nyelv (Visual Basic) ‘ Kód az adatbázis-adatok gyűjteménybe olvasásához ‘ ... ForEachoStudentInoStudents IfoStudent.Class = "4a" AndoStudent.ExamsCompleted = TrueThen oStudent.Class = "5a" End If Next Egy szakterület-specifikus nyelv (SQL) UPDATEStudents SETClass = "5a" WHEREClass = "4a" ANDExamsCompleted = True LanguageIntegratedQuery, LINQ (Visual Basic) Dim4aStudents =FromStudent in Students _ WhereStudent.Class = "4a" AndStudent.ExamsCompleted = True_ SelectStudent
Milyen nyelv(ek)en programozzunk?Dinamikus nyelvek • A hagyományos fejlesztés: munka • programozó-fordító-telepítő-tesztelő ciklus • komoly hardver/szoftver, szintaxis, folyamatok • Ez gyakran az „ágyúval verébre” esete • algoritmus-tesztelés, könnyűsúlyú webes alkalmazások • Dinamikus nyelvek • interpreter, rugalmas nyelvtan és típusok, egyszerű bővíthetőség • Példák: Python, Ruby, a régiek közül JavaScript
Milyen nyelv(ek)en programozzunk?Vizuális nyelvek • A folyamatok leírására használt vizuális jelek az általános programozásban is bevethetők • Példa: Visual ProgrammingLanguage
Milyen nyelv(ek)en programozzunk? • Korszerű objektum-orientált és szakterület-specifikus nyelvek • LanguageIntegratedQuery (LINQ) • Dinamikus nyelvek • IronPython • Vizuális nyelvek • Visual ProgrammingLanguage DEMO
Milyen technológiákra figyeljünk?A kód önmagában kevés • Programjaink nem légüres térben futnak majd • szabványokra épülő integráció kell • Nem minden szabvány sikeres • CORBA, EDI • Egyszerűség, újrafelhasználhatóság • XML • webszolgáltatások • RIA-k • mashup-ok
Milyen technológiákra figyeljünk?eXtensibleMarkupLanguage (XML) • Az adatok leírásának és tárolásának új, szabványos módja • rugalmasan bővíthető, hierarchikus adatszerkezet • sokféle adattípus • szöveges, jól olvasható formátum • eszközök a szerkezet leírásához (XSD), az adatok eléréséhez (XPath, LINQ) és átalakításához (XSLT) • Minden korszerű alkalmazás képes az előállítására és felhasználására • példa: Microsoft Office 2007, SQL Server 2005
Milyen technológiákra figyeljünk?Rich Internet Application (RIA) • Böngészőben futó, de az asztali környezettel összemérhető megjelenítést és szolgáltatásokat nyújtó alkalmazás • Példák • Microsoft Silverlight, Adobe Flash
Milyen technológiákra figyeljünk?Mashup • Létező internetes alkalmazások szolgáltatásait és adatait újszerűen kombináló megoldás • az eredmény több, mint a részek összege • Példa • Microsoft Popfly
Milyen technológiákra figyeljünk? • Adatleírás, -tárolás és -elérés • XML • RIA-k • ExpressionBlend, Silverlight • Mashup-ok • Popfly DEMO
Milyen programokat készítsünk?A célközönség: diákok • Fontos a (szinte) azonnali visszajelzés és sikerélmény • erre a dinamikus nyelvek a legjobbak • Előnyös az érdeklődési körhöz kapcsolódó felhasználási terület • játékok (logikai, táblás, ügyességi) • multimédia-alkalmazások (médialejátszók, interaktív osztályképek) • robotok (mesterséges intelligencia)
Milyen programokat készítsünk?Multimédia-alkalmazások • Digitális videók, zene, fényképek – már ma is számítógépen találhatók • Weblapkészítés helyett webes multimédia-alkalmazás létrehozása • a HTML továbbra is szükséges • beavatás a multimédia-formátumokba és az új megjelenítési technológiákba (XAML) • a jogtiszta tartalom fontosságának hangsúlyozása • Példa: Microsoft Expression Media Encoder
Milyen programokat készítsünk?Robotok • Lego MINDSTORMS NXT • központi egység (kijelző, nyomógombok) • 3 szervomotor • távolság-, fényesség-, hangerősség-mérő és nyomásérzékelő • egyszerű vizuális fejlesztői környezet • Microsoft RoboticsStudio • professzionális vizuális és hagyományos fejlesztői környezet szimulált és valódi robotok (pl. az NXT) programozásához
Milyen programokat készítsünk? • Médialejátszó • ExpressionEncoder, Blend és Silverlight • Robot • Lego MINDSTORMS NXT • RoboticsStudio DEMO
Amiről szó volt • A programozási nyelvek és a kapcsolódó technológiák fejlődése nem állt meg • az informatika tantárgy sem maradhat le • A világ változik, a programozási feladatokat a mából és a fiatalok életstílusából célszerű kiválasztani • így jobban érzékelik majd a számítástechnika szerepét • Érdemes minél hamarabb megismerkedni az új szoftverekkel!
További információk • Programozási nyelvek • LINQ: http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx • IronPython: http://www.codeplex.com/IronPython • Technológiák • ExpressionStudio: http://www.microsoft.com/expression • Silverlight: http://www.microsoft.com/silverlight • Popfly: http://www.popfly.com • Játékok • Lego MINDSTORMS NXT: http://mindstorms.lego.com • RoboticsStudio: http://msdn2.microsoft.com/en-us/robotics • Egyebek • Az előadó blogja: http://blogs.msdn.com/tibork-on-ms • A rendezvény honlapja: http://www.microsoft.com/hun/tantov2007
Köszönöm a figyelmet! Kőnig Tibor http://blogs.msdn.com/tibork-on-ms