SoftUni România Blog: Învață Programare

Lecții gratuite de programare, antrenamente, cursuri, videoclipuri (Java, JavaScript, Python, C#, PHP, C++) de la SoftUni

C#FreeProgrammingSoftware EngineeringTrainingsWeb Development

Care sunt proprietățile limbajului C#?

C# (pronunțat cac sharp) е un limbaj multi-paradigmă cu scop general. Acesta este strict tipizat, imperativ ( dar nu și declarativ). Este potrivit pentru programarea orientată pe obiecte, dar și pentru programarea funcțională. În plus, acesta este orientat către componente. După cum vedeți, acesta combină în sine o mulțime de paradigme, unele dintre care fiind concepte opuse. Să ne uităm ce înseamnă fiecare dintre acestea.

Ce înseamnă termenul „paradigmă“?

Deoarece diferitele limbaje de programare au fost create pentru a rezolva probleme de diferite tipuri, în acestea au concepte diferite cu privire la structura codului, modul de funcționare al programului – toate acestea duc la existența multor tipuri de limbaje diferite. „Paradigma de programare“ este modul în care clasificăm limbajele de programare în funcție de proprietățile lor. Un limbaj de programare  ( după cum am văzut mai sus) poate combina o multitudine de paradigme diferite, adică să aibă multe proprietăți diferite. Sunt peste 25 de tipuri majore de paradigme care au peste 40 subtipuri.

Ce înseamnă termenulscop general“?

”Un limbaj cu scop general” înseamnă un limbaj de programare care a fost conceput pentru a fi utilizat pentru crearea de software pentru diferite platforme, adică limbajul este potrivit pentru crearea atât de aplicații mobile, cât și de aplicații desktop, de cod server, de aplicații care ar putea funcționa într-un mediu hardware mai limitat sau de aplicații cross-platoform.

Ce înseamnă termenul strict tipizat“?

C# este un limbaj de programare strict tipizat. „Tipizarea” este o proprietate care se referă la ortografierea  codului. Se împarte în două tipuri: „strictă“(”strong”) și  „slabă“(“weak“ sau „loose“). Tipizarea strictă înseamnă că un anumit limbaj are reguli mai stricte față de ortografia componentelor separate. De exemplu, variabilele ar trebui definite în mod adecvat, și nu arbitrar; tipul valorilor trebuie să corespundă tipului variabilei pe care am definit- o etc. În plus, o dată declarat, tipul lor nu poate fi modificat. În cazul limbajelor slab tipizate nu specificați tipul variabilei și aceasta poate accepta valori diferite, dar rezultatele sunt mai puțin previzibile.

Ce înseamnă termenulprogramare imperativă“?

Termenul „imperativ“ provine din cuvântul latin „imperare“. Acesta înseamnă „a dispune” sau „a comanda” – cuvinte care descriu corect proprietățile specifice acestui tip de programare. La programarea imperativă programul pe care-l creați este compus de o secvență de comenzi. Acestea determină ce trebuie să fie executat de către programul dvs. și în ce ordine să fie executate comenzile. Ar trebui să fiți întotdeauna atenți la secvența comenzilor, fiindcă aceasta va fi păstrată la executarea programului pe care l-ați scris.

Conceptul programării imperative este opus conceptului programării declarative, dar C# îl includ și pe acesta.

Ce înseamnă termenulprogramare declarativă“?

Deși C# este caracterizat cel mai des ca fiind un limbaj imperativ și orientat pe obiecte, de fapt prin intermediul său poate fi pusă în aplicare și programarea declarativă. Ce reprezintă această paradigmă? În informatică, programarea declarativă este o modalitate de a construi structura și elementele programelor de calculator în care logica este exprimată mai ales în diferite tipuri de calcule, fără a accentua sau a descrie comenzile individuale, adică fără a accentua structura execuției, cum ar fi în programarea imperativă.


Limbajele de programare construite pe baza acestei paradigme încearcă să minimalizeze sau să elimine complet efectele secundare care pot rezulta din acest mod de a scrie programul, stabilind ceea ce programul ar trebui să obțină, în funcție de problema pe care o rezolvă.

Ce înseamnă termenulprogramare orientată pe obiecte“?

Programarea orientată pe obiecte este o paradigmă imperativă, adică în esență, respectă cerința ca codul să descrie cum și în ce ordine să fie executate instrucțiunile programului. Ceea ce introduce această paradigmă este un nou mod de grupare a codului în structuri denumite „obiecte“. Aceste obiecte pot interacționa între ele, ceea ce economisește mai ales scrierea de cod și crearea unor programe mai flexibile.

Printre limbajele de programare prin intermediul cărora pot fi aplicate principiile programării orientate pe obiecte ( printre care este și C#), cele mai răspândite sunt acelea care combină această paradigmă cu conceptul claselor. Acest concept transformă obiectele create în instanțele claselor.  În aceste clase sunt compuse proprietățile obiectelor, adică printr-o singură clasă pot fi definite proprietățile unui număr infinit de obiecte, tipul acestora și așa mai departe.

Ce înseamnă termenulprogramare funcțională“?

Programarea funcțională este o paradigmă declarativă care accentuează asupra calculelor, funcțiilor matematice și nu comenzilor care să modifice starea programului. Codul la programarea funcțională este idempotent: valoarea returnată de funcție depinde doar de argumentele sale ( parametrii acesteia), deci apelarea unei funcții  cu aceeași valoare pentru un anumit argument va produce întotdeauna același rezultat.  Acest lucru este în contrast cu programarea imperativă, unde starea unui program global poate afecta rezultatul final al unei funcții.

Ce mai trebuie să știm despre calitățile limbajului C#?

Limbajul  C#  mai combină câteva paradigme: acesta este orientat către componente, event-driven, task-driven, generic, reflexiv și competitiv. Mă voi adresa acestei din urmă, afirmând că nu este vorba despre competitivitate economică, ci despre modul de efectuare a două sau mai multe calcule pe calculator. Pot fi de două tipuri: simultane (concurențiale) sau secvențiale.

Celălalt lucru pe care trebuie să-l știți este că C# este un limbaj de programare de nivel înalt. Aceasta înseamnă că nu aveți nevoie să vă ocupați de setarea programului dvs. pentru ca acesta să fie executat pe hardware-ul pentru care îl creați, ci mai ales trebuie să vă concentrați asupra construirii logicii programului însuși.


Știți deja toate faptele mai importante cu privire la limbajul C#. Dar cum să dobândiți abilități reale pentru a programa cu acesta? Aplicați pentru Programul de inginerie software al Software University. Nu ratați șansa dvs.! Vă așteptăm!