Difference between revisions of "Rodin"

From HaskellWiki
Jump to navigation Jump to search
m (Pus litere â acolo unde e nevoie.)
 
(136 intermediate revisions by the same user not shown)
Line 1: Line 1:
  +
[[Category:Ro]][[Category:Ub.Ro]]
Limbajul Rodin, un limbaj pseudocod nou aparut (2008), in stil C, proiectat pentru profesorii si elevii din România.
 
  +
<center> [[Image:BannerProLinuxAndHaskell.gif]]
   
  +
[http://stiinte.ub.ro La facultate poti invata unul din cele mai productive limbaje: Haskell.]
==.Ce este Rodin ? ==
 
Un limbaj de programare imperativ, asemanator cu C-ul, destinat rularii de programe in pseudocod. Doriti un software care sa execute, pentru elevii dumneavoastra , programele scrise de ei in pseudocod ? Daca Da, Rodin este pentru dumneavoastra. Limbajul Rodin este foarte bun pentru invatat o serie de notiuni de algoritmistica, dupa parerea beta-testerilor nostri. Limbajul Rodin raspunde la intrebarea "Cum sa rulez pseudocod scris in limba româna, pe calculator, la lectiile de informatica de la liceu sau scoala generala, ori chiar facultate ?"
 
   
  +
</center>
==. De unde vine numele Rodin ? ==
 
  +
----
Rodin, RoDin, Din Ro , Din România. Este un mic limbaj care vine din România, scris de un român pentru colegii sai profesori de liceu Români sau asistentii de la facultatile românesti, oriunde ar fi sau ar preda ei.
 
  +
English Page: [[RodinEn]]
  +
----
  +
<center> [[Image:Rodin-diploma.jpg]] [[Image:Rodin-Banner.gif]] </center>
   
  +
<h1> Limbajul Rodin, un limbaj pseudocod nou implementat (2009), in stil C, proiectat pentru profesorii si elevii din România, pentru orele de algoritmistică <br> <center> * [[Rodin/Download]] * [[Rodin/News]] * [[Rodin/Examples]] * [[Rodin/FAQ]] * [[Rodin/Others]] * [[Rodin/History]] * </center> <br> '''Ultima versiune este Rodin Codename:ExperimentExp12 lansata la data de 29 august 2009. Detalii la pagina [[Rodin/News]].Istoric [[Rodin/History]]. Descarcati software-ul FREE de la pagina [[Rodin/Download]] </h1>
==. Ce aduce nou Rodin ? ==
 
Cuvinte cheie in limba româna, cateva inovatii in materie de expresii (admite si unele lambda expresii cu un parametru impreuna cu operatia de aplicarea). Este primul interpretor modular de pseudocod care foloseste cuvinte cheie romanesti.
 
   
  +
<center> [[Image:TotalEdit-si-Rodin.jpg]] </center>
==. Ce mai ofera Rodin ?==
 
  +
<center> '''Rodin ruleaza si împreună cu [http://www.codertools.com/totaledit.aspx '''Total Edit'''! Download-ul unui un IDE recomandat!].''' Sau direct de aici: [http://download.codertools.com/TotalEditStd_5_2_8_install_en.msi http://download.codertools.com/TotalEditStd_5_2_8_install_en.msi] </center>
O posibilitate de a vedea seria de atribuiri care au loc in timpul executiei programului (lansati-l cu switch-ul -mem). Liberatatea de a alege orice extensie pentru fisiere si orice editor pentru a scrie programe, chiar si Notepad-ul.
 
Nu este nevoie sa declarati variabilele, cel putin deocamdata.Ele se declara automat imediat ce scrieti o atribuire.
 
   
  +
<p class='previewnote'> Verificati antivirus executabilele din ambele arhive. Nu se stie nici o data ce ascund, mai ales de cand intr-o arhiva Nero am gasit un .EXE virusat ! </p>
==. Ce legatura este intre Rodin si Haskell ==
 
Rodin a fost scris in Haskell 98 si compilat cu GHC-ul.
 
   
  +
==. Latest tech news - Ultimele stiri tehnice ==
==. Ce v-a determinat sa alegeti Haskell ca limbaj de implementare ?==
 
  +
Instructiunea "citeste v[e];" pentru citiri de elemente de vectori ESTE implementata. La fel si alternativa generalizata. Colectionati programe si notati pentru fiecare cu ce versiune Rodin l-ati rulat. Pentru a obtine un IDE descarcati [http://www.codertools.com/totaledit.aspx '''Total Edit'''] si incercati-l. Trebuie doar sa definiti o comanda noua in meniul cu unelte (Tools) astfel ca alegerea ei sau tastarea combinatiei CTRL-F9 sa ruleze programul scris in Limbajul Rodin.
Productivitatea sa fantastica. RodinV05-Ro a fost scris in circa 4 zile a cate 4 ore de munca, timp in care am facut si cercetare. Dar dupa cativa ani buni (7) de studii in domeniul constructiei compilatoarelor si interpretoarelor limbajelor de programare.
 
   
  +
<br> [[Image:Configurare.jpg]] <br>
==. De unde se poate obtine Rodin ? ==
 
De la un alt beta tester Rodin, deocamdata. Urmeaza sa-l distribuim si prin alte metode: dischete, e-mail, download. Deocamdata il distribuim prin e-mail.
 
sau puteti cere o discheta ori un CD de la Univ. Bacau, de la cabinetul domnului Popa. Ori puteti veni cu un stick :)
 
   
  +
Specificati ca la alegerea lor sa se execute o comanda: cmd.exe Aceasta deschide o fereastra iar /K (inseamna sa execute alta comanda) ii spune sa ruleze Main.exe $FileName ($FileName fiind fisierul cu programul Rodin de executat). PUNETI SPATIILE dupa si intre comanda si argumente ! CTRL-F9 nu se scrie litera cu litera, se apasa combinatia de taste! Alegeti sa se execute "Extern" si sa se salveze fisierul pe care l-ati editat (bifati !). Daca dupa aceea nu puteti rula programele Rodin apasand CTRL-F9 revedeti [http://www.haskell.org/wikiupload/b/be/Total_Edit_Si_Rodin.pdf documentatia despra configurarea softurilor Total Edit si Rodin astfel incat sa functioneze impreuna.]
==. Cine este autorul Rodin ? ==
 
  +
Alte explicatii sunt in arhiva Rodin ExperimentExp11 (sau 12) din pagina [[Rodin/Download]].
Dan V.Popa. Actualmente lucreaza la Universitatea Bacau.
 
   
  +
[[Image:Rodinv08e.gif]] [[Image:RodinExp12.jpg]]
==. Cum arata cel mai scurte program in Rodin posibile==
 
Unul din cele mai scurte programe, care face totusi o operatie cu datele utilizatorului (reafisarea lor) ar fi:
 
<haskell>
 
{ tasteaza x;
 
scrie x;
 
}
 
</haskell>
 
   
==. Unde gasim alte exemple de programe in Rodin ? ==
+
==. Stirile lunii si ultimele stiri didactice ==
  +
Vedeti pe pagina [[Rodin/News]].
Aici vom posta exemple imediat ce vin de la beta testeri si le verificam.
 
  +
Stiri vechi gasiti pe pagina [[Rodin/News/2008]].
  +
Descarcati si 3 capitole de manual despre [[Rodin]], realizate de comunitatea noastra. Realizator: Pavel Codrina, dupa exemplele de cod din arhiva de download, plus creatia proprie.
  +
http://www.haskell.org/wikiupload/a/a0/CapitoleDeManualRodin.zip
   
  +
==. Intrebari puse des si raspunsuri==
  +
* Aici gasiti explicatii privind limbajul Pseudocod Rodin si [[Platforma Rodin de dezvoltare a limbajelor]]: [[Rodin/FAQ]]. <br>
  +
*Iar aici raspunsuri si solutii: [[Rodin/CeSaFac]].
   
  +
==. Download ! Descarcati pentru instalare ==
Exemplu. Id: A-1
 
  +
'''1.''' Limbajul Rodin din pagina [[Rodin/Download]]. In arhive gasiti programe in pseudocod Rodin pentru lectii.
Beta tester: Adrian
 
Tema: Bucle imbricate; 1000 x 1000 operatii
 
Obs: Executia dureaza, bucla interioara fiind o temporizare.
 
   
  +
'''2.''' Editorul recomandat "Total Edit" de pe site-ul Codertools:
<haskell>
 
  +
[http://www.codertools.com/totaledit.aspx '''Total Edit''' Download IDE recomandat!]. Sau direct de aici: [http://download.codertools.com/TotalEditStd_5_2_8_install_en.msi http://download.codertools.com/TotalEditStd_5_2_8_install_en.msi]
{fie n=1000;
 
cat timp (n>0)
 
{fie x=0;
 
cat timp (x<1000)
 
fie x=x+1;
 
fie n=n-1;
 
scrie n;
 
};
 
};
 
   
  +
==. Cititi pentru a face configurarea ==
</haskell>
 
   
  +
3. De aici descarcati [http://www.haskell.org/wikiupload/b/be/Total_Edit_Si_Rodin.pdf o mica documentatie despre configurarea softurilor Total Edit si Rodin astfel incat sa functioneze impreuna.] Si adaugati in meniul Tools al Total Edit-ului o comanda
  +
care sa ruleze programele Rodin.
   
  +
4. Rodin la inceput de drum. [http://www.haskell.org/wikiupload/d/da/Rodin-inceput.zip Descarcati de aici o arhiva cu cele mai simple exemple. Click dreapta aici pentru Download!]
   
  +
5. Dupa un semestru in care am testat Rodin (aproape o luna) impreuna cu
Exemplu. Id: A-2
 
  +
studentii de la Matematica (anul al III-lea) putem adauga la arhiva noastra
Beta tester: Adrian
 
  +
o alta serie de programe in Limbajul Rodin. O parte sunt din curs altele
Tema: Calculul factorialului
 
  +
scrise de Roxana Popa. Mii de multumiri. [http://www.haskell.org/wikiupload/8/84/PopaRoxana2.zip Descarcati arhiva de la acest link de Download.]
   
  +
==. Lucrari si articole ==
<haskell>
 
  +
Sunt in arhiva Rodin in directorul cu documente. Inclusiv descriere si imagini cum sa configurati Total Edit. Descarcati arhiva pentru Windows din pagina [[Rodin/Download]]. In arhiva sunt si vreo 50-60 de mici exemple numai bune pentru lectii: atribuiri, IO, decizie, decizie generalizata, bucle de toate felurile, vectori, sortare etc.
{
 
fie x=0;
 
tasteaza x;
 
fie g=1;
 
executa
 
{
 
fie g=g*x;
 
fie x=x-1;
 
}
 
atat cat (x>1);
 
scrie g;
 
}
 
</haskell>
 
   
  +
==. Capitole de manual ==
   
  +
Se lucreaza la un manual al limbajului Rodin. Pina cand va fi gata, nu stim exact cand, probabil pina la toamna, folositi capitolele din arhiva:
  +
[http://www.haskell.org/wikiupload/a/a0/CapitoleDeManualRodin.zip <DOWNLOAD>]
  +
Sunt scrise si oferite comunitatii de Codrina P, folosind software si exemple de program de pe site. Licenta sub care sunt oferite este libera, folositi-le cum doriti,dar numai in scop educational.
   
  +
==. Alte editoare ==
==. Ce facem daca un program nu ruleaza corect ? ==
 
Consultati lista de sugestii si subtilitati cunoscute:
 
   
  +
1.Puteti folosi Ultra Edit-ul.
<haskell>
 
  +
<center> [[Image:Ultraedit-run-for.jpg]] </center>
S1) Atentie: let x=1,x va fi perceput ca let x = (1,x)
 
  +
<center> '''Rodin rulînd împreună cu Ultraedit-ul pe 32 biti. Atentie: Licenta shareware era pentru circa 45 de zile.''' </center>
puneti (let x=1),x in loc.
 
Dar {1;2;}
 
1,2
 
   
  +
2.Puteti incerca X-Emacs
S2) Puneti spatiu dupa do la do while . Obligatoriu.
 
   
S3) 12+(\\ y . y) (4+4) -- nu puneti spatii linga plusuri si alti operatori. Valabil si pentru comparatii: <,>, ==, !=
 
   
  +
==. Alte Proiecte Conexe ==
S4) Daca incercati sa folositi o atribuire pe post de expresie,
 
si o puneti in paranteza, atunci inchideti paranteza imediat, fara spatii:
 
   
  +
Incercam sa pregatim o initiativa numita: [[Rodin/International]]. Nu dati click ca nu e pagina gata.
H:\_Pr>MainV03.exe Rodin2.hs
 
Asa nu e bine:
 
 
{ let y =2;
 
let x=100;
 
while (x>10)
 
let x=x-(let y = 1 );
 
print x;
 
print y;
 
}
 
 
H:\_P>MainV03.exe Rodin2.hs
 
Dar asa e bine:
 
 
{ let y =2;
 
let x=100;
 
while (x>10)
 
let x=x-(let y = 1);
 
print x;
 
print y;
 
}
 
 
S5) \" este " ca si in C
 
Deci mesajul:
 
unexpected "\""
 
expecting space or expresion
 
inseamna ca a gasit o " neasteptata in string-ul de intrare
 
 
S6) Recomandare: Desi in teorie numele variabilelor
 
poate sa inceapa cu orice litera, Rodin nu accepta (cel putin acest prototip)
 
variabile care incep cu aceeasi litera ca si cuvintele cheie.
 
(deoarece are un fel de scannerless parser).
 
NU FOLOSITI VARIABILE CARE INCEP LA FEL CA SI
 
CUVINTELE CHEIE,deci evitati: d a c f p r s t
 
sau prefixati variabilele cu o litera
 
cum ar fi m.
 
 
Iata `cuvintele` cheie din Rodin, desi unele nu sunt cuvinte ci
 
adevarate sintagme:
 
 
if = "daca"
 
then = "atunci"
 
else = "altfel"
 
let = "fie"
 
while = "cat timp"
 
do = "executa" / in versiunile vechi era "socoteste"
 
print = "scrie"
 
read = "tasteaza"
 
begin = "{"
 
end = "}"
 
repeat = "repeta"
 
until = "pina cand"
 
for = "pentru"
 
 
'Egalitatile' sugereaza cu ce alte cuvinte din alte limbaje de programare se aseamana cuvintele din limbajul Rodin.
 
 
Lista este orientativa, n-ar fi exclus s-o mai schimbam daca gasim motive intemeiate pentru a face acest lucru.
 
 
 
s7) Nu incepeti programul cu un rand liber !
 
Rodin va da eroare gasind acel Enter.
 
 
s8) Puneti imediat ; dupa atribuirea
 
