Fundamentele programării (I) - C#

Acesta este primul articol din versiunea C# a seriei de articole 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ă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 C#?

Motivul principal pentru care C# este unul dintre limbajele alese este acela că limbajul este, în momentul scrierii articolului, cel mai folosit pentru crearea de aplicații pentru platforma Microsoft. Există alternative, dar C# s-a impus. Viitorul nostru serial dedicat dezvoltării de aplicații pentru dispozitivele mobile cu sistem de operare Windows va porni de la premisa că elementele de bază ale acestui limbaj sunt cunoscute.

Se spune că C# este varianta Java a celor de la Microsoft. Este adevărat până la un punct; cel puțin elementele de bază sunt foarte asemănătoare și există o mulțime de concepte introduse de Java care au fost preluate de C#. Dar, C# nu este doar o copie Java sau o alternativă care oferă exact aceleași facilități.

Startul va fi asemănător celui de la limbajul Java; va părea mai dificil comparativ cu alte limbaje, dar veți vedea că lucrurile devin din ce în ce mai simple. Limbajul este intuitiv și șansele de a greși sunt reduse. Va trebui să aveți puțină răbdare. Elementele de bază prezentate în cadrul acestui prim articol vor părea 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ă  multe tehnologii care utilizează limbajul C#. Folosind acest limbaj vom putea dezvolta aplicații software care vor rula pe calculatoarele obișnuite, pe tablete sau pe telefoane. Poate fi utilizat și în alte scopuri (de exemplu aplicații care rulează pe servere), dar de obicei există alternative care se potrivesc mai bine. Deși este posibilă utilizarea altor limbaje, cam tot ce are legătură cu aplicațiile mobile pentru Windows va fi scris, în principiu, în C#.

Mediul de programare

Pentru dezvoltarea de aplicații C# mediul de programare utilizat este Microsoft Visual Studio. Având în vedere că este un limbaj inventat de Microsoft, este natural să utilizăm un mediu de programare furnizat de aceeași companie. Este disponibilă o variantă gratuită a acestui mediu de programare, care însă nu poate fi utilizată în scopuri comerciale.

Instalarea acestui mediu de programare este simplă, dar depășește scopul acestui articol. Dacă îl știți folosi (sau vă ajută cineva), o puteți face. Veți avea nevoie de un calculator pe care să ruleze sistemul de operare Windows. Pentru a ne simplifica prezentarea, 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 și în cazul Java am ales aproape la întâmplare http://ideone.com/. Din fericire ni se pune la dispoziție și posibilitatea de a scrie cod C#. 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 care nu face nimic. Nu avem nevoie de el. Dar, apăsând butonul din stânga jos (cel pe care scrie Java), putem alege un alt limbaj și C# este în listă. Avem acum un program minimal în C# care nu face nici el nimic. Nu trebuie să înțelegeți acum ce rol au toate acele texte…Screen Shot 2015-05-05 at 20.37.16

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-05 at 20.39.40

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/xCKT8J, 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ă C# propriu zisă, vom salva și vom rula programul. Comanda respectivă este asemănătoare celei din articolul introductiv (lipsește System. de la început; vom explica mai târziu de ce, deși dacă vă uitați la restul programului ați putea avea o idee):

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

Screen Shot 2015-05-05 at 20.45.52

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

Comanda este cam la fel de complicată ca cea prin care era afișat un text.

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-05 at 20.52.19

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

Screen Shot 2015-05-05 at 20.54.45

În episoadele următoare veți înțelege ce este acel String, ce este acel nume și acel Console

Deocamdată, singura observație demnă a fi luată în considerare este aceea că, în C#, 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.