Fundamentele programării (I) – Swift

Acesta este primul articol din versiunea Swift a seriei dedicate prezentării fundamentelor programării. 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ătare. 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 Swift?

Swift nu este în acest moment un limbaj foarte răspândit, dar importanța sa derivă din faptul că a fost creat de Apple pentru a fi utilizat la dezvoltarea de programe care rulează pe platformele oferite de această companie. Este un limbaj nou, nu foarte matur, apărut în 2014. Totuși, datorită promovării de care se bucură, este foarte probabil să ajungă să fie utilizat de mulți programatori care dezvoltă aplicații pentru dispozitivele produse de Apple. Înainte de apariția limbajului Swift, aplicațiile pentru platformele Apple erau scrise, de regulă, în Objective C. Dar, este de așteptat ca acest limbaj să fie utilizat din ce în ce mai puțin și Swift din ce în ce mai mult.

Viitorul nostru serial dedicat dezvoltării de aplicații pentru dispozitivele mobile cu sistem de operare iOS va porni de la premisa că elementele de bază ale acestui limbaj sunt cunoscute.

Apple a făcut tot posibilul pentru ca limbajul să fie “prietenos” cu începătorii. Dar, există încă anumite surprize...

Datorită faptului că limbajul este nou, nu foarte multe lucruri au fost deja făcute de alții, dar limbajul ne permite foarte ușor să folosim codul scris de alții.

Limbajul a fost creat pentru a fi dezvoltate aplicații pentru platformele Apple. Deși poate fi utilizat și pentru altceva, aplicabilitatea sa este limitată pe alte platforme.

Mediul de programare

Pentru dezvoltarea de aplicații Swift mediul de programare utilizat este Xcode, oferit de Apple. Având în vedere că este un limbaj inventat de Apple, este natural să utilizăm un mediu de programare furnizat de aceeași companie. Mediul de programare este oferit gratuit.

Instalarea acestui mediu de programare este simplă, dar depășește scopul acestui articol. Pentru acest limbaj nu avem o alternativă Web viabilă așa cum e cazul celorlalte. De aceea, vom folosi Xcode. Evident, pentru a putea rula exemplele noastre veți avea nevoie de un calculator pe care rulează sistemul de operare MacOS.

Să începem…

După lansarea Xcode, este afișat un mesaj de întâmpinare și ni se permite să alegem una dintre modalitățile de utilizare ale acestui mediu de programare.

Screen Shot 2015-05-06 at 22.08.45

Pentru scopul nostru e bine să explorăm ușor și rapid noi idei, deci vom alege un așa numit playground. Faptul că (în traducere liberă și democratică) se cheamă loc de joacă nu este întâmplător; veți vedea că ne va permite să ne jucăm cu limbajul și să îl învățăm fără a crea aplicații propriu-zise. Ni se va cere să alegem un nume pentru playground-ul nostru și o platformă. Platforma este deocamdată irelevantă, deci nu o vom modifica, iar locul nostru de joacă se va chema GInfo (puteți alege orice nume).

Screen Shot 2015-05-06 at 22.15.28

După apăsarea butonului Next (în dreapta jos) va trebui să alegem locația în care va fi salvat fișierul care va conține playground-ul.

Screen Shot 2015-05-06 at 22.19.16

Putem să nu modificăm nimic și, în principiu, playground-ul nostru va fi salvat pe desktop (dacă Xcode nu a fost configurat altfel într-o rulare anterioară); puteți alege orice locație, dar desktop-ul e OK pentru scopurile noastre.

După apăsarea butonului Create, locul de joacă este pregătit și arată ca în imaginea următoare.

Screen Shot 2015-05-06 at 22.26.25

Observați că avem deja un program scris. Acesta este un fel de program minimal în Swift care nu face aproape nimic. Fereastra este împărțită în două zone. În stânga avem instrucțiunile, iar în dreapta informații despre efectele execuției lor. Programul care există deja folosește concepte pe care le vom introduce doar în episodul următor, deci nu vom insista acum. Să îl ștergem...

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ă.

Pentru aceasta este suficient să scriem comanda corespunzătoare în playground (ea a fost prezentată în articolul introductiv).

Partea frumoasă este că programul se execută pe măsură ce îl scriem (dacă nu conține erori). Partea mai puțin frumoasă este că în cazul de față nu este deloc intuitiv să ne dăm seama ce se întâmplă.

Screen Shot 2015-05-06 at 22.38.02

În dreapta vedem că rezultatul executării instrucțiunii este "Gazeta de Informatică". Totuși, vrem să scriem fără ghilimele. Să nu credeți că le-am pus în plus... Tot în episodul următor vom vedea care este rolul lor.

Există o diferență subtilă între rezultatul execuției instrucțiunii și efectul ei. De cele mai multe ori nu trebuie să le diferențiem, dar de data aceasta suntem nevoiți. Dacă dorim să vedem ce se întâmplă de fapt, trebuie să mutăm cursorul deasupra efectului din dreapta; observăm că apar două iconițe: Quick look și Show Result. O alegem pe a doua. Prima are un efect asemănător, dar temporar.

Avem acum textul dorit, fără ghilimele, afișat sub instrucțiunea noastră.

Screen Shot 2015-05-06 at 22.46.13

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.

Mai trebuie precizat faptul că în Swift fiecare instrucțiune se încheie la sfârșitul liniei pe care apare. Există și posibilitatea de a scrie mai multe instrucțiuni pe o linie; în acest caz ele trebuie separate prin semnul punct și virgulă.

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.

Pentru celelalte limbaje am prezentat un scurt exemplu care ar permite utilizatorului să introducă un nume și să primească un mesaj. Pentru Swift nu o vom face fiindcă este prea complicat și, datorită specificului limbajului, inutil.

Va urma

În episodul următor vom vedea cum lucrăm cu numere și texte.