+ All Categories
Home > Documents >  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a...

 · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a...

Date post: 24-Jan-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
14
Ursache Cristian SDI - 244 Groovy Referat 1. Introducere Groovy este un limbaj de programare folosit în mare parte pentru scripturi, care rulează pe JVM (Java Virtual Machine). ”Limbajul este unul static și dinamic cu caracteristici similare cu cele ale limbajelor Python, Ruby, Perl și Smalltalk”[1]. Limbajul este complet compatibil cu Java, el poate folosi aceleași librării fără ca să aibă anumite probleme de compatibilitate. Un programator Java poate să scrie cod Java într-un mediu Groovy și programul va rula perfect. În Figura 1, observăm că din opt importuri implicite de pachete, șase sunt de tip Java. Limbajul la fel este similar cu limbajele de programare precum Scala, Closure și Kotlyn, care tot rulează pe JVM și se folosesc mult de librăriile Java. Ultimul din ele, Kotlyn, ”a fost puternic influențat de Groovy și alt limbaj JVM popular Scala”[2]. Prima versiune a limbajului, Groovy 1.0 a apărut pe 2 ianuarie, 2007, iar la momentul dat s-a ajuns la versiunea Groovy 3.0, care a fost proiectată pentru JDK8+. Figura 1. (http://groovy-lang.org/differences.html ) 2. Scurt istoric
Transcript
Page 1:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Ursache CristianSDI - 244

Groovy

Referat

1. Introducere

Groovy este un limbaj de programare folosit în mare parte pentru scripturi, care rulează pe JVM (Java Virtual Machine). ”Limbajul este unul static și dinamic cu caracteristici similare cu cele ale limbajelor Python, Ruby, Perl și Smalltalk”[1]. Limbajul este complet compatibil cu Java, el poate folosi aceleași librării fără ca să aibă anumite probleme de compatibilitate. Un programator Java poate să scrie cod Java într-un mediu Groovy și programul va rula perfect. În Figura 1, observăm că din opt importuri implicite de pachete, șase sunt de tip Java. Limbajul la fel este similar cu limbajele de programare precum Scala, Closure și Kotlyn, care tot rulează pe JVM și se folosesc mult de librăriile Java. Ultimul din ele, Kotlyn, ”a fost puternic influențat de Groovy și alt limbaj JVM popular Scala”[2].

Prima versiune a limbajului, Groovy 1.0 a apărut pe 2 ianuarie, 2007, iar la momentul dat s-a ajuns la versiunea Groovy 3.0, care a fost proiectată pentru JDK8+.

Figura 1. (http://groovy-lang.org/differences.html)

2. Scurt istoric

Limbajul Groovy a fost proiectat de James Strachan, după specialitate Inginer Software care face parte din grupul Apache Software Foundation. ”Pentru prima dată despre dezvoltarea limbajului Groovy, Strachan a vorbit în blogul său în luna august, a anului 2003”[1]. “Mai multe versiuni ale limbajului au fost lansate între anii 2004 și 2006. După ce a început efortul de standardizare Java Community Process (JCP), enumerarea versiunilor s-a schimbat, și versiunea numită "1.0" a fost lansată de abia pe 2 ianuarie 2007.”[1].

Conform informației din sursa [1], putem să urmărim că Groovy and Grails Company a fost obținută de SpringSource în noiembrie, 2008, după în august, 2009 deja de VMware, care a încetat

Page 2:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

să sponsorizeze Groovy and Grails în aprilie 2015. Astfel compania și-a schimbat structura de guvernare în cadrul Apache Software Foundation. Acest fapt îl putem observa și pe site-ul oficial dacă dorim să descărcăm o versiune mai veche de 2.4.4, afișându-se următorul mesaj: ”Important: versiunile înainte de 2.4.4 nu au fost făcute în cadrul Apache Software Foundation și sunt furnizate ca o comoditate, fără nicio garanție.”[3].

3. Instalare și configurare

Instalare Java

Pentru a folosi Groovy, mai întâi avem nevoie de Java. Groovy are nevoie minim de versiunea Java 7. Deschidem aplicația Command Prompt și scriem comanda ”java -version” pentru a afla ce versiune avem pe sistem. În caz că avem o versiunea inferioară lui Java 7 sau Command Prompt-ul nu ne recunoaște comanda ”java -version” descărcăm de pe site-ul oficial https://www.java.com/en/download/ distribuția de Java potrivită.

Instalare Groovy

După ce avem versiunea de Java compatibilă cu Groovy, avem nevoie de Groovy în sine, pe care putem să îl descărcăm de pe site-ul oficial al limbajului, http://groovy-lang.org/download.html. Alegem o versiune dorită și alegem Windows Installer, precum e arătat în Figura 2. După descărcare, instalăm Groovy urmând pașii din instalator. După instalare deschidem iarăși aplicația Command Prompt și scriem comanda ”groovy -v” pentru a vedea versiunea avută și să ne asigurăm că distribuția s-a instalat.

Figura 2. Instalare Groovy

Observații: Recomand să instalați ultima versiunea stabilă a limbajului, la momentul dat Groovy 2.5. Deoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect variabila de mediu (Environment Variable), după ce am corectat, a mers, dar până la primul restart al sistemului. Soluția a fost ștergerea distribuției curente și instalarea a ultimei distribuții stabile.

4. Crearea programului ”Hello World”

Deschidem un editor de texte dorit, precum NotePad++, Sublime Text, Atom etc. Și creăm fișierul nostru groovy, cu orice denumire cu forma următoare denumireFisirer.groovy și scriem programul nostru. În imaginea următoare, este un exemplu de astfel program.

Page 3:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Pentru a rula programul, deschidem aplicația Command Prompt în directorul unde se află fișierul nostru și scriem comanda ”groovy denumireFisier.groovy”. Rezultatul programului va fi:

Observații: După cum vedem codul este aproape identic cu unul de tip Java, cu mici excepții, precum:

În loc de System.out.println putem scrie doar println, astfel scurtându-se considerabil numele metodei date.

Sunt omise punctul și virgula (semicolon) la sfârșitul metodei, nu este greșit dacă le punem, programul oricum va rula.

5. Proprietățile limbajului

În capitolul dat, o să analizăm mai multe exemple de cod Groovy, unde o să vedem proprietăți specifice limbajului Groovy și diferențele dintre Groovy și Java.

Operații matematice în Groovy Operații asupra numerelor întregi:

Rezultatul:

Operații asupra numerelor reali:

Page 4:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Rezultatul:

Observații: În Groovy, nu e nevoie să specificăm tipul variabilei, putem să scriem în locul ei ”def”, ce vine de la ”define”, sau putem să îl omitem și pe ”def”, compilatorul va înțelege ce tip de obiect se dorește a fi creat. De asemenea în Groovy totul este tratat ca obiect, inclusiv și numerele. De aceea variabilele numerice au metode specifice lor. În Java nu putem astfel să ne referim la variabile de tip numeric.

Obiectul String Afișarea stringului:

Rezultatul:

Observații: În Groovy, în funcția de afișare, totul ce este scris între ghilimelele ‘…’este citit ca un singur string. Iar între ghilimelele duble ”...” putem să ne referim la un string doar cu $numeString, fără ca să avem nevoie de concatenarea de stringuri ca în Java.

Afișarea stringului:

Page 5:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Rezultatul:

Observații: În Groovy putem crea ușor un string multiplu, folosind ghilimelele ‘’’…’’’, de asemenea stringul va respecta fix aceeași spațiere cu care l-am definit.

Citire input de la consolă

Rezultat:

Citire input de la consolă în Java:

Page 6:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Observații: După cum vedem, în Groovy putem ușor să indicăm tipul de input (intrare), fără a îl modifica după citire în tipul dorit. Același program scris în Java va fi cu mult mai vast.

Operații cu liste

Rezultat:

Page 7:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Observații: În Groovy, listele au operatori specifici pe care nu îi avem în Java, care ne ajută ușor să adăugăm sau ștergem elemente. De asemenea putem să specificăm un interval dorit din listă accesând numeLista[a..b].

Groovy Maps:

Rezultat:

Observații: În exemplul de mai sus, vedem cum se creează un obiect de tip Map și ce operații specifice se pot efectua cu acest tip. În Groovy, Map este o colecție de obiecte pereche ce au o cheie și o valoare. De obicei astfel de obiecte sunt folosite pentru implementarea unui LookUp.

Afișarea unui obiect Map

Page 8:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Rezultat:

Observații: În exemplul de mai sus, în bucla for, am parcurs linie cu linie obiectul map pentru a afișa valorile acestuia. Iar o altă metodă de afișare ar fi parcurgerea obiectului cu funcția each și afișarea valorilor acestuia, folosind it, care este echivalent cu this în Java și atributul acestuia.

Definirea intervalelor

Rezultat:

Page 9:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Observații: În Groovy, este posibilă definirea unui interval string sau numeric doar specificând primul atribut, două puncte și ultimul, (a..b), iar restul completându-se automat.

Bucla FOR

Rezultat:

Observații: În exemplul dat, vedem că la fel, putem defini intervale în bucla FOR dorit de parcurs, ceea ce este foarte comod și ușor. De asemenea ușor putem parcurge un vector de numere, fără specificarea numărului de iterații.

Transmiterea unui număr necunoscut de parametri unei metode

Page 10:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Rezultat:

Observații: O proprietate utilă și specifică limbajului Groovy, este transmiterea unui număr necunoscut de parametri unei metode. Pentru a face lucrul dat, scriem tipul dorit al parametrilor, urmat de trei puncte și un nume pentru a ne referi la ele în metodă. De asemenea metodelor în Groovy nu e neapărat de definit tipul, compilatorul înțelege de ce tip e metoda după tipul returnat al metodei.

Operații cu fișiere

Rezultat:

Page 11:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Fișierul test.txt:

Observații: În exemplul de mai sus, creăm un fișier text, sau îl suprascriem dacă există și adăugăm o nouă linie cu textul din exemplu. După care afișăm fiecare linie, una, în cazul nostru și după adăugăm o nouă linie cu textul ”Linia 2”. La sfârșit afișăm conținutul fișierului text, transformând ușor fișierul text în string cu metoda ”text”.

6. Medii de dezvoltare pentru Groovy

Dacă dorim să lucrăm într-un mediu de dezvoltare cu integrare Groovy, la momentul dat exista zece editori de texte și IDE-uri care suportă limbajul Groovy, cu următoarele proprietăți:

Page 12:  · Web viewDeoarece sunt riscuri să aveți probleme cu distribuțiile mai noi. Ultima versiunea a distribuției nu a mers corect pe sistemul meu, anume, nu s-a configurat corect

Informația poate fi găsită pe site-ul oficial[4], dând click pe mediul dorit vom fi direcționați spre site-ul de unde putem descărca mediul dorit sau plugin-ul Groovy aferent mediului.

Concluzie

Am ales tema dată pentru referat, deoarece nu eram familiarizat cu acest limbaj și am vrut să învăț lucruri noi pentru mine. În urmă creării acestui referat am descoperit acest limbaj și proprietățile lui care în unele momente pot ușura mult munca programatorului. Codul necesar pentru a programa în Groovy va fi mai mic decât în Java, în toate cazurile. Multe caracteristici Groovy îl fac mai simplist și mai comod. Am descoperit la fel că la crearea unor limbaje ce devin acum rapid populare, precum Kotlyn, dezvoltatorii s-au inspirat din Groovy și au folosit multe proprietăți al lui. Eu socot că Groovy a avut o importanță mare în informatică ce a dus la simplificarea procesului de programare și apariția unor limbaje noi.

Bibliografie

[1] Wikipedia.com, https://en.wikipedia.org/wiki/Apache_Groovy

[2] Github.io, http://melix.github.io/blog/2016/05/gradle-kotlin.html

[3] Groovy-lang.org http://groovy-lang.org/download.html

[4] Groovy-lang.org http://groovy-lang.org/ides.html


Recommended