Programarea pe calculator, sau programarea calculatoarelor (adesea prescurtat programare) este un proces care pleacă de la o formulare originală a unei probleme de calcul ajungând la programe de calculator executabile. Programarea implică activități precum analiza, dezvoltarea înțelegerii, generatoare de algoritmi, verificarea cerințelor de algoritmi, inclusiv corectitudinea lor și consumul de resurse, precum și punerea în aplicare (denumit in mod obisnuit codificarea) algoritmilor într-un limbaj de programare țintă. Codul sursă este scris în una sau mai multe limbaje de programare (cum ar fi C, C++, C#, Objective-C, Java, Python, Ruby, Smalltalk, JavaScript, etc.). Scopul programării este de a găsi o secvență de instrucțiuni care va automatiza realizarea unei anumite sarcini sau rezolvarea unei probleme. Procesul de programare astfel necesită adesea cunoștințe în mai multe subiecte diferite, inclusiv cunoștințe din domeniul de aplicare, algoritmi de specialitate și logica formală.
Operații înrudite includ testarea, depanarea, și întreţinerea codului sursă, implementarea sistemului construit, și management artefactelor derivate, cum ar fi codul mașină de programe pentru calculator. Acestea ar putea fi considerate parte a procesului de programare, dar de multe ori termenul de „dezvoltare de software” este cel folosit pentru acest proces mai vast, cu termeni precum „programare”, „implementare”, sau „codificare” rezervate pentru scrierea efectivă a codului sursă. Ingineria software combină tehnici de inginerie cu practicile de dezvoltare de software.
În cadrul inginerie software, programarea (implementarea) este considerată ca fiind o fază într-un proces de dezvoltare de software.
Există o dezbatere în curs de desfășurare cu privire la măsura în care scrierea de programe este o formă de artă, un meşteşug, sau o disciplină de inginerie. În general, o bună programare este considerată a fi aplicarea măsurată a tuturor celor trei domenii, cu scopul de a produce o soluție software eficientă și evolvabilă (criteriile de „eficienţă” și „evolvabilitate” variază considerabil). Disciplina diferă de multe alte profesii tehnice prin aceea că programatorii, în general, nu trebuie să fie autorizați sau să treacp niciun test standardizat (sau guvernamental reglementat) de certificare, pentru a se numi „programatori” sau chiar „ingineri software.” Deoarece disciplina acoperă multe domenii, care pot sau nu pot să includă aplicații critice, este discutabil dacă este necesară licență în profesie ca un întreg. În cele mai multe cazuri, disciplina este auto-reglementată de către entitățile care necesită programarea, și mediile sunt uneori foarte strict definite. Cu toate acestea, auto-denumirea de „inginer de software profesionist” fără licență de la o instituție acreditată este ilegală în multe părți ale lumii.
O alt dezbatere în curs de desfășurare este măsura în care limbajul de programare utilizat în scrierea programelor de calculator afectează forma finală a programului. Această dezbatere este analog celei despre ipoteza Sapir-Whorf în lingvistică și științele cognitive, care postulează că natura unei anumite limbi vorbite influențează gândirea obișnuită a vorbitorilor săi. Diferite modele lingvistice duc la diferite modele de gândire. Această idee contestă posibilitatea de reprezentare a lumii perfect cu ajutorul limbajului, pentru că recunoaște că mecanismele oricărui limbaj condiționează gândurile comunității vorbitoare.
Lasă un răspuns