LibreLogo 0.1 RC

 ( nemethl | 2012. április 29., vasárnap - 8:11 )

Az FSF.hu Alapítvány támogatásával, az alapítvány által indított Szabad út projekthez kapcsolódóan elkészült a LibreLogo fejlesztői környezet első kiadásra jelölt változata. A magyar közoktatásban (és sok helyen a felsőoktatásban is használt) zárt Logo programozói környezetek (Comenius Logo, Imagine Logo) kiváltását megcélzó LibreOffice-kiegészítés hivatalos bejelentésére holnap, a Linux az oktatásban (LOK) konferencián kerül sor, a Libre(Office) Logo – Comenius után szabadon címmel meghirdetett előadáson. Előzetes bemutató, egyéb dokumentáció, példaprogramok: http://www.numbertext.org/logo.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Ha az utolsó dián kijelölöd a linket és másolod akkor a vágólapra htp:// kerül, gondolom a ligratúra miatt.

Javítottam a PDF-et, köszönöm szépen a hibajelzést! (Régebbi, még nem a Graphite 2-t tartalmazó LibreOffice-szal exportáltam most a dokumentumot. A bemutatóban használt Linux Biolinum G és Libertine G betűkészletek bővítésével úgy tűnik, hogy javítani lehet ezt a problémát a LibreOffice 3.4 vagy újabb változataiban is.)

#troll on
import turtle
#troll off

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

[A turtle a Python teknőcgrafikai könyvtára, ami Pythonban programozható, nem pedig Logo (vagy közel Logo, mint jelen esetben) programozási környezet, amit a magyar általános iskolai tanmenetek tartalmaznak. A Berkeley Logo már szabad Logo, de az sincs honosítva. A Szabad út projekt célja, hogy teljes értékű (sőt, ha lehet, jobb) szabad alternatíváját kínáljuk a jelenlegi zárt megoldásoknak (amelyek pl. nem, vagy csak körülményesen használhatók Linuxon, vagy más szabad operációs rendszereken.)]

Btw most nézem a forráskódot, különösnek tartom, hogy még csak fel sem használtátok… Volt valami különösebb hiányossága, ami miatt érdemes volt alapoktól újraírni?

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Ha csak arról lett volna szó, hogy a turtle.py angol parancsainak lefordítása, vagy egy Logo értelmező hozzátoldása, akkor ésszerű megoldás lett volna erre építeni, de a LibreLogo nem a tk-t használja , hanem a LibreOffice-t és annak megjelenítőfüggetlen, vektoros rajzolási lehetőségeit. A hangsúly a meglévő iskolai rendszerekkel való átjárhatóság mellett a nyomdai minőségű, nyomdakész és nem csak programozható, hanem szerkeszthető grafikán van. Tervben volt még a HTML 5 megvalósítás is, de a LibreOffice fejlesztői szempontból lényegesen jobb választásnak bizonyult, és a cél szempontjából is annak tűnik. Olyan egyéb humán erőforrásai is vannak a LibreOffice-nak, mint a fordítói közösség, a nagy felhasználói tábor, részben már az iskolákban, amit vétek volna nem kihasználni.

Nagyon szép példa! Gyerekekkel és szüleikkel, tanáraikkal eljátszatni a programozást valószínűleg a legjobb módszer programozást oktatni ebben a korosztályban. A LibreLogo ha nem is drámapedagógiai módszerekkel, de a rokon képzőművészeti, tipográfiai alkotói tevékenység támogatásával próbálja megszólítani a gyerekeket (úgy, hogy nem csak játék szintjén használható ezekre). A hivatkozott oldalon szerepel Kurzweiltől egy idézet: a szülőknek egy idegen nyelv miatt kell csak aggódniuk, hogy a gyerekek megtanulják, ez pedig a programozás(i nyelv). A LibreLogóval ez reményeim szerint könnyebb lehet.

