Az MIT blokknyelv projektjei

Download Report

Transcript Az MIT blokknyelv projektjei

Blokknyelvek
MIT és Google
•
•
•
•
•
Az előbbi előadásban már megismerkedhettünk egy blokknyelvvel és az
MIT több kutatójának munkásságával, akik ezeket a blokknyelveket
kifejlesztették.
Emlékeztetőül: Seymour Papert, Hal Abelson, Mitchel Resnick.
Azt is láttuk, hogy egy másik, profitorientált cég is bekapcsolódott a
blokknyelvek történetébe 2008-ban, a Google Inc.
A Google a keresőoptimalizálás révén vált világcéggé, de azóta számos
projektjük fut a világon, melyek többsége hazánkban hasonlóan
népszerűtlen sajnos, mint az MIT blokknyelvprojektjei.
Szolgáltatásainak üzleti modellje általában a következő:
– Magánszemélyek számára egy bizonyos „szolgáltatáscsomag” ingyenes szokott
lenni
– A cégek számára fizetős csomagokat kínál.
– Oktatási intézmények számára a cégeknek szánt legszűkebb „csomagokat”
szokta kínálni, ingyen.
Blokknyelvek: Előnyök és kritikák
•
•
A fejlesztők sokkal több figyelmet tudnak az alkalmazásaik tervezésére
fordítani, ahelyett, hogy elvesznének az implementációs, illetve nyelvi
szintaktikai részletekben.
Nyilvánvaló hasznosítási területük a köz-oktatásban való programozás
oktatás, illetve egyéb kezdő, programozásban nem jártas érdeklődők
számára nyújthat élményszerű bevezetést a programozásba. (Didaktikai
ideológiai alapja Jean Piaget konstruktivista tanuláselmélete.)
–
•
•
A programozás blokkokkal történik, melyek LEGO kockákhoz vagy puzzle darabokhoz
hasonlíthatók. Egy-egy projekt által, amit elkészít egy gyermek fontos matematikai és
informatikai készségekhez jut, miközben kreatívan gondolkodik, következetesen és
szisztematikusan tervez, alkot, tehát olyan készségeket is gyakorol, melyeket az élet
bármely területén kamatoztathat majd.
Ellenérzések, félelmek a visual- és blokknyelvekkel kapcsolatban mindig
voltak.
A komoly programozók nem tekintik értékes nyelvnek őket.
Projektek
Érdekes blokknyelv projektek:
– blockPhP (amit a neve sugall  )
– StarLogoTNG (A Logo nyelv modern változata) – az MIT hivatalos
projektje
– Scratch – a Logo blokknyelv-változata
– ScratchStat (Statisztikai kiegészítő a Scratch-hez) – egyike az MIT-n
készült disszertációknak, melyeknek a blokknyelv a témájuk
– Botbeans (Gyerekeknek készült blokknyelv, de egy NetBeans-hez
hasonló fejlesztőkörnyezetbe ágyazva.)
– Visual language for Arduino (intelligens kütyük programozása)
– AppInventor for Android – a Google Inc. és az MIT közös projektje
– Blockly – a Google Inc. önálló blokknyelvprojektje
OpenBlocks
•
•
•
•
•
Az MIT nyílt forráskódú blokknyelv-fejlesztő eszköze.
Az OpenBlocks keretrendszer lehetővé teszi az alkalmazás-fejlesztők számára saját
grafikus blokk programrendszerek építését, bővítését egyszerű XML fájlok
specifikálásával.
Az OpenBlocks-szal készült valamennyi programozási nyelvre igaz, hogy az
– objektumorientált,
– interpretált,
– dinamikus,
– vizuális programozási nyelvek.
– A programkód színekkel kategorizált kirakóselemekből építhető össze.
– Ezek parancsok, változók, állapotkomponensek, logikai kifejezések, elágazás- és
ciklusszervező utasítások, melyek csak szintaktikailag helyes módon
illeszkednek egymáshoz.
– A programozás eseményvezérelt, és sokszor többszálú.
Az MIT blokknyelv-projektjeire továbbá igaz volt, hogy a projekt saját weboldalára
lehetett a kész munkákat feltölteni, melyeket előtte a nyílt forráskódú, MacOS vagy
Windows alapú számítógépekre telepített fejlesztőkörnyezettel lehetett elkészíteni.
Az MIT „cenzúrát” gyakorol a weboldalon – hiszen gyerekek használják.
AppInventor
AppInventor for
és Android
Blockly
•
•
•
2008. Google és az MIT együtt elindítja az AppInventor for Android projektet, a
forráskódot nyílttá teszik.
2012. januártól a projekt felügyeletét teljesen átveszi az MIT.
2012. júniusban a Google közzéteszi a Blockly-t.
–
–
–
–
•
Felhőben futó általános célú blokknyelv, mely szintén az oktatás számára készült.
Egyidejűleg több nyelvre fordít. (JavaScript, Python, Dart)
Saját blokkok fejleszthetők (JavaScriptben, de van egy ún. Blockfactory is)
A Blockly web3.0-s eszköz
Egy ilyen saját, doménspecifikus blokknyelvet szeretnék bemutatni a továbbiakban,
melyet én készítek. A neve BlockImpress.
BlockImpress
•
•
•
Célja: Létrehozni egy olyan webes prezentációs eszközt, melynél a többi
bemutatókészítő alkalmazással szemben az ezzel való munka programozás. Az
ebben való munka kicsit más szemléletet igényel, mint egy alkalmazás használat.
Doménspecifikus: egy adott szakterület számára készül, speciális céllal vagy
feladatra. Ez az üzleti beszámolókészítés.
Alapjai
–
–
–
Google Blockly. (http://code.google.com/p/blockly/)
Bartek Szopka Impress Scriptje. Egy a Prezihez hasonló látványvilágú, de valódi 3d-s webes
prezentáció készítésére alkalmas Script. (https://github.com/bartaz/impress.js/)
Saját formális leírási rendszerem amelyet gazdasági célú, tudásalapú rendszerek fogalmi
modelljének leírásához szoktam használni. (Például a DE TEK-en ezzel fogalmaztuk meg az
egyetemi VIR számára a rendszerből kinyerni kívánt vezetői igényeket.)
BlockImpress
•
Blockly linkek
–
–
–
•
http://blockly-demo.appspot.com/static/apps/code/en.html#qqovrn
http://blockly-demo.appspot.com/static/apps/turtle/index.html#qp732k
http://blockly-demo.appspot.com/static/apps/turtle/index.html#hq9gco
BlockImpress linkek
–
–
–
–
http://egipilot.unideb.hu/blockimpress/index.php?lang=hu&xml_file=MIDK-eloadas.xml
http://egipilot.unideb.hu/blockimpress/index.php?lang=hu&xml_file=demo-charts4.xml
http://egipilot.unideb.hu/blockimpress/index.php?lang=hu&xml_file=demo-draw.xml
http://egipilot.unideb.hu/blockimpress/index.php?lang=hu&xml_file=demo-impress-chartdraw.xml
Köszönöm a figyelmet!
Kontakt: