Fundamentele programării (I) - Java

Începem acum cu adevărat seria de articole dedicate prezentării fundamentelor programării. Acesta este primul articol din versiunea Java a seriei. Dacă vă uitați la articolele corespunzătoare din versiunile dedicate celorlalte limbaje, veți observa că sunt foarte asemănătoare. Vă rugăm să nu ne acuzați de copy & paste… Există un motiv întemeiat! Vrem să fie asemănătoare. Vrem să arătăm elementele comune ale limbajelor. Nu are rost să reformulăm doar de dragul de a prezenta lucrurile puțin diferit.

De ce Java?

Motivul principal pentru care Java este unul dintre limbajele alese este acela că limbajul este, în momentul scrierii articolului, cel mai folosit în industria software. Nu este un prim loc detașat și probabil nu va rămâne în frunte pentru totdeauna. Totuși, credem că va avea o viață destul de lungă și cunoașterea sa este utilă.

După un start care va părea mai dificil comparativ cu alte limbaje, veți vedea că lucrurile devin din ce în ce mai simple. Se spune că în Java lucrurile funcționează de la sine, totul este intuitiv și șansele de a greși sunt mai mici. Va trebui să aveți puțină răbdare. Elementele de bază prezentate în cadrul acestui prim articol vor părea exagerat de complicate. Din fericire, trebuie să știți doar că se poate face, că așa se face și nu de ce trebuie scris atât de mult cod.

Datorită faptului că este utilizat de atât de mulți programatori, multe lucruri au fost deja făcute de alții și limbajul de permite foarte ușor să folosim codul scris de alții.

Există o mulțime de tehnologii care utilizează limbajul Java. Folosind acest limbaj vom putea dezvolta aplicații software dintre cele mai diverse. Vom scrie programe care vor rula pe servere, pe calculatoarele obișnuite, pe tablete, pe telefoane sau pe diversele dispozitive portabile care sunt lansate acum pe piață. Deși este posibilă utilizarea altor limbaje, cam tot ce are legătură cu sistemul de operare Android de la Google va fi scris, în principiu, în Java.

Mediul de programare

Există două medii de programare preferate în comunitatea Java: Eclipse și IntelliJ IDEA. Fiecare are avantajele sale, pe măsură ce apar versiuni noi fiecare încearcă să adauge facilități noi, dar și facilitățile deja oferite de celălalt. Chiar și în redacția Gazetei de Informatică părerile sunt împărțite. La un moment dat va trebui să alegeți unul dintre ele (sau altul dacă vă place mai mult, dar șansele sunt relativ mici). Ambele sunt disponibile pentru diverse sisteme de operare și sunt relativ ușor de instalat. Dar, instalarea acestor medii de programare depășește scopul acestui articol. Dacă știți folosi un mediu de programare (sau vă ajută cineva), o puteți face. Pentru a ne păstra neutralitatea, vom oferi o soluție alternativă care nu necesită instalare.

Pe parcursul acestei serii de articole, exemplele vor fi create și rulate folosit un mediu de programare disponibil online. Sunt mai multe disponibile, așa că vom alege la întâmplare. Nu avem criterii clare după care să alegem așa că Google a ales în locul nostru. O căutare după java environment online ne-a dus la http://ideone.com/. E suficient de bun deocamdată. Dacă aveți motive să credeți că ar fi trebuit să alegem altceva, vă rugăm să ne atenționați…

Să începem…

Dacă accesați site-ul veți ajunge la o pagină care arată cam așa (am eliminat elementele neesențiale):Screen Shot 2015-05-04 at 21.49.43

Observați că avem deja un program scris. Acesta este un fel de program minimal în Java. Nu face nimic. Nu trebuie să înțelegeți acum ce rol au toate acele texte…

Puteți apăsa butonul Run din dreapta jos și se va executa. Veți ajunge în situația din imaginea de mai jos.

Screen Shot 2015-05-04 at 21.53.22

Observăm că execuția s-a încheiat cu succes, dar în rest nu s-a întâmplat mare lucru. Totuși, vedem că adresa paginii afișate s-a modificat (în cazul nostru este http://ideone.com/gF0qHX, dar programul fiecăruia va fi disponibil la o altă adresă). Vom putea întotdeauna accesa programele scrise folosind aceste adrese.

Dacă dorim să facem ceva, ar trebui totuși să modificăm acest program care nu face nimic. Pentru aceasta putem apăsa butonul edit din stânga-sus. Adresa nu se mai modifică, dar acum putem efectua modificări în program.

Să înlocuim // your code goes here cu // aici trebuie scris codul. Din motive cunoscute doar de creatorii site-ului, în locul butonului Run avem un buton numit Ideone it! Apăsându-l vom rula noul program care, poate v-ați așteptat, nu va face nici el nimic. Pentru a ne păstra modificările va trebui să apăsăm butonul Save.

Primul program adevărat

Tradiția spune că primul program scris într-un limbaj de programare nou este cel care tipărește mesajul Hello World! Noi vom fi mai originali și vom tipări Gazeta de Informatică.

Așa cum probabil vă imaginați, codul va fi scris în zona în care ne-am “jucat”. Vom înlocui textul // aici trebuie scris codul cu o comandă Java propriu zisă, vom salva și vom rula programul. Comanda respectivă este cea din articolul introductiv:

După rulare, veți observa că în zona din partea inferioară a ecranului a apărut textul dorit.

Screen Shot 2015-05-04 at 22.16.18

 

Tocmai am realizat una dintre operațiile fundamentale efectuate de programele de calculator. Am oferit o informație în exterior. De data aceasta am scris ceva pe ecran. Programele comunică rezultatele executării lor furnizând așa numitele date de ieșire. Acestea pot lua diverse forme. Cea mai simplă este tipărirea unui simplu text, dar sunt multe altele cum ar fi tipărirea la o imprimantă, desene sau filme pe ecran, sunete în boxe etc., dar și informații codificate care nu pot fi înțelese decât de alte programe.

Date de intrare

Programele ne furnizează date de ieșire. De cele mai multe ori ele au nevoie de informații din exterior. Acestea le sunt comunicate prin intermediul așa numitelor date de intrare. Dacă prin intermediul datele de ieșire programele ne furnizează informații, prin intermediul datelor de intrare noi suntem cei care oferim informații. Și datele de intrare pot lua diverse forme: informații introduse de la tastatură, mișcarea mouse-ului, apăsarea butoanelor mouse-ului, apăsarea unui touchscreen, rostirea în microfon, etc. Poate vă imaginați că acele informații codificate pe care le menționam la sfârșitul secțiunii anterioare, cele care nu pot fi înțelese decât de alte programe, reprezintă date de intrare pentru aceste alte programe.

Dar, să ne concentrăm asupra unui exemplu simplu. Vom cere numele utilizatorului și îl vom saluta. Utilizatorul își va introduce numele și după aceea va apărea mesajul Salut, urmat de nume și de un semn de exclamare. Ca să arate totul bine, vom adăuga și un spațiu înaintea numelui. De exemplu, dacă utilizatorul ar introduce numele GInfo, mesajul ar fi Salut GInfo!.

Vi se părea complicată comanda prin care era afișat un text. Să vedeți acum…

Site-ul ne permite să specificăm date de intrare sub forma unor text înainte de a rula programul. Acestea trebuie introduse în caseta din partea inferioară:

Screen Shot 2015-05-04 at 22.37.39

Dacă rulăm programul, observăm că este afișat mesajul ales.

Screen Shot 2015-05-04 at 22.39.29

În episoadele următoare veți înțelege ce este acel String, ce este acel nume și, mult mai încolo, ce este un Scanner

Deocamdată, singura observație demnă a fi luată în considerare este aceea că, în Java, fiecare instrucțiune se încheie cu semnul punct și virgulă.

Va urma

În episodul următor vom vedea cum lucrăm cu numere și texte. Veți înțelege puțin mai mult din programul pe care l-am folosit ca model în cadrul acestui episod.