Engem is a (triviális) módszer fogott meg. Az ottani idézettel nem értek egyet :) mert az idegen nyelv betekintést ad egy egész kultúrába, és bármilyen szép is a programozás, vannak gazdagabb kultúrák (már csak a történelem miatt is)...

Viszont ezúton is nagyon szépen köszönöm a rengeteg munkádat, hiszen nem lehetne elégszer megtenni. Túlzás nélkül milliószám használjuk naponta (bárcsak az emacs helyesírás része fejlettebb lenne, szótárváltással stb).

Egyetértek, bár történelmük van a programnyelveknek is… Gyakran sötét múltjuk, ami a jelenükre árnyat vet… :P

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Köszönöm szépen! Az idézethez hozzá akartam tenni, hogy Kurzweil amerikai, és így az egy világnyelv letudva neki, és a honfitársainak is.

Ez jó.
Gyermekem most másodikos és logot tanulnak. Így legalább nem wine alatt a comediussal szórakozhat.
Mikor jött, hogy apa tedd fel, kerestem alternatívát és nem nagyon találtam.

pch
--
http://www.buster.hu "A" számlázó
--

(Biztos nalunk alacsonyabb az ingerkuszob, de nalunk Berkeley Logo teljesen jol hasznalhato volt kb 8-10 eve.)

nemtom mennyire alacsony az az ingerküszöb, de Brian Harvey talán a világ egyik legjobb prog. tanára. (lényegében ő folytatta az SICP-t és talán idén vonult vissza a cs61a-tól, de még mindig valami gyerek cuccal foglalkozik (scratch). Öregen ott van az iTunes U-n, fiatalon csillogó szemekkel meg youtu.be/bl_1OybdteY -- ahol egy villanásig pont a tanításról beszél.

A Scratch Logós változatát készíti, ami böngészőben is működtethető. Didaktikai szempontból előnyös lehet grafikusan programozni, úgy, hogy az utasításokat tartalmazó alakzatok egymásba illeszthetősége már szavatolja a program helyes szintaxisát, de inkább csak érintőképernyőn tudom elképzelni, hogy valóban kényelmesen használható.

De miért LibreOffice?
Először felcsillant a szemem, de most nem értem mi köze van a kettőnek egymáshoz. Ez nem érne meg egy önálló projectet? Ez így elég komolytalannak tűnik. LO kiegészítés?

Komolyan komolytalan?
Nézd már meg a példákat. A Vasarelyt, meg a sakktáblásat.
Minden elismerésem a fejlesztőknek.

Elnézést, hogy alaptalanul trollkodom. Nem is a fejlesztőkkel van bajom, csak még nem állt össze a kép.
Nem értem a LibreOffice mint keretrendszer miben segít fejlesztői szempontból. Ez egy olyan dolog, aminek időtállónak kell lennie. Nem szerencsés összeboronálni egy monstrummal. Aggódom a karbantarthatóság miatt.
Marketing szempontból sem értem, hogy mire jó ez. Az első benyomás az ami komolytalan.

Persze akik közelről ismerik a LibreOffice extension API szépségeit, lehet más véleményen vannak.

Egy fejlesztő van, Németh László. A projekt 1-2 hetes munkával elérte a működő demó szintet, a mostani állapot pedig kb. 2 hónap munka eredménye. Ezt a tempót az tette lehetővé, hogy csak a lényegre lehetett koncentrálni, nem kellett szerkesztőt, vektorgrafikus megjelenítőt stb. írni, mert ezeket a LibreOffice biztosítja. Az elkészült ábrák azonnal beilleszthetők dokumentumokba, ez a gyakorlati felhasználást elősegíti.

A LibreOffice elterjesztésében is segít, ha vannak hozzá színvonalas kiterjesztések. Annak ellenére, hogy az OpenOffice.org elvesztette fejlesztői nagy részét, és az utolsó stabil verziója, a 3.3-as 2011 januárjában jelent meg, az emberek még mindig ezt töltik le többször, mint a LibreOffice-t. (forrás)

"Marketing szempontból sem értem, hogy mire jó ez."

Marketing szempontból az "egy böhöm nagy program" elv nem hülyeség pedig. Nézd meg ma, hogy mi zajlik informatika oktatás címszó alatt: konkrétan Microsoft Office oktatás.

Ami benne van az Officeban (legyen az bármi) az a tananyag, és ennek az anyagnak szentsége van. Ami ezen kívül van, az a mai magyar alapoktatásban egyszerűen nem létezik. Ebből is látszik, hogy ez egy sikeres koncepció: megtanulod _az_ Officet, és máris informatika "szakértővé" váltál.

A szimbiózis szerintem marketing okokból nagyon is rendben van.

Más kérdés, hogy ez a Logo akkor lesz sikeres, ha maximálisan kompatibilis az Imagine Logoval, mert Logo témában az Imagine ma nálunk egyeduralkodó, amire hatalmas infrastruktúra épült.

Egyébként minden tiszteletem a készítőnek. Szerintem jó ötlet, és kívánom, hogy legyen a dologban minél több kedve.

Köszönöm szépen, hamarosan részletesebben írok a fejlesztésről!

Köszönöm szépen! A mostani konferencián örömmel tapasztaltam, hogy nem csak a matematika-, fizika-, informatika- és rajztanárokat sikerül fellelkesíteni (pl. azzal, hogy milyen gyönyörűen feldíszíthető lesz a szaktanterem poszternyi méretű op-art-utánérzésekkel, vagy éppen egy sakkpedagógiai módszerekkel oktató szegedi általános iskolában színes sakkfeladványokkal). Jelen volt ugyanis egy diák a megcélzott korosztályból az előadáson, aki hangosan felszisszent a kinyomtatott Vasarely-ábra láttán. :)

