C++ je jezik, koji ne uključuje biblioteke za mnogo štošta, jer to nije standardizovano, već prepušteno proizvođačima da rešavaju i da se takmiče u tome.
Knjiga od Milićeva je užas. Objašnjava sintaksu, ali ne i čemu sve to služi. Nema živih primera. Nije problem što opisuje samo onaj standardni C++ koji ne ide dalje o0d konzole i datotečnog sistema, već što iz nje nećeš naučiti C++. Znaćeš šta su virtuelne metode, ali ne i čemu služe.
No, kada se zna C++ kako treba, najtoplija preporuka je Qt za te stvari koje standardna biblioteka ne pokriva. Evo nekih karakteristika Qt-a
1. Izuzetno je bogat i lako se koristi,
2. Predstavlja zaokruženo rešenje sa integrisanim razvojnim okruženjem Qt Creator, i dodatnim alatkama kao što je Qt Linguist za internacionalizaciju i raznim drugim,
3. Rešenja su mu jako dobra.
4. Gađa mnogo sistema - Windows, Gnu/Linux, OS X, iOS i android sa istim source-om.
5. Podržava još neke programske jezike (npr. python).
6. Open source čak i za komercijalnu upotrebu, pod nekim licencnim ograničenjima*, koja zadovoljavaju većinu potreba. Za ostale slučajeve postoji komercijalna licenca.
* Isporučuje se pod LGPL licencom, koja dozvoljava dinamičko povezivanje sa proizvoljno licenciranim modulima, s tim da
1. Qt-ovi dll-ovi se moraju isporučiti pod njihovom licencom. Tvoj exe možeš da zatvoriš i komercijalizuješ ako hoćeš. Drugim rečima, instalacija koja obuhvata Qt-ove dll-ove mora da ima obaveštenje da su ti fajlovi (navedeš tačno koji su Qt-ovi) pod tom licencom uz pun tekst licence. Paket možeš da prodaješ i da licenciraš ostatak kako hoćeš.
2. Korisnik može da pristupi source-u od Qt-a (za svoj exe ga ne moraš dati). S tim može da izmeni Qt i da koristi tvoj program sa izmenjenim dll-ovima. On mora da radi na istovetan način dokle god su izmene Qt-a API kompatibilne sa originalom**.
3. U slučaju da si isporučio svoj program sa izmenjenim Qt-om, moraš obezbediti source od takvog Qt-a kakav isporučuješ (sa izmenama). Source od svog exe fajla i drugih modula ne moraš da isporučuješ.
** Ovo korisnik može da upotrebi za praćenje poziva Qt funkcija, odnosno reverzni inženjering. Ne smeš pravno (svojom licencom) da ga sprečavaš u tome, jer je to deo njegovog prava u vezi sa Qt-om koji mu je dala digia (proizvođač Qt-a), a ti si pristao na to korišćenjem Qt-a. Možeš da sprečavaš druge vrste reverznog inženjeringa, kako pravno, tako i tehničkim merama, ali taj oblik reverznog inženjeringa ne smeš pravno da sprečavaš. Korisnik sme da izmeni Qt na API kompatibilan način i da koristi tvoj exe sa takvim izmenjenim Qt-ovim dll-ovima i tvoj exe mora da radi na istovetan način kao sa neizmenjenim dll-ovima.
Nedostatak Qt-a je što je glomazan. Mali program napravljen u njemu ima dosta megabajta.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.