Miután elolvastam számos műszaki könyvet, mint például a Kafka The Definitive Guide, a Docker In Action, a Go In Action, a Go Web Development stb.

Példa: Kafka A Definitive Guide bemutatja az alkalmazások közötti zűrzavaros kapcsolatot, és megoldja ezt azáltal, hogy bevezeti az alkalmazások közötti üzenetek fogadására és közzétételére szolgáló sort.

Szóval mit szólnál új programozási nyelvek tanulásához? Szinte a programozást tanító könyvek tartalmaznak majd Bevezetést, alapvető adatstruktúrákat (lista, hash tábla, tömb, stb.), a párhuzamosság kezelését,... Ezeket a tartalmakat úgy vezetjük be, hogy először feladatokat adunk meg, hogyan oldjuk meg ezeket a problémákat klasszikus módszerekkel, hogyan optimalizáljuk a módszereket. (mint a párhuzamosság, a problémák első megoldása szekvenciális megoldásokkal, a megoldások párhuzamosságra váltása)

Az új programozási nyelv elsajátításához először tartalomjegyzéket olvasok el, hogy megismerjem az alapvető adatstruktúrákat és ezek módszereit, a ciklust, a feltételes utasítást, függetlenül attól, hogy a nyelv dinamikus vagy statikus típusú. Ha a nyelv statikus típusú, akkor azt fogom keresni, hogy egy metódus hogyan tud több adattípust kezelni (mint a sablon C++-ban). Ha a nyelv kacsa gépelés. A nyelvet támogatja a Garbage Collector (ha igen, akkor nem kell pusztítási módszert létrehoznunk az osztályban, és nem kell aggódnunk a memória felszabadításakor). Hogyan kezeli a nyelv a párhuzamosságot. Golangban csak a Goroutines és a csatornák érdekelnek (mi ez és miért, hogyan működnek belsőleg). OOP a nyelven.

Ahhoz, hogy gyorsan megtanuljak új nyelveket, ismernem kell a C++-t, az alapvető számítástechnikát (OOP, operációs rendszer, adatstruktúrák és algoritmusok,…)

Néhány javaslat kiadó: Manning Publications, O'Reilly