Top 3 proiecte open source pentru C++ [pentru începători să le încerce în 2022]
Publicat: 2021-01-02Fie că este vorba despre giganții tehnologici precum Google Chrome, Adobe Photoshop. YouTube sau chiar jocuri precum Doom 3 sau chiar site-uri web de tranzacționare precum Bloomberg Trading, legătura comună dintre ele este utilizarea limbajului predominant C++. C++ are operatorul de post-increment atașat cu C. Cei care sunt familiarizați cu postarea și operatorii de pre-increment ar ști că C ++ ar trebui să fie cu un pas înaintea C.
Da asta e adevărat. C++ este de fapt modelat după limbajul C și a fost creat cu unicul scop de a adăuga mai multă profunzime limbajului deja foarte versatil al C. C++ este responsabil pentru adăugarea atât a modelului grafic cât și a modelului orientat pe obiect la limbajul C, ambele sunt foarte importante pentru dezvoltatorii de astăzi.
Rareori ne putem imagina că nu avem GUI sau interfețe grafice cu utilizatorul sau nu avem clase și obiecte care descriu atât de precis lumea reală. Datorită acestei adăugări, pe care C++ a făcut-o la C, a permis C++ să fie util în lucruri pentru care C nu era folosit în mod tradițional, cum ar fi dezvoltarea de aplicații web și bazate pe web.
Deoarece obținem obiecte, obținem și OOPS sau (concepte de programare orientată pe obiecte). Adică, veți putea folosi polimorfismul, abstracția, încapsularea și moștenirea în proiectele dvs. dacă decideți să utilizați C++. Datorită tuturor acestor beneficii, C++ a evoluat într-unul dintre cele mai bune limbaje de scripting. Nu ne putem imagina o lume fără C++.
Cu toate acestea, chiar și cu toate beneficiile aparente pe care le are C++, acesta este încă umbrit de limbaje precum Java și Python. În principal, pentru că codarea cu C++ este mult mai dificilă decât utilizarea unui limbaj precum Python. Se datorează faptului că Python are o structură simplă.
Nu trebuie să vă faceți griji cu privire la lucruri precum alocarea dinamică a memoriei și curățarea memoriei după utilizare. Dacă urmează să utilizați C++, va trebui să vă asigurați că nicio memorie nu este irosită prin codificarea manuală a caracteristicilor. Acesta este probabil motivul pentru care unele C++ sunt un limbaj foarte arhaic și provocator.

