C++ apoi C, sau alte limbaje?

Buna! Învăț de 2 ani(la scoala) C++ si pot spune că ma descurc, nu mai discut ca am o bază, si as vrea sa ma apuc sa invat alte limbaje. M-am gândit la C, deoarece sunt foarte apropiate, dar as vrea sa stiu o parere. Adică, cat de greu mi-ar fi având în vedere că stiu ceva C++ si cat timp mi ar lua. De asemenea, as vrea sa stiu ce limbaje mi-ati recomanda, având în vedere experiența pe care o am.

JavaScript, Python, C#, C e un supset al C++, teoretic ar trebui sa stii C deja.

1 Like

Din cate am observat sunt câteva lucruri diferite, dar da, în principiu stiu, dar vreau sa ma perfecționez

Ce faceti voi la scoala este un C cu aroma de C++. cout si cin in loc de printf si scanf.

Un compilator de C++ poate sa compileze si C. Pana intr-un anumit punct.

Mai jos un link care explica diferentele intre limbaje si ce aduce in plus C++.

Poti sa treci la partea programarii orientata pe obiect in C++. Clase, care oarecum seamna cu structurile din C. Vezi C++ Standard Library
Celelalte limbaje fiind C based seamana ca sintaxa intre ele. Deci nu sunt dificil de abordat.

De asemenea spunei cadrului didactic cu care faci informatica ca esti interesata de mai mult. Te poate ajuta cu materiale plus explicatii suplimentare. Eu asa am inceput sa invat C# pe la liceu :slight_smile:

Succes!

3 Likes

Hello, ce inveti tu la scoala, nu prea se aplica in industry c++ env. Din pacate.
Daca o sa cauti pe internet o sa vezi multe reviews despre lucrurile positive si cele negative, plus o sa vezi de ce este dificil sa master c++, sau sa scrii la nivel profesionist intr-un timp scurt.

1 Like

C e foarte usor de invatat. E un subset al C++ (cu mici diferente).
Merita invatat separat (eu zic ca merita invatat inainte de C++), pentru ca in multe situatii nu prea ai de ales.
Exemple:

  • Firmware-uri pentru device-uri IoT. Multe sunt foarte limitate dpdv hardware, procesoare slabe, memorie foarte putina, in plus trebuie sa functioneze mult pe baterie sau chiar fara baterie (exista si de-alea, isi iau energia din mediul ambiant, exemplu: https://zigbeealliance.org/solution/green-power/ ).
  • Chestii legate de exemplu de kernel-ul linux, cum ar fi tot felul de device drivere.
  • biblioteci pentru alte limbaje: api-ul in mod tipic se expune din C, nu C++, e drept ca aici poti sa le combini
  • in unele situatii esti obligat de ‘standardele’ de la locul de munca
  • C e foarte portabil, scris cum trebuie, la C++ ai pe deasupra ‘problema’ bibliotecilor aditionale, platforma pe care dezvolti s-ar putea sa ofere C si nimic altceva
  • lucrezi la ‘legacy’ software scris in C
  • C e simplu, daca lucrezi intr-o echipa, ai sanse sa cunoasca mai multi C decat C++, asa ca C e alegerea celui care conduce echipa. Merge pana acolo incat apar opinii de-astea: http://harmful.cat-v.org/software/c++/linus (a se lua cu un munte de sare, de fapt, e oribil sa scrii cod obiectual in C, chiar daca se poate).

Lasand asta de o parte, merita sa inveti macar cate un limbaj dintr-o paradigma diferita. Sau chiar daca nu sunt paradigme diferite, sa fie unul compilat, unul interpretat.
Undeva la un minimum, sa zicem combinat C & C++, plus python.

4 Likes

Daca, asa cum a spus si @Cosmin_Popescu mai sus, de fapt ai invatat C si daca vrei sa ramai in zona limbajelor statically typed cred ca o alegere foarte buna ar fi limbajul Go.

Limbajul este similar cu C, e intr-o mare crestere la momentul actual si avantajul ar fi ca ce inveti ar avea aplicabilitate imediata in primul rand in industria aplicatiilor cloud, adica acolo unde se duce totul la momentul actual si nu numai.

1 Like