Revizia anterioară Revizia următoare
Carti
Un prieten care e programator decent mi-a cerut cateva recomandari de carti care sa il ajute sa se imbunatateasca. In programare te imbunatatesti facand mai multa programare pe proiecte variate cu colegi de la care ai multe de invatat, si mai rar ai timp sau chef la dispozitie incat sa citesti o carte intreaga. Dar ajuta din cand in cand asa ca va dau aici o lista de carti recomandate si descrieri despre ele.
Code complete
Cartea contine multe subiecte care nu sunt abordate prea mult la scoala dar sunt folosite de programatori frecvent cum ar fi unit testing, coding style, desing approach debugging. In general cartea contine reguli de bun simt dar e bine ca sunt multe impreuna. I se potriveste unui student care vrea sa inteleaga mai bine cum e viata de programator, dar daca ai facut ceva internshipuri, ai lucrat in industrie sau ai citit multe bloguri pe tema ...
Effective Java
O carte cu multe subiecte mai detaliate Java. E foarte buna pentru cineva care poate folosi limbajul la un nivel de baza dar vrea sa il inteleaga mai in profunzime.
Effective C++
La fel ca si cartea de mai sus Effective C++ e o carte importanta daca lucrezi in C++ in industrie. Contine o gramada de sfaturi utile si e mult mai scurta decat alte carti care incearca sa faca acelasi lucru cum ar fi Thinking in C++ sau The C++ Programming Language.
Mythical man month
O carte clasica ce ilustreaza principii pentru conducerea unui proiect software. Un principiu interesant e ca un proiect ... cu o gramada de povesti vanatoresti din software care ilustreaza princpii ... Unul interesant ar fi ca cu 9 femei nu poti face un copil in o luna. Ideea e ca in proiecte software nu poti atinge un deadline daca adaugi mai multi ingineri pe proiect.
Design Patterns
O carte importanta pe care multi programatori o au pe raft, dar putini reusesc sa o citeasca. E greoaie dar are concepte interesante. Eu am reusit sa parcurg mare parte din ea facand un curs de Desing Patterns la Google unde impreuna cu alti colegi trebuia sa citim cate un capitol si sa il discutam. Astfel recomand sa incercati sa o parcurgeti in grup.
Refactoring
Cand lucrezi cu un codebase mare ajungi sa ai de a face cu cod mai vechi pe care il schimbi sa fie compatibil cu cerinte noi. Astfel trebuie sa refactorizezi de multe ori si sa faci curat. Cartea ... e una fundamentala in domeniu si iti explica o gramada de "code smells" si metode de abordare si curatare a codului.
Programming pearls
Carte foarte misto pentru cei ce au foarte putina pregatire pe algoritmica. .... are un stil de a explica foarte bun si discuta probleme frumoase si curate. Este destul de abordabila pentru incepatori si mai are unele trucuri misto care sunt interesante si pentru avansati.
Introduction to algorithms
Cartea de baza in algoritmica. Are o gramada de material, si astfel parcurgerea ei poate dura multa vreme. Unele demonstratii sunt ceva mai lungi decat ar trebui, accentul pare pus mai mult pe rigoarea matematica decat pe intuitia din spatele demonstratiilor. As recomanda oricui parcurgerea problemelor.
Cracking the code interview
Daca sunteti interesati doar de o recapitulare pentru interviuri, asa cum am zis in postul .... recomand Cracking the code interview. Alte carti ca Programming Interviews Exposed au probleme ceva mai banale, dar asta contine probleme la un nivel bun si are si rezolvari.
The art of computer programming
Probabil cea mai cunoscuta carte de informatica are un continut foarte misto, dar poate prea orientat matematic si de cand autorul lucreaza la ea i-au luat-o alte carti de algoritmica inainte.
Voi ce parere aveti de cartile astea si ce alte carti ati recomanda unui programator la inceput de drum?