Miért kellene minden programozónak megtanulnia a C-t?
A C segítségével pontosan megérted a számítógépek működését
Dmitrij Guzeev
2018. január 4. · 5 perc olvasás
A C tanulás megtanítja a számítógépes architektúra alapelveit, például a mutatókat, amelyek valóban alapvetőek mindenki számára, aki saját programot szeretne létrehozni.
A C magabiztosabbá teszi, hogy minden programozási nyelven beírja a fájlokat, csak azért, mert tudni fogja, hogyan működik a legalacsonyabb szinten.
Hadd vonjak hasonlatot: Összeállíthatja étrendjét tapasztalt személyek felhasználásával, de miután megkapta az étrendjét, semmit sem fog tudni arról, hogy miért választottak bizonyos dolgokat.
Most, ha valami nem működik (a zsír nem múlik el, nem gyarapodik az izmok stb.), Egyszerűen nem tudná, miért történik. Ön nem fogja tudni kijavítani egyedül, mivel nem tudja, hogyan működik.
De ha azonban saját maga állította össze étrendjét, és az úton megtanult néhány dolgot a dietológiáról, az egészségről és az emberi test mechanizmusairól, ha bármilyen probléma merül fel, akkor 90% -os eséllyel meg fogja tudni, miért megtörtént-e, és így képes lesz megjavítani.
Ugyanaz a dolog a programozásnál is: Választhat a „szakértő használata” között, amikor valamit meg kell tennie (erősen elvont programozási nyelv használatával), vagy megtanulhatja, hogyan működik ez alapvető szinten. A dolgok működésének ismerete lehetővé teszi a problémák könnyű megoldását is.
A C tanulásának előnyei
Most nem azt mondom, hogy C szükséges, az első dolog, amit meg kell tanulnod, amikor programozóvá válsz. Csak azt akarom mondani, hogy a C megtanulása önmagában nagyon hasznos minden programozó számára.
Úgy gondolom azonban, hogy vannak előnyei annak, ha a C-t először megtanuljuk több magas szintű programozási nyelvvel szemben (például a C ++ és a Python). Amikor olyan nyelvekkel dolgozik, mint a Java, a C # és még a Python is, azonnal elkezdi távolodni a programozási nyelv alapjainak elsajátításától, és elkezdi tanulni a kapcsolódó könyvtárakat és keretrendszereket. De C-vel néhány könyvtári hívás érkezik, hosszabb ideig a nyelv szemantikájára koncentrálsz, és C gyakran arra kényszerít, hogy jobban és mélyebben gondolkodj azon, hogy mi történik a motorháztető alatt.
A C középszintű PL (nem alacsony szintű PL, ahogy a legtöbb tájékozatlan ember mondja). Amikor az emberek erről beszélnek, olyan kifejezéseket fog hallani, mint „kódolás a fémhez” vagy „kódolás a vezetékhez közel”. C a fordítók, tolmácsok, szerkesztők, operációs rendszerek és a beágyazott programozás nyelve. Amikor megtanul programozni C-ben, akkor szinte meg kell értenie a programok végrehajtásának módját. Tudja, hogy mit jelentenek az IO a regisztráció, a verem, a halom és a memória leképezése.
Nagyon csodálkoztam, amikor először megtudtam, hogyan működnek a függvényhívások a legalacsonyabb szinten. És ez nem az egyetlen dolog, amin igazán csodálkoztam, amikor C-t tanultam.
Egyszerűség és gyorsaság
C egyszerű. Most ezt csak a programozási nyelv szempontjából mondom: Nagyon kevés kulcsszó és szintaktikai struktúra kell, amelyet meg kellene tanulni ahhoz, hogy professzionális C-t írjon. Nem azt mondom, hogy 6 éves gyerekként megtanulhatta a C-t, - Nem az általános egyszerűségről beszélek: vannak dolgok, amelyek nehézek, de ezek nem közvetlenül kapcsolódnak a nyelvhez - alapvetőek, mint már említettem.
A C-ben írt programok szintén gonoszak és gyorsak. Tehát mindig tudja, mit kell tennie, ha a program nem fut elég gyorsan:)
Nemcsak a C programok önmagukban hatékonyak, de maga a nyelvszintaxis megtanítja Önt arra, hogyan kell hatékony és gyors kódot írni: A C-nek vannak nyers mutatói, statikus memória-koncepciója és még sok minden más. Megtudhatja, miért jobb átadni a nagy objektumokat más funkciókra való hivatkozáson keresztül, mint érték szerint.
Az egyetlen dolog, ami jobban megtanítja a hatékony kód megírására, az az alacsony szintű nyelv, de azonban nem javaslom, hogy tanulja meg a modern világprocesszoros ASM memonikákat.
Tiszta kód
A C tanulása megtanít arra is, hogy tiszta eljárási kódot írjon elengedhetetlen paradigmában.
A C szintén nem OOP nyelv, így a C kód írásakor nem zavarhatja el az olyan dolgok, mint az öröklés és a polimorfizmus. Most nem azt akarom mondani, hogy ezek a dolgok rosszak, vagy valami hasonló. Valójában csak bonyolultabbá és „nehezebbé” teszik a kódodat, ami nem jó dolog.
Személyes tapasztalataim szerint a C kód írása sokkal könnyebb, mint a C írás++.
Programozási fegyelem
C is előfordul, hogy igényes, ügyes, finom és néha egyenesen rejtélyes. Könnyen írhat nehezen olvasható, nehezen karbantartható kódot C-be. De nem kell. A fenntartható kód C-ben történő írásának elsajátításához kódolási fegyelemre lesz szükség (és remélhetőleg bevezetésre kerül).
És igen, nem minden nyelv teszi lehetővé a kódolási fegyelem megtanulását. A C ebben az értelemben többnyire egyedülálló. A modern programozási nyelvek többségében a szintaxishibák kijavítása korlátozódhat a triviálisra. Például Ada fordítójának hibaüzenetei olyan jók, hogy éppúgy kijavította az Ön kódját. De a C-ben megijed attól, ha további pontosvesszőt tesz a sor végére (mivel ez órákig tartó nehéz hibakeresést okozhat valamilyen ismeretlen probléma miatt). Tehát az agyad megtanul nézni minden tényleges karaktert, amelyet beírsz a projekt fájljaiba.
Beágyazott programozás
Igen, megemlítem ezt.
A programozás szórakoztató: Nagyon jó nézni, hogy a számítógép pontosan azt csinálja, amit mondott neki. De nem arra születettünk, hogy megérezzük, hogyan áramlik az áram a vezetékeken: nincs ilyen érzésünk, és ezért mindig viccesebb látni, hogy a robot hogyan mozgatja a lábát, mert programozott egy áramkört, amely az egész robotot futtatja.
A C nagyon jó a beágyazott programozáshoz. Mint már mondtam, a C gyors és nagyon alacsony absztrakcióval fér hozzá az alacsony szintű számítógépes dolgokhoz - ez teszi jót a beágyazott programozáshoz.
Népszerűség
Mint korábban említettem, a C jó a beágyazott programozáshoz, és ezért népszerű ezen a területen.
Azt is szeretném mondani, hogy a C nem kevésbé népszerű más területeken is. Csak nézze meg a programozási nyelv rangsorának grafikonjait a 2017-es évre.
- A jóga alapjai Ismerje meg a jóga nyolc elemeit a Fogyás Tippek Közeg segítségével
- Kurkuma tej fogyáshoz Öt ok, amiért minden nap inni kell a ’haldi doodh’ télen Egészségügyi tippek
- Az A-Rod doppingszokásainak elmondhatatlan és őrülten furcsa története, Gus Garcia-Roberts Matter Közepes
- Testsúlycsökkentő tippek a hét minden napjára
- Miért a súlykerékpározás az elhízás központi problémája? Chris Tsai Medium