Dar, chiar și Python nu ar fi Python dacă C++ nu ar exista. Datorită vitezei C++, este folosit ca un wrapper în multe biblioteci Python. De asemenea, C++, pentru că este vechi, are o comunitate grozavă. Ca să nu mai vorbim de multitudinea de biblioteci de coduri pre-scrise. Dacă doriți să utilizați C++ pentru a dezvolta proiecte, nu există nicio șansă să fiți retras din cauza oricăror dacă vă cunoașteți limbajul.
Alăturați-vă celor mai bune cursuri de AI și ML online de la cele mai bune universități din lume - Master, Programe Executive Postuniversitare și Program de Certificat Avansat în ML și AI pentru a vă accelera cariera.
Din experiența noastră, am văzut că C++ este un instrument esențial pe care trebuie să îl avem în arsenalul oricărui inginer software și cel mai bun mod pe care l-am găsit și care i-a ajutat pe cei mai mulți oameni să învețe limba a fost prin proiect. Poti sa scrii si tu unul. În general, se vede că, cu cât faci mai multe sarcini, cu atât ajungi mai bine la limbă. De asemenea, proiectele induc mai multă învățare practică, ceea ce este întotdeauna un plus atunci când faceți o tranziție în lumea corporativă.
Pentru a ne ajuta la maximum, am enumerat unele dintre cele mai bune proiecte open-source pentru c++. Am ales proiecte C++ în GitHub, deoarece GitHub trebuie să fie cea mai bună platformă pentru dezvoltatori, în principal pentru că permite tuturor să se reunească pentru a rezolva problema. De asemenea, fiecare linie de cod de pe GitHub se află sub licența MIT, ceea ce înseamnă că ați putea să le utilizați în propriile proiecte fără a avea multe consecințe.
Așadar, fără alte preluări, haideți să trecem la cele mai bune proiecte open source pentru proiecte c++ și C++ pe Github.
Citiți: Idei de proiecte Python Open Source
Cuprins
Cele mai bune proiecte C++ Open Source în GitHub
1. ClickHouse
Este un sistem de gestionare a bazelor de date deschis, cu sursă. Permite generarea de rapoarte de date pe măsură ce apar datele (adică în timp real). Când dai peste acest repo, vei fi întâmpinat cu un readme curat.
Veți vedea tot ce are de oferit acest repo în acest readme. În ceea ce privește informațiile, ar trebui să vizitați link-urile externe pe care le-au inclus în citirea mea. Ei au chiar și un canal YouTube, care ar trebui să ajute la eliminarea oricăror îndoieli pe care le-ați putea avea cu privire la acest repo. Există și o secțiune de evenimente viitoare.
În această secțiune, obțineți o listă cu toate evenimentele care ar urma să aibă loc în viitorul apropiat și vă puteți alătura dacă aveți chef. Dacă vă gândiți să utilizați acest sistem de gestionare a bazelor de date, atunci vă sugerăm să așteptați, deoarece există peste o mie trei sute de probleme pe această pagină GitHub.
Cu toate acestea, pe partea divizată, dacă chiar îți place să contribui, atunci ți-ar plăcea foarte mult acest proiect, deoarece vei avea probleme semnificative la care poți contribui. De asemenea, au fost făcute peste două sute de solicitări de extragere. Înseamnă că a fost o cantitate semnificativă de muncă făcută.
Puteți, de asemenea, să aruncați o privire la aceste solicitări Pull, să vedeți care sunt bune și să încercați să le imitați atunci când contribuiți la acest proiect. Un alt lucru de remarcat despre acest proiect este că există peste treisprezece mii de stele care sunt făcute pentru acest proiect. Aceasta înseamnă că există mulți oameni care sunt interesați să lucreze la acest proiect.
Citiți și: Proiecte Python AI și ML Open Source
2. GoogleTest
GoogleTest este cadrul de testare C++ al Google. Repo-urile care găzduiește acest proiect au fost două înainte. Da, versiunea actuală de Google Test este cea în care are proiectul Google Mock amalgamat în ea. Google spune că aceste două proiecte au fost atât de strâns legate, încât a avea două repoziții și baze de cod diferite pentru aceste două proiecte a devenit o sarcină inutilă.

În readme-ul acestui repo, veți găsi toate informațiile necesare despre ce sunt aceste proiecte C++ pe Github. Veți obține o listă cu toate caracteristicile și toate platformele în care această platformă este potrivită pentru a rula. Puteți găsi, de asemenea, proiecte open-source care sunt strâns legate de acest proiect, listate în cititorul menționat.
De asemenea, primești o listă cu toate cerințele de care ai avea nevoie dacă te gândești să rulezi această platformă de testare în propriul tău sistem. Dacă sunteți dispus să contribuiți la acest proiect, puteți găsi toate informațiile necesare în contributing.md, care este legat în readme.
Există aproximativ o sută douăzeci și patru de numere care sunt deschise în prezent în acest repo. Adică, aveți opțiuni ample din care să alegeți atunci când lucrați la acest repo. Există, de asemenea, aproximativ douăzeci și două de solicitări de tragere, ceea ce înseamnă că oamenii contribuie la acest proiect. Google Test are, de asemenea, peste o mie de stele, ceea ce înseamnă că sunt mulți oameni care ar dori să urmărească dezvoltarea acestui proiect cu ochi atenți.
3. RapidJSON
Acei oameni cărora le place să joace pe mobil și au jucat oricare dintre cele două, Call of Duty sau PUBG Mobile, ar fi bine conștienți de acest editor de proiect RapidJSON. Da, acest proiect este contribuția lui Tencent la open source. În timp ce parcurgem acest proiect, am găsit câteva caracteristici importante.
Pentru o dată, acest proiect poate părea mic, dar bifează casetele pentru toate, deoarece acceptă atât API-ul stil SAX, cât și DOM. Analizatorul pentru SAX este de aproximativ o jumătate de mie de linii de cod. RapidJSON are numele Rapid în numele său dintr-un motiv. Acest cadru este rapid stupid și puteți compara performanța întregului cadru cu o funcție simplă strlen().
Este, de asemenea, autonom și numai antet, ceea ce înseamnă că nu veți avea nevoie de alte biblioteci externe (chiar boost) dacă intenționați să-l utilizați. De asemenea, este foarte prietenos cu memoria. JSON are exact aproximativ 16 octeți (sau 32 de octeți, în funcție de sistem), deci înseamnă că ar ocupa mai puțină memorie. Nu doar atât, RapidJSON vine încărcat cu un instrument rapid de alocare a memoriei și de analiză.
De asemenea, este prietenos cu UNICODE. Există și multe alte caracteristici, pe care nu am putut să le menționăm în această listă, dar merită cu siguranță verificate. Puteți face acest lucru accesând linkul pe care l-au furnizat în citirea mea. Vorbind despre readme, veți găsi toate informațiile pe care veți avea nevoie vreodată să le știți despre RapidJSON în readme.
Acesta este unul dintre cele mai bune readmes-uri și nu ați avea nevoie de niciun suport extern. Există aproximativ patru sute douăzeci și opt de numere care se află în prezent pe acest readme. Înseamnă că există o șansă imensă ca oricine să-și aducă o contribuție.