A fejlesztés teljesen komoly, és olyan célokra használható (a zárt programok kiváltásán, a szabad szoftverek népszerűsítésén kívül), amire az eddigi Logo rendszerek tudomásom szerint nem. A LibreOffice ebben a fejlesztésben emberéveket spórolt meg, vagyis tul. megvalósíthatóvá tette. Az, hogy a Logo programozás közben megtanulják a szövegszerkesztést is, és a LibreOffice Writerben, nem hátrány, hanem inkább kifejezetten előny, l. a bemutatót.

Ötletes, szép megoldás!
Első ránézésre nem értettem az összefüggést, aztán ahogy kezdett összeállni a kép, ki is próbáltam. így most már tudom ajánlani másoknak is.
Apróságok:
1. Arra nem jöttem rá hogy lehet 1-nél több sort írni az input mezőbe.
2. A referenciában a paraméterezést, és néhány példát is meg kell majd adni, függetlenül attól mennyire hasonlít a nyelv a Comenius Logo-ra
3. Az objektum rajzolása drasztikusan belassul meghatározott számú pont után.

Amúgy tényleg igazi svájci bicska.
Érdekel a téma. Hozzájárulnék.

1. Az eszköztáron lévő beviteli mező egysoros programok bevitelére alkalmas, hosszabb programok egyszerűen a Writerben szerkesztett dokumentumok (a Writer a programozói szövegszerkesztő. Hiba esetén itt ugrik a hibás sorra a szövegkurzor, illetve jelenik meg a hibaüzenet). Példaprogramok: http://www.numbertext.org/logo/lok2012_hu/

2. Igen, teljes referencia, felhasználói kézikönyv még nincs, csak sok példa.

3. A lassulás tényleg jelentkezik az erősen erőforrásigényes élsimított, egymást takaró alakzatok rajzolása miatt (Core i5-ös Intel processzoron egy perc alatt 2500, a teknőc kikapcsolása esetén 4000 csúcsból álló alakzatot rajzol meg, ha a csúcsokat egyenként kell megrajzolni, nem pedig a meglévő kör, ellipszis, téglalap alakzatok, vagy TrueType karakterek felhasználásával). Ott, ahol erre valóban szükség lesz, például több száz illusztráció előállításánál, több módon lehet ezen javítani, például a megjelenítés kikapcsolásával a rajzolás idejére (ez létező lehetőség a LibreOffice makrónyelvében is), vagy akár közvetlen ODF előállítással, és annak betöltésével. Addig, amíg ezek nem elérhetők, a következőkkel javítható a sebesség: teknőc kikapcsolása (elrejt utasítás, előhozható a látható utasítással), hosszabb program elé oldaltörés.
Egyébként a legérdekesebb visszajelzés az volt a konferencián, hogy a lassúság igazi előny, mert pl. az ism 360 [ e 1 b 1 ] utasítás végrehajtásához nem kell várj utasítást a ciklustörzsbe helyezni, mint a Comenius/Imagine Logónál. Ilyen szempontból sokkal inkább hasonlít teknősre a LibreLogo megvalósítása. :) Köszönöm szépen a hozzászólást!

Köszi!

Tegyük fel hogy gnuplot-nak szeretném használni. Kézenfekvő a dolog, mert miért ne.

:posx = 0
:tengely = 400
:posy = :tengely
elrejt

kép [ ismét 150 [
	hely [:posx, :posy]
	kör 8
	:x =  hányadik/6
	:posy = :tengely – (sin(:x)*(150-hányadik))
	:posx = :posx +4
] ]

Pöttyökkel szépen ki tudom rajzolni a függvényt, de mivel a "hely" nem támogatja a "tollatle" üzemmódot, így összekötni már nem tudom őket. Persze lehetne még erőlködni az arctg függvénnyel, de az viccnek is rossz. Erre kéne valami megoldást találni, akár a nyelv kiegészítésével. Megérné szerintem.

Az előző pozíciót, attól való elmozdulást gondolom ki tudod számolni, és azzal össze tudod kötni… Rég logóztam, de a példád alapján valószínűleg menne. Amennyiben túl szögletes, a felbontás növelhető.

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

"túl szögletes"
Hát ha ezt egy vízszintes meg egy függőleges vonallal gondoltad, akkor igen, túl szögletes.
A különbséget természetesen ki tudom számolni, mondjuk deltaX, deltaY formájában. A gond csak az hogy át kéne váltanom polár koordinátába, hogy a teknősnek meg tudjam adni, hogy egyenesen menjen. Tehát átváltom polárba, a teknős meg visszaváltja, hogy ki tudja rajzolni. Erre mondtam hogy ez viccnek is rossz.

Szerk:

Persze a LOGO-t eredetileg nem ilyesmire tervezték, ezt értem. De ha már egy általános célú segédeszközt akarunk belőle faragni, akkor azért nem árthat ha tud descartes koordinátákban is gondolkodni. Nem?

Látom szemem előtt a következő LibreOffice kiterjesztést, amely az Asymptote-ot implementálja… Vagy a Gnuplotot. ☺

int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Nem olyan vészes ez. Akár maradhatunk is a logo nyelv logikáján belül.

rövidít [
       jobbra 90
       előre deltaX
       balra 90
       előre deltaY
]

Ez azt csinálná, hogy húz egy vonalat a blokkon belüli utasítások kiindulási és végpontja között.

Na milyen ötlet? :)

Alakzatok rajzolásánál is hasznosnak tűnik, bár innen már tényleg csak egy lépés egy poligon vagy görbe megadása a csúcsaival.

A következő nagyobb kiadásban lesz megoldás a Bézier-görbék rajzolására, lehetőleg minél egyszerűbb módon. Addig is egy szép példa, mire képes a Python és a matplotlib: http://en.wikipedia.org/wiki/File:Temp-sunspot-co2.svg (forráskóddal), a szintaxisa hasonlít a gnuplotra, ha jól látom.

Elkészült az RC2-es változat, amiben jelentősen javult a rajzolási sebesség, ha közben új alakzat rajzolása kezdődik eltérő vonalvastagság, vonalszín miatt: http://www.numbertext.org/logo/librelogo-0.1.oxt.