Resurse C/C++ pentru incepatori

C/C++ este un limbaj multi-paradigmă de nivel mediu, orientat pe obiecte, folosit pe scară largă în industria software datorită echilibrului dintre viteză şi complexitate. Dacă ai nelămuriri în legătură cu acest limbaj sau vrei să ne înveți ceva chiar tu, intră aici.

Resurse C/C++ pentru incepatori

Postby morpheus » 04 Jan 2010, 00:58

Resurse C/C++ pentru incepatori



I) Tool-uri (compilatoare, IDE-uri, medii integrate)
Asigurati-va ca folositi un compilator C++ ce implementeaza standardul ISO/ANSI.
Acest lucru este foarte important. Chiar daca la scoala folositi versiuni vechi de Borland C++, evitati sa le folositi pentru altceva decat teme.
Exista compilatoare gratuite, disponibile pentru diverse sisteme de operare:

1) Visual C++ 2008 Express Edition, produs de firma Microsoft
Disponibil la adresa:http://www.microsoft.com/Express/VC/
Intr-un singur pachet sunt livrate tool-urile necesare pentru a scrie programe in limbajul C++, pentru platforma Windows (compilator, debugger, IDE)
Compilatorul livrat este unul din cele mai bune compilatoare de C++. IDE-ul este excelent.

2) MinGW
Disponibil la adresa:http://www.mingw.org/
Este un port al GCC (GNU compiler collection) si GNU Binutils pe platforma Windows.
Tool-urile GNU sunt folosite in prinicipal pe sisteme Unix/Linux. Totusi, au fost portate pe platormele majore (inclusiv pe majoritatea platformelor "embedded").

Exista multe IDE-uri care functioneaza cu tool-urile de la GNU. Multe din ele sunt "cross platform", insemnand ca au versiuni disponibile pentru mai multe sisteme de operare.
Dintre cele mai populare IDE-uri, ce pot functiona cu tool-urile de la GNU, enumeram:
- Code::Blocks
Disponibil la adresa http://www.codeblocks.org/
Are versiuni de Windows, Unix/Linux si Mac OS X. Este unul dintre cele mai populare IDE-uri de C++
- CodeLite
Disponibil la adresa: http://codelite.org/
De asemenea, are versiuni de Windows, Unix/Linux si Mac OS X. Este un IDE ceva mai nou decat Code::Blocks, care a evoluat (si continua sa evolueze) foarte rapid.
- DevCPP
Disponibil la adresa:http://www.bloodshed.net/devcpp.html
Un IDE destinat utilizatorilor windows, scris in Delphi. Este destul de mult folosit. Ca o parere personala, IDE-ul DevCPP-ului nu este la fel de puternic precum Code::Blocks
- Eclipse
Disponibil la adresa: http://www.eclipse.org
O mediu integrat open-source, sprijinit si promovat de catre mari vendori in domeniul software (cel mai important fiind IBM).
Ofera tool-uri pentru o sumedenie de limbaje, nu numai C/C++. In prinicipal se adreseaza dezvoltatorilor Java, dar si suportul pentru C++ este destul de bun.
Eclipse este scris in Java si ruleaza pe majoritatea sistemelor de operare majore (Windows, Unix/Linux, etc)
- NetBeans
Disponibil la adresa: http://netbeans.org/
Un mediu integrat produs de catre firma Sun Microsystems. Ca si Eclipse, se adreseaza in principal dezvoltatorilor Java, dar are ofera, de asemenea, tool-uri pentru multe limbaje de programare si scripting.
Este scris in Java si este multi-platorma. Este semnificativ mai lent decat Eclipse, fiind scris in Java folosind toolkit-ul Swing.
- Qt Creator
Produs de catre Nokia si disponibil la adresa:http://qt.nokia.com/
Un IDE ce se adreseaza dezvoltatorilor C++ folosind Qt (un framework destinat dezvoltarii de aplicatii C++ portabile)

