( utpKabel | 2013. 04. 18., cs – 10:38 )

Mielőtt még elkezdenénk másról beszélni, mint ami a téma volt: az imént a C-t második tanulónyelvnek javasoltam, tehát amikor az ember már készségszinten tudja, hogy mi az a szekvencia, elágazás, ciklus, függvény, változó; valamint képes algoritmusokat megírni (helyeseket, a gyorsaság nem feltétel).

C ekkor kiváló arra, hogy az ember (hatékony) algoritmusokat és adatszerkezeteket tanuljon. Mivel a C csak alacsony szintű konstrukciókat kínál, nincs meg annak a veszélye, hogy építkezéskor az ember már eleve valami bonyolultat használ. Így jobban meg lehet érteni, hogy mi drága, és mi olcsó, és később jobb Java programozó válhat az emberből, mert tudni fogja, hogy egy LinkedListet .get(i)-tel végigindexelni nem mókás.

C további előnye a C++-szal szemben, hogy nincsen benne referencia, így a tanuló rá van kényszerítve arra, hogy fölfogja, mi az a pointer. Ez nagyon hasznos dolog, így később jobb Java programozó válik az emberből.

C-vel (ez C++-ra is igaz) az ember jobban megérti a memória szerkezetét alacsony szinten, ami szintén hasznos lehet később Java programozóként, amikor majd teljesítményproblémák lesznek.