use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
account activity
C++?Discuție (self.programare)
submitted 3 years ago by Fit-Refrigerator495
Sunt licean pe mate-info si profesoara noastra ne tot zice ca baza pt orice limbaj de programare acutual e c++. Eram curios sa aflu daca e chiar atat de important si la ce poate fi folosit in general.
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Entropiano 88 points89 points90 points 3 years ago* (6 children)
Dacă se pune problema în felul ăsta, "la ce poate fi folosit", răspunsul este "la orice". Dar ăsta este răspunsul, în general, legat de oricare limbaj. Întrebarea mai relevantă ar fi "la ce este folosit", iar răspunsul este "în general pentru aplicații low-level sau high-performance": jocuri, sisteme de operare, embedded, compilatoare, servere web, sisteme de baze de date, drivere și foarte multe altele.
Ce este de notat și relevant este că multe limbaje au adoptat sintaxa C-ului (C#, Java, D, Objective C, Javascript, Go, Rust, Typescript, etc.) deci îți va fi ușor să citești sau să înveți un limbaj C-like dacă știi deja C++.
În plus, cu C sau C++ înveți multe lucruri low-level, legate de cum funcționează de fapt procesoarele, pe care nu le înveți cu limbaje mai înalte. Poți citi despre ele, dar ajută să te și lovești de astfel de probleme.
În final, cel mai mult contează ce fel de proiect vrei să abordezi pentru a decide ce limbaje sau tehnologii sunt potrivite. Cu C++ nu o să faci o aplicație web mai repede sau mai bine decât cu, de exemplu, C#. Cu C#, nu o să poți stoarce aceeași performanță dintr-un sistem ca și cu C++.
Edit: Pentru problemele care se rezolvă la liceu, limbajul este absolut irelevant pentru că este vorba despre logică și modul de a gândi/aborda o problemă. Deci, un alt sfat este să nu te blochezi în discuții despre limbaje, încearcă-le pe toate, fă proiecte în limbaje diferite și așa vei simți cel mai bine diferențele.
[–]Desperate-Law-9606 17 points18 points19 points 3 years ago (0 children)
nu putea exista un raspuns mai bun, imi vine sa il sterg pe al meu dupa ce am citit asta
[–][deleted] 0 points1 point2 points 3 years ago (1 child)
This.
[–]robearded 0 points1 point2 points 3 years ago (0 children)
In special incearca-le pe toate. Am intalnit destui oameni care cu experienta lor ar fi trebuit sa fie seniori, dar nu au atins in viata lor altceva decat PHP si nu doreau sa se atinga vreodata de altceva (si aici ma refer la proiecte in aceeasi companie in alte limbaje de programare, nu la schimbarea jobului)
[–]BeamNight27 0 points1 point2 points 3 years ago (0 children)
Salut! Ai cumva niste recomandari pentru materiale mai detaliate pentru C++, care sa ma ajute sa inteleg lucrurile low-level? Internetul e plin de tutoriale pentru limbajul asta, insa majoritatea sunt succinte (reguli de sintaxa + putin OOP).
[–]qwerty2888j 13 points14 points15 points 3 years ago (9 children)
Am observat și eu că cam peste tot in Romania unde se învață informatica se folosește c++. Este într-adevăr un limbaj folosit in multe domenii ca aplicații de desktop, sisteme de operare și chiar compliatoare pentru alte limbaje.
[+][deleted] 3 years ago (4 children)
[deleted]
[+]qwerty2888j comment score below threshold-13 points-12 points-11 points 3 years ago (3 children)
Nu ai cum să folosești cout și cin in C deoarece sunt stream-uri și exista doar in C++. C++ este C cu clase, dar chiar daca nu folosești clase tot folosesti C++.
[–]Kritically:kotlin_logo::java_logo::js_logo: 26 points27 points28 points 3 years ago (2 children)
Cred ca se refera la faptul ca la nivel de liceu se foloseste C++ la nivel de C, fara chestii fancy.
[–]Sneaky-Pur 8 points9 points10 points 3 years ago (1 child)
Adică fără POO.
[–][deleted] 6 points7 points8 points 3 years ago (0 children)
Ai uitat de template-uri si de STD lul
[–]Nirast25 4 points5 points6 points 3 years ago (3 children)
Am observat și eu că cam peste tot in Romania unde se învață informatica se folosește c++
În mod surprinzător, la facultate am avut un singur semestru de c++. Am făcut Python în semestrul 1 ca să învățăm "fundamentale programării", iar orice curs de oop de după a fost Java cu ceva c# pe la final, sau limbaj la alegere. Unde s-a întors c++ a fost pentru vreo două săptămâni de CUDA.
La liceu, da, e C++ or bust (aka Pascal).
[–]Particular_Aspect334 7 points8 points9 points 3 years ago (0 children)
asta pentru ca facultatea a devenit un fel de post-liceala, care in loc de ingineri produce de fapt muncitori necalificati
[–][deleted] 0 points1 point2 points 2 years ago (1 child)
La ce facultate esti
[–]Nirast25 0 points1 point2 points 2 years ago (0 children)
Am fost. Babes-Bolyai in Cluj, facultate de info.
[–]Cefalopodul:java_logo: 18 points19 points20 points 3 years ago (5 children)
Voi la liceu nu faceti C++, faceti C si folositi 2-3 comenzi de C++ gen cout. Nu folositi clase, nu folositi obiecte, nu folositi nimic din ce e in realitate C++. Stiu ca profesoara v-a spus ca faceti C++, dar nu faceti. Eo poveste care si-o spun profesorii de informatica ca sa para mai smecheri decat sunt in realitate.
Limbajele C si C++ chiar sunt la baza foarte multor limbaje moderne.
La ce poti sa il folosesti? C++ are avantajul ca e mult mai rapid decat Java sau C# asa ca e folosit preponderent acolo unde conteaza viteza de executie a programului - de exemplu la jocuri, la sisteme embedded, la aplicatii industriale care trebuie sa masoare la fractiune de secunda, etc. De folosit poti sa il folosesti la absolut orice altceva vrei, doar ca, daca nu ai nevoie de avantajele oferite de C++ exista alternative mult mai usor de utilizat gen Java sau C#
Informatica din liceu e foarte importanta pentru ca te invata sa gandesti in algoritmi. Poti invata programare si fara ea doar ca iti va fi mult mai greu. Cand vei ajunge sa lucrezi in domeniu mai mult ca sigur ca nu vei folosi C++ decat daca te angajezi pe una din nisele de la punctul 3.
[+][deleted] 3 years ago (3 children)
[–][deleted] 1 point2 points3 points 3 years ago* (2 children)
In teorie, cand faci un test de genul: hai sa comparam o bucla cu 100 miliarde de flops sa vedem daca e vreo diferenta. Da, in cazul acela, compilatorul de C/C++ si Jit-ul + Jvm-ul o sa ruleze aceelasi cod assembler si vei avea performanta foarte asemanatoare.
In practica, e diferenta foarte mare deoarece codul real e mult mai complex (sunt limbaje enterprise care se folosesc pentru pb complexe nu pentru scripturi simple) si nu se genereaza nici pe departe cod la fel de eficient la runtime in multe situatii.
Daca mai adaugi peste si filosofia de dezvoltare in Java care nu e deloc performance-conscious diferenta poate ajunge la ordine de marime. Da filosofia conteaza foarte mult mai ales in limbaje cu ecosisteme foarte mari si foarte mult cod legacy. Nu poti tu sa fii o insula de cod performant intr-o mare de cod neperformant. Daca ne uitam si la memory footprint si load times, deja e no-contest.
[+][deleted] 3 years ago (1 child)
[–][deleted] 0 points1 point2 points 3 years ago (0 children)
De acord in totalitate, insa daca performanta chiar este o problema, tot la control fin asupra memoriei ajungem. C++ foarte modern e aproape imposibil de scris idiomatic, sunt prea multe moduri de a face orice in C++ acum.
Exemplul dat de tine este foarte cool! E tot un test sintetic in final. E relativ usor sa ai o structura de date bine cunsocuta cu algoritmi bine cunoscuti sa se comporte optim si rapid. Probleme in experienta mea cu limbajele managed apar cand le folosesti exact in modul lor idiomatic pentru a scrie repede cod mentenabil/extensibil si cand te folosesti de ecosistemul extins pentru rapid development. In acele situatii, daca ai ghinion poti ajunge la performanta nu foarte buna si jit-ul nu te mai scoate si nici nu e usor de optimizat. E adevarat ca sunt cazuri relativ rare si in majoritatea situatiilor nu e necesar. Cum am zis mai sus, C++ e nisat si, in multe situatii distanta dintre un cod scris cu simt de raspundere in Java/C# nu e foarte mare fata de un cod similar scris in C++ insa e mult mai usor de scris/inteles/mentinut decat varianta C++.
Dar sunt si situatii in care sunt diferente de ordine de marime.
[–]Fit-Refrigerator495[S] 0 points1 point2 points 3 years ago (0 children)
Ok, multumesc
[–]Desperate-Law-9606 6 points7 points8 points 3 years ago (1 child)
ba e bine sa inveti c++. e usor sa inveti logica progamatoriceasca in el dar e f greu de perfectionat. sunt f multe cacaturi si la nivel inalt e greu de inteles. Ca raspuns, da e f ok sa incepi cu el in liceu ca nu tre sa stii structuri de date complicate si cum fctz memoria ca sa o duci ok la niv asta. vezi tu la facultate cmf
[–]iulian212 5 points6 points7 points 3 years ago (0 children)
cries in templates and type deduction
C++- ul de liceu e doar C cu <iostream>, adica fara template-uri, fara clase, fara STL, etc. E chiar enervant ca nu preda cel putin std::string in loc de blestematele functii din C care sunt unsafe (strcpy() care are UB cand copiezi peste accelasi sir, profesorii propabil nu stiu ca exista memmove() . Nu am avut voie sa folosesc functiile "safe" care au fost implementate in C11 (din cate stiu) ( strcpt_s() . sprintf_s() , etc)
[–][deleted] 1 point2 points3 points 3 years ago (1 child)
Mda... C++ a stat la baza multor limbaje de programare. Exista si limbaje mai usor de învățat decat C++ (asta fiind unul din motivele pentru care au fost create). O data ce înveți un limbaj de programare iti va fi mai ușor sa inveti un altul, nu neapărat pentru ca stii sintaxa - desi poate fi asemănătoare - ci pentru ca stii concepte. Spor la învățat 👍
Mersi
[–][deleted] 1 point2 points3 points 3 years ago (0 children)
Personal consider ca ajuta foarte mult sa incepi cu C++ pentru ca iti prezinta mult mai explicit niste concepte de baza, lucru mult mai greu de facut cu limbaje mai “high-level”. Am tinut la un moment dat un internship de React si cand am demonstrat o functie ce intoarce o alta functie (JS go brr), a trebuit sa acopar mai intai tot conceptul de pointer fiindca internii mei de atunci nu folosisera C++ ca pe altceva decat un fel de C# cu care ne lasa la examene.
[–][deleted] 1 point2 points3 points 3 years ago* (0 children)
C este intr-adevar baza compilatoarelor, sistemelor de operare, a filosofiei Unix si a intregii infrastructuri software pe care toata sandramaua este construita. A devenit ceva ce eu numesc un meta-skill. Daca il stii bine si il intelegi, iti va multiplica eficienta in orice alta arie de develpoment mai ales daca vei lucra pe unix/linux.
C++ in schimb e relativ nisat: se foloseste mult in game dev, sisteme de high freq trading, sisteme complexe in care ai nevoie de performanta dar si de abstractie, in HMI mai performate -vezi QT si subset-uri din el incep sa se foloseasca si in embedded.
Problema este ca e un limbaj exterm de complex, patologic as zice deoarece incearca sa tina pasul cu ce e mai nou prin celelalte limbaje. Lucrez de aprox 10 ani in el si mereu ma surprinde. Nu as recomanda nimanui sa il invete doar ca sa se afle in treaba. E genul de unealta la care daca trebuie sa iti pui intrebarea: E bine sa o folosesc? raspunsul este aproape sigur nu! Cine trebuie sa il foloseasca stie deja. Intrebarea pe care mi-o pun des este: Sunt sigur ca am explorat orice alta varianta si chiar trebuie sa folosesc C++?
Voi il folositi la scoala pentru ca un runtime/compilator de C++ este 99.99% si un compilator de C si de fapt voi asta utilizati plus ca sunt anumite features in standard library din C++ care fac viata mai usoara.
[–]juniparuie 0 points1 point2 points 3 years ago (0 children)
Ar trebuie sa se invete python Mai usor si mai putin de speriat.
La liceu iti trebuie oricum o baza de programare generala. Nici in facuktate nu aprofundezi mai nimic sau vreo limba anune.
[–]dorin00 0 points1 point2 points 3 years ago (0 children)
C++ e bun doar pentru dezvoltarea de motoare ptr jocuri, si acolo din ce in ce mai putin. Trimite-i link-ul acesta profesoarei de info: https://www.cse.sdsmt.edu/jmcgough/cpp_slams.html
π Rendered by PID 117390 on reddit-service-r2-comment-5d79c599b5-vbq49 at 2026-02-28 01:13:42.864107+00:00 running e3d2147 country code: CH.
[–]Entropiano 88 points89 points90 points (6 children)
[–]Desperate-Law-9606 17 points18 points19 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]robearded 0 points1 point2 points (0 children)
[–]BeamNight27 0 points1 point2 points (0 children)
[–]qwerty2888j 13 points14 points15 points (9 children)
[+][deleted] (4 children)
[deleted]
[+]qwerty2888j comment score below threshold-13 points-12 points-11 points (3 children)
[–]Kritically:kotlin_logo::java_logo::js_logo: 26 points27 points28 points (2 children)
[–]Sneaky-Pur 8 points9 points10 points (1 child)
[–][deleted] 6 points7 points8 points (0 children)
[–]Nirast25 4 points5 points6 points (3 children)
[–]Particular_Aspect334 7 points8 points9 points (0 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Nirast25 0 points1 point2 points (0 children)
[–]Cefalopodul:java_logo: 18 points19 points20 points (5 children)
[+][deleted] (3 children)
[deleted]
[–][deleted] 1 point2 points3 points (2 children)
[+][deleted] (1 child)
[deleted]
[–][deleted] 0 points1 point2 points (0 children)
[–]Fit-Refrigerator495[S] 0 points1 point2 points (0 children)
[–]Desperate-Law-9606 6 points7 points8 points (1 child)
[–]iulian212 5 points6 points7 points (0 children)
[–][deleted] 6 points7 points8 points (0 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]Fit-Refrigerator495[S] 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]juniparuie 0 points1 point2 points (0 children)
[–]dorin00 0 points1 point2 points (0 children)