Pe platformele Unix/Linux, mai exista si alte IDE-uri populare. Probabil cel mai cunoscut fiind KDevelop
(http://www.kdevelop.org/)

II) Documentatie
O intrebare frecventa, printre cei ce doresc sa inceapa studiul limbajelor C/C++, este urmatoarea: "Ce carti sunt recomandate incepatorilor ?".
In primul rand, ar trebui sa fii capabil sa intelegi limba engleza.
O carte foarte buna, pentru cei ce nu au experienta in alte limbaje de programare, este urmatoarea:
- Programming -- Principles and Practice Using C++ (http://www2.research.att.com/~bs/programming.html)
Cartea este scrisa de catre Bjarne Stroupstrup, creatorul limbajului C++
Pentru cei care au o experienta limitata in programare, folosind alte limbaje, recomand sa citeasca Thinking in C++, scrisa de catre Bruce Eckel. Cartea este disponibila gratuit pe Internet, putand fi descarcata de la adresa: http://www.mindview.net/Books/DownloadSites
Dupa Thinking in C++, recomand The C++ Programming Language, Third Edition, scrisa de Bjarne Stroupstrup. Este cartea de baza a programatorului C++.
Pentru un nivel mediu-avansat, recomand seria C++ In-Depth. Gasiti detalii aici: http://www.pearsoned.co.uk/Bookshop/sub%20...%20?item=6893
Pentru cei care sunt interesati de limbajul C, nu C++, nu exista inlocuitor pentru cartea The C programming language, de Kernighan si Ritchie.

III) API-uri, librarii, framework-uri
O alta intrebare frecventa este urmatoarea: "Cum pot face o aplicatie GUI in C/C++ ? M-am saturat de aplicatiile in consola"
Aici, pot exista mai multe raspunsuri.
Pe sisteme Windows se poate folosi direct WinAPI (un tutorial bun se gaseste aici: http://www.winprog.org/tutorial/)
Pentru cei care doresc sa foloseasc un framework obiect orientat, in loc sa foloseasc direct WinAPI, exista mai multe alternative:
- MFC - (Microsoft Foundation Classes)
Un framework scris in C++, peste WinAPI. Este cel mai folosit framework C++, pentru constructia de aplicatii pe platforme Windows
- SmartWin++ (http://smartwin.sourceforge.net/)
Un layer obiect orientat, minimal, peste WinAPI
- wxWidgets (http://wxwidgets.org/)
Un framework C++, multi-platforma
Permite realizarea de programe C++, portabile (la nivel de surse) pe Windows, Unix/Linux, Mac OS X. Nu e restrans doar la GUI, are si alte componente (exemplu abstractii ale sistemului de fisiere, stream-uri, socket-uri, etc).
Pe sisteme Windows, este un layer peste WinAPI. Pe sisteme Unix/Linux, poate fi compilat ca layer peste GTK+, Motif, sau direct peste X (doar port-ul GTK+ este totusi stabil).
- Qt (http://qt.nokia.com/)
Framework destinat dezvoltarii de aplicatii C++ portabile (la nivel de sursa) pe Windows, Unix/Linux. Mac OS X si pe diverse platforme embedded. E un framework foarte mare, acoperind un domeniu vast (GUI, containere, programare client-server, acces la baze de date, etc). Este framework-ul care sta in spatele KDE-ului (http://www.kde.org/).
Ca o parere personala, este framework-ul C++ cu cel mai bun design si cea mai buna documentatie, din cate am folosit.

6 points / 3 votes
... write a test, make it fail, write code, pass the test, refactor, run again, write a test, ... and so on ...
User avatar
morpheus
Word
 
Joined: 30 Dec 2009
Points: 33.34

Re: Resurse C/C++ pentru incepatori

Postby morpheus » 23 Jul 2010, 10:40


0,0 points / 0 votes
... write a test, make it fail, write code, pass the test, refactor, run again, write a test, ... and so on ...
User avatar
morpheus
Word
 
Joined: 30 Dec 2009
Points: 33.34


Return to C / C++

Who is online

Users browsing this forum: No registered users and 0 guests