fie x=0; asa e bine
 
dar nu asa
 
fie x=0 ;
 
 
s9) dupa "socoteste" /"executa" deschideti pe acelasi rand acolada,
 
puneti un spatiu (macar) intre "socoteste"/"executa" si acolada.
 
 
Atentie, una din versiunile mai vechi ale Limbajului foloseste "socoteste" alta "executa". Orientati-va dupa numarul ei si data de lansare pentru a le deosebi.
 
 
</haskell>
 
 
 
==. Putem contribui la dezvoltarea Rodin ? ==
 
Daca stiti Haskell si extensiile sale, daca cunoasteti transformatori de monade, daca ati folosit parsere modulare, atunci da. Ca alternativa sper sa pot publica un mic ghid dupa care un necunoscator al acestora sa poata scrie totusi componente pentru Rodin.
 
 
Alt mod de a contribui la dezvoltarea Rodin este sa scrieti pur si simplu programe in Rodin si sa le postati pe aceasta pagina. Ma oblig sa le verific inainte, daca nu sunt prea complicate sau prea multe. (Altfel n-as avea timp indeajuns pentru ele.)
 
 
==. Faceti si instruire in priviinta Rodin ? ==
 
Da, daca exista cerere. Voi anunta prin e-mail.
 
 
==. Pe ce notiuni se bazeaza Rodin ==
 
Pe notiuni de teoria categoriilor, monade, semantici monadice modulare si altele
 
despre care am scris mai sus.
 
   
  +
----
  +
<center> [[Image:Rodin-Banner.gif]] </center>
  +
----
  +
Pagina proiectului Rodin este in dezvoltare. Vizitati-o regulat pentru a gasi update-urile, noutatile precum si programele si exercitiile noi adaugate. Notati si stiri despre activitatea din cadrul Grupului Rodin aflati de pe pagina: [[Rodin/News]]
  +
----
  +
Inapoi la inceputul paginii Rodin: http://www.haskell.org/haskellwiki/Rodin. (pe care o gasiti imediat folosind un motor de cautare binecunoscut.)
   
  +
[http://stiinte.ub.ro/ Mergeti la Facultatea de Stiinte de la Universitatea din Bacau. => ][http://stiinte.ub.ro http://stiinte.ub.ro]
==. Ar putea un elev de liceu sa programeze in Rodin sau sa fie beta tester ?==
 
  +
<center> [[Image:BannerProLinuxAndHaskell.gif]]
Cu siguranta. Limbajul a fost inventat tocmai cu acest gand in minte, sa fie accesibil elevilor si profesorilor.
 
   
  +
[http://stiinte.ub.ro La facultate poti invata unul din cele mai productive limbaje: Haskell.]
==. Ce cunostinte ar trebui sa aiba cineva ca sa utilizeze Limbajul Rodin ? ==
 
Minim: Deschiderea unei console Windows cu Run-> Command -> cmd
 
apoi tastarea unei linii de comenzi. Plus cateva cunostinte despre limbajul C cu care Rodin se aseamana.
 
Mediu: C la un nivel didactic. Abilitatea de a intelege C-ul dincolo de cuvintele sale cheie.
 
Maxim: C si lambda calcul, daca doriti sa exploatati puterea unor expresii speciale (lambda expresiile numite abstractii).
 
   
  +
</center>
 
----
 
----
Pagina proiectului Rodin este in dezvoltare.
 

Latest revision as of 19:51, 16 July 2011

BannerProLinuxAndHaskell.gif

La facultate poti invata unul din cele mai productive limbaje: Haskell.


English Page: RodinEn


Rodin-diploma.jpg Rodin-Banner.gif

Limbajul Rodin, un limbaj pseudocod nou implementat (2009), in stil C, proiectat pentru profesorii si elevii din România, pentru orele de algoritmistică
* Rodin/Download * Rodin/News * Rodin/Examples * Rodin/FAQ * Rodin/Others * Rodin/History *

Ultima versiune este Rodin Codename:ExperimentExp12 lansata la data de 29 august 2009. Detalii la pagina Rodin/News.Istoric Rodin/History. Descarcati software-ul FREE de la pagina Rodin/Download

TotalEdit-si-Rodin.jpg
Rodin ruleaza si împreună cu Total Edit! Download-ul unui un IDE recomandat!. Sau direct de aici: http://download.codertools.com/TotalEditStd_5_2_8_install_en.msi

Verificati antivirus executabilele din ambele arhive. Nu se stie nici o data ce ascund, mai ales de cand intr-o arhiva Nero am gasit un .EXE virusat !

. Latest tech news - Ultimele stiri tehnice

Instructiunea "citeste v[e];" pentru citiri de elemente de vectori ESTE implementata. La fel si alternativa generalizata. Colectionati programe si notati pentru fiecare cu ce versiune Rodin l-ati rulat. Pentru a obtine un IDE descarcati Total Edit si incercati-l. Trebuie doar sa definiti o comanda noua in meniul cu unelte (Tools) astfel ca alegerea ei sau tastarea combinatiei CTRL-F9 sa ruleze programul scris in Limbajul Rodin.


Configurare.jpg

Specificati ca la alegerea lor sa se execute o comanda: cmd.exe Aceasta deschide o fereastra iar /K (inseamna sa execute alta comanda) ii spune sa ruleze Main.exe $FileName ($FileName fiind fisierul cu programul Rodin de executat). PUNETI SPATIILE dupa si intre comanda si argumente ! CTRL-F9 nu se scrie litera cu litera, se apasa combinatia de taste! Alegeti sa se execute "Extern" si sa se salveze fisierul pe care l-ati editat (bifati !). Daca dupa aceea nu puteti rula programele Rodin apasand CTRL-F9 revedeti documentatia despra configurarea softurilor Total Edit si Rodin astfel incat sa functioneze impreuna. Alte explicatii sunt in arhiva Rodin ExperimentExp11 (sau 12) din pagina Rodin/Download.

Rodinv08e.gif RodinExp12.jpg

. Stirile lunii si ultimele stiri didactice

Vedeti pe pagina Rodin/News. Stiri vechi gasiti pe pagina Rodin/News/2008. Descarcati si 3 capitole de manual despre Rodin, realizate de comunitatea noastra. Realizator: Pavel Codrina, dupa exemplele de cod din arhiva de download, plus creatia proprie. http://www.haskell.org/wikiupload/a/a0/CapitoleDeManualRodin.zip

. Intrebari puse des si raspunsuri

. Download ! Descarcati pentru instalare

1. Limbajul Rodin din pagina Rodin/Download. In arhive gasiti programe in pseudocod Rodin pentru lectii.

2. Editorul recomandat "Total Edit" de pe site-ul Codertools: Total Edit Download IDE recomandat!. Sau direct de aici: http://download.codertools.com/TotalEditStd_5_2_8_install_en.msi

. Cititi pentru a face configurarea

3. De aici descarcati o mica documentatie despre configurarea softurilor Total Edit si Rodin astfel incat sa functioneze impreuna. Si adaugati in meniul Tools al Total Edit-ului o comanda care sa ruleze programele Rodin.

4. Rodin la inceput de drum. Descarcati de aici o arhiva cu cele mai simple exemple. Click dreapta aici pentru Download!

5. Dupa un semestru in care am testat Rodin (aproape o luna) impreuna cu studentii de la Matematica (anul al III-lea) putem adauga la arhiva noastra o alta serie de programe in Limbajul Rodin. O parte sunt din curs altele scrise de Roxana Popa. Mii de multumiri. Descarcati arhiva de la acest link de Download.

. Lucrari si articole

Sunt in arhiva Rodin in directorul cu documente. Inclusiv descriere si imagini cum sa configurati Total Edit. Descarcati arhiva pentru Windows din pagina Rodin/Download. In arhiva sunt si vreo 50-60 de mici exemple numai bune pentru lectii: atribuiri, IO, decizie, decizie generalizata, bucle de toate felurile, vectori, sortare etc.

. Capitole de manual

Se lucreaza la un manual al limbajului Rodin. Pina cand va fi gata, nu stim exact cand, probabil pina la toamna, folositi capitolele din arhiva: <DOWNLOAD> Sunt scrise si oferite comunitatii de Codrina P, folosind software si exemple de program de pe site. Licenta sub care sunt oferite este libera, folositi-le cum doriti,dar numai in scop educational.

. Alte editoare

1.Puteti folosi Ultra Edit-ul.

Ultraedit-run-for.jpg
Rodin rulînd împreună cu Ultraedit-ul pe 32 biti. Atentie: Licenta shareware era pentru circa 45 de zile.

2.Puteti incerca X-Emacs


. Alte Proiecte Conexe

Incercam sa pregatim o initiativa numita: Rodin/International. Nu dati click ca nu e pagina gata.


Rodin-Banner.gif

Pagina proiectului Rodin este in dezvoltare. Vizitati-o regulat pentru a gasi update-urile, noutatile precum si programele si exercitiile noi adaugate. Notati si stiri despre activitatea din cadrul Grupului Rodin aflati de pe pagina: Rodin/News


Inapoi la inceputul paginii Rodin: http://www.haskell.org/haskellwiki/Rodin. (pe care o gasiti imediat folosind un motor de cautare binecunoscut.)

Mergeti la Facultatea de Stiinte de la Universitatea din Bacau. => http://stiinte.ub.ro

BannerProLinuxAndHaskell.gif

La facultate poti invata unul din cele mai productive limbaje: Haskell.