A C-t mennyire nehéz megtanulni mondjuk C# után?
Webfejlesztő vagyok,de érdekel a C (És a C++).
Java,C#,és OOP PHP után mennyire nehéz megtanulni?
Nézegettem régen a nyelvet,meg kicsit próbálkoztam vele.
Köszönöm szépen előre is a válaszokat!
Hát, kicsit másképp kell gondolkodni, sokkal többmindent kell magadnak megírni. Például nincsen beépítve lista típus, kézzel kell csinálnod, minden függvényével.
A pointerek és a dinamikus memória is sok hibalehetőséget rejt magában.
De ezeket leszámítva nem egy nagy ördöngősség.
Azt mondanám az eddigi tapasztalataid alapján, hogy kezdd inkább a c++ nyelvvel, OOP szemléletet használva, az úgy kevésbé különbözik, és ezen keresztül meg tudod tanulni a C nyelvi elemeket is kb, könnyebb lesz C-re térni, mint ha Javából egyből C-re mennél.
A C egy sokkal kisebb nyelv, mint a C++, és emiatt sokkal könnyebb is tanulni. Van hozzá egy legendás könyv (Kernighan-Ritchie: A C programozási nyelv, röviden K&R), azzal érdemes elkezdeni. A második (legújabb) kiadásával, nem az 1994-es magyar fordítással.
Az általában egy “nyelvfilozófiai” kérdés, hogy nagy, mindent IS tudni akaró nyelven (C++, Java, C#, Rust, JavaScript); vagy kicsi, kompakt, könnyen tanulható nyelven (C, LISP, Smalltalk, Go, Zig) akarsz-e programozni. A C ez utóbbiak táborába tartozik.
Ami viszont még fontosabb: hogy mire fogod használni? Ha igazából semmire, az is rendben van, de akkor meg pláne érdemes egy kicsi és gyorsan tanulható nyelvvel játszadozni, hogy “legyen vége” a tanulásnak.
Ha viszont például használni szeretnéd, és mondjuk pont webfejlesztő vagy, akkor lehet, hogy inkább a Go vagy Rust nyelveket tanulnám helyettük. (Ismételten: a Go kicsi, könnyen tanulható nyelv, a Rust nagyobb behemót és ráadásul a memóriakezelése külön fejtörést igényel.) Mind a kettőt tudod használni a webfejlesztésben mind a backend, és előbb-utóbb mind a frontend oldalon. Én is szeretek új nyelveken tanulni (most éppen a C-utód Zig nyelvet nézegetem), de tényleg érdemes olyasmivel időt tölteni, amit használni is tudsz, mert különben elfelejted.
Kaptál remek válaszokat, én a saját tapasztalatom osztanán meg ezzel kapcsolatban.
Én pythonban kezdtem el dolgozni egyetem alatt és utána is maradtam ezen a vonalon (backend flask). Nyílván egyetemen volt C/C++, de hát nem annyira másztam bele:D Ezek után úgy hozta az élet, hogy egy másik területre tévedtem programozás után, ahol rengeteg low level dologgal kell foglalkozni, érteni kell az assemblyt és gyakran kell C/C++-ban kódolni.
Mivel nagyon érdekelt ez az új terület, így rengeteg időt szántam ezeknek az elsajátítására és ami a legnagyobb segítség volt, az az assembly mély megértése. Nem tudnék azért sok dolgot megírni benne:D csak szimplán olvasás szintjén értem ezt. Mivel ott kb semmi olyan nem létezik ami magasabb szintű nyelveken alap, így mindent neked kell implementálni és a memória működését nem felszínesen, hanem mélyen érteni kell. Ez pedig C/C++ megértésében hatalmasan nagy segítség, konkrétan nem fogod nehéznek találni, inkább csak az az érzés lesz, hogy kell rengeteg tapasztalat vele (de ugye ez normális).
Most ne érts félre, nem azt mondom, hogy tanulj assemblyt, de valami olcsó udemy kurzust érdemes lenne megvenni vagy valami könyvet le torrentezni vagy youtube-on egy videó sorozatot nézni erről (nyílván van az indiai barátainknak hála erről is jó videó:D). Egy hétvége alatt átmész egy ilyenen és utána soha többé nem lesz probléma low level nyelvekhez nyúlni.
Nagyon szépen köszönöm a hasznos,kifejtett válaszokat! :)
Azon gondolkodom,hogy a helyes memóriakezelés,hogy ne legyenek leak-ek,hogy lehetne hatékonyan megtanulni,mi a legjobb módszer rá,esetleg mennyi idő. Ettől tartok igazából mind C-ben,mind C++-ban.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!