Există, de asemenea, cereri de tragere în valoare de aproximativ o jumătate de secol, ceea ce este întotdeauna un lucru bun de văzut într-un repo. Există și vreo zece mii de stele. Asta ar însemna că sunt multe persoane interesate de acest proiect și ar dori să urmărească îndeaproape acesta și modul în care se desfășoară dezvoltarea lui.
Citiți de sus: Arhivele populare cu sursă deschisă în Github
Concluzie
Software-ul open-source a revoluționat informatica în multe feluri. Acum este un domeniu alimentat de o comunitate vibrantă de dezvoltatori care lucrează la proiectele lor pasionale, în timp ce își câștigă existența din abilitățile lor. Proiectele open source conduc mulți oameni de la niveluri de cunoștințe și abilități începătoare la cele experte. Acestea sunt vitale pentru dezvoltarea oricărui programator aspirant.
Numai GitHub este o comoară pentru cei care doresc să programeze să își înceapă cariera. Pentru începători, este cea mai bună platformă pentru a lucra cu colegii lor și pentru a învăța pe măsură ce contribuiți. Există proiecte exclusiv pentru începători și există, de asemenea, depozite uriașe de idei de nivel înalt care le permit noilor veniți să intre. Folosiți aceste șanse cu înțelepciune pentru a învăța pe măsură ce creșteți și perfecționați-vă abilitățile de dezvoltator.
Dacă sunteți curios să stăpâniți învățarea automată și inteligența artificială, creșteți-vă cariera cu un Master în Învățare automată și inteligență artificială cu IIIT-B și Universitatea John Moores din Liverpool.
De ce ar trebui să folosim C++ pentru proiecte open source?
C++ este utilizat ca un wrapper în multe module Python datorită vitezei sale. C++ are, de asemenea, o comunitate puternică datorită vechimii sale. Să nu uităm de abundența bibliotecilor de coduri gata făcute. Dacă îți faci drum prin C++ și vrei să-l folosești pentru a construi proiecte, nu vei fi reținut în nici un fel. Cu greu putem înțelege o lume fără GUI (Graphical User Interfaces) sau clase și obiecte care reprezintă fidel lumea reală. Datorită acestei adăugări la C, C++ a fost benefic în domeniile în care C a fost în mod tradițional subutilizat, cum ar fi dezvoltarea de aplicații web și web.
Ce este Open Source?
Sub o licență permisivă, sursa deschisă se aplică codului sursă care este partajat publicului pentru a vedea, utiliza, schimba și distribui. Indiferent dacă sunteți un freelancer, o companie, o afacere locală, o organizație non-profit sau o agenție guvernamentală, este de obicei în interesul dvs. să deschideți codul. Proiectele open source pot fi o modalitate excelentă de a învăța, de a preda, de a împărtăși și de a câștiga experiență. Există numeroase motive pentru care ar trebui să aduci o contribuție la un proiect open source, inclusiv dorința de a îmbunătăți software-ul pe care îl folosești zilnic, dorința de a găsi un mentor dacă ai nevoie de unul, dorința de a învăța noi abilități, dorința pentru a vă împărtăși abilitățile, dorința de a obține o înțelegere mult mai profundă a software-ului pe care îl utilizați și așa mai departe.
Cum să contribui la Open Source?
Nu trebuie să vă angajați în baza de cod pentru a ajuta cu un proiect open source. Există numeroase moduri de a contribui la open source. Pentru a detalia un anumit punct, puteți adăuga comentarii la documentația unui proiect. Pe un singur proiect, puteți oferi direcție. Pentru a demonstra cum funcționează codul, puteți include exemple. Pentru proiect, puteți crea tutoriale. Vă puteți oferi voluntar pentru a ajuta un alt colaborator prin mentorat. Greșelile de scriere pot fi corectate, iar folderul de lucru al proiectului poate fi organizat corespunzător.