Zašto programiranje C još uvijek vrijedi učiti

  • Brian Curtis
  • 0
  • 4514
  • 1171
Oglas

U 2016. godini C je bio 9. najaktivniji jezik na GitHubu sa 202 tisuće zahtjeva za potezanjem u godini. Usporedite to s prva tri jezika: JavaScript sa 1.604k zahtjeva za povlačenje, Java sa 763k zahtjevima za povlačenje i Python sa 744 zahtjeva za povlačenje. Ruby, PHP, C ++ i CSS također su pobijedili C.

Na prvi pogled može se činiti kao da su C ostavili u prašini noviji, svježiji, uzbudljiviji jezici - C je 45 godina, na kraju krajeva - ali GitHub nije baš najtačnija slika Što je Git i zašto biste trebali koristiti kontrolu verzije Ako ste programer Što je Git i zašto biste trebali koristiti kontrolu verzije ako ste programer? web programerima, puno vremena radimo na lokalnim razvojnim mjestima, a zatim samo prenosimo sve kad završimo. To je u redu kad ste samo vi i promjene su malene,… softverske industrije. GitHub ima ogroman pristranosti prema otvorenom kodu i trendi.

C nije mrtav jezik. Zapravo, IEEE spektar magazin ju je svrstao na prvo mjesto na prvom mjestu u 2017. godini ispred Java, C # i JavaScript. Ako biste ove godine naučili C, to bi i bilo ne biti gubitak svog vremena ili energije. Evo pet razloga zašto.

1. Dublje razumijevanje računala

Možda ste čuli da je C a “jezik niže razine.” U kontekstu programiranja, “nivo” je opis koliko ste bliski izvornom setu računala. Što je niža razina, to vam je bliže pisanje strojnog koda. Što je viša razina, to se jezik više apstrahira i odvlači vas od pisanja strojnog koda.

C je jezik niže razine s određenom apstrakcijom. Možete napisati kôd koji je prilično blizak hardveru i izravno manipulirati memorijom, dok na jeziku više razine poput Jave, sam jezik rukuje s memorijom putem sakupljača smeća.

Kreditna slika: Casimiro PT preko Shutterstocka

Iako je ovo dio onoga što C čini teškim za učenje, to je i razlog zašto su programeri C obično više u skladu s načinom rada računala. Da biste napisali dobar C kod, morate razmišljati kao što računalo misli: upravljanje memorijom, ulazni / izlazni tokovi, redoslijed bajtova itd..

Jezici niže razine od C postoje (npr. Montaža), ali C je otprilike jednako nizak koliko želite ići. Zadržava većinu snage i kontrole jezika niže razine, ali apstrahiran je dovoljno samo za ljudski čitljiv kôd koji vas neće natjerati da rastrgate očne jabučice..

2. Lakše pokupite ostale jezike

Neki programeri to vole reći “Jednom kada znate jedan programski jezik, prilično ih dobro znate sve.” Iako ohrabrujuće raspoloženje, nije sasvim istinito - osim ako ne naučite C.

Stvar je u tome što je prelazak s jednog jezika na drugi najlakši kada se krećete apstraktno. Prelazak s jezika niže razine poput C na jezik više razine poput Pythona prilično je jednostavan jer Python više drži vašu ruku. Ali idete li od Pythona do C? Nije baš lako.

Kreditna slika: Sashkin putem Shutterstocka

Ili razmislite o još jednom primjeru. C # je danas popularan prvi jezik za novorođenčad, posebno za one koji žele ući u razvoj igara (jer dragi Unity motor koristi C # 5 besplatne softverske alate za razvoj igara kako bi napravili svoje igre 5 besplatnih softverskih alata za razvoj igara kako bi napravili svoje igre Besplatni softver za razvoj igara odličan je način za pokretanje izrade videoigara. Sastavili smo najbolji softver za igre na tržištu.). Iako je jezik C # vrlo apstraktiran i lakši za upotrebu, novorođenčad se često zbunjuje jer ih ne razumije što se apstrahira.

Učenjem C u osnovi učite temelje modernog programiranja. Ako zaista možete razumjeti C, moći ćete odabrati bilo koji drugi jezik, jer je gotovo svaki moderni jezik viši od C.

3. Bolje uvažavanje ostalih jezika

C niske razine C ima cijenu: složenost i zamišljenost.

Zamislite to kao pravljenje sendviča sa šunkom. Na jeziku više razine možete koristiti makeSandwich (“šunka”) metoda koja proizvodi gotov sendvič. Na C-u biste morali napisati vlastitu funkciju makeSandwich () koja okuplja i priprema sve potrebne sastojke, sastavlja sendvič, a zatim sve vraća natrag.

Kreditna slika: Zakharchuk preko Shutterstocka

S jedne strane, velika je mogućnost kontrolirati svaki aspekt vašeg sendviča. Možda ćete čak moći napisati i brži makeSandwich () koji preskače određene korake koji vas ne zanimaju. Ali ponekad jednostavno želite da vam netko napravi sendvič, a hrana napravljena za vas često ima bolji okus od hrane koju ste sami napravili.

Većina modernih jezika rođena je kao odgovor na nedostatke na nekom drugom jeziku: C ++ kao odgovor na C, Java kao C ++, C # kao odgovor na Javu itd.. Učenjem C možete bolje razumjeti zašto su određeni jezici dizajnirani onakvim kakvi jesu i bolje cijeniti praktičnost koju nude jezici više razine.

4. Nekonvencionalni projekti i prijave

Većina modernih programskih jezika koristi se za iste tri stvari: poslovne aplikacije, web i mobilne aplikacije i analizu podataka.

Jezici više razine odlični su za njih jer nema potrebe roniti se u sitne sitne detalje računalne arhitekture. Umjesto toga, brzi razvojni ciklusi i robusno držanje kralja kraljevstva - dvije su glavne prednosti upotrebe jezika više razine.

Kreditna slika: Inspirativno putem Shutterstocka

Ali ako želite razviti softver koji izravno spaja s hardverom, trebat će vam jezik niže razine - i C se najviše koristi. Značajne aplikacije uključuju operacijske sustave, programske jezike i kompajlere, ugrađene sustave, motore za igre itd.

Na primjer, Linux kernel piše se u C i Assembly. Popularni jezici poput Python, PHP, Perl i Ruby implementirani su u C. Jeste li znali da je čak i C napisan u C? A budući da mnogi ugrađeni sustavi imaju stroga ograničenja resursa, C je često jezik izbora jer ima vrlo malo troškova.

5. Poboljšajte svoje radne mogućnosti

Dva su načina zajamčiti posao u softverskoj industriji:

  1. Specijalizirajte se na pozicijama velike potražnje.
  2. Specijalizirajte se na pozicijama s niskom opskrbom.

Pozicije velike potražnje 10 radnih mjesta za računalno programiranje koji su trenutno traženi 10 zadataka računalnog programiranja koji su trenutno traženi budući da postavljanje programskog posla može biti naporno u trenutnom krajoliku, razmislite o fokusiranju na jednu od sljedećih koncentracija kako biste poboljšali svoje šanse za uspjeh. uključuju moderne jezike koji se mogu koristiti u više polja: JavaScript, Python i Java su najbolji primjeri. Položaji s niskom opskrbom uglavnom uključuju arhaične jezike, naslijeđene sustave i ne-blještave projekte. C je popularan, ali C programeri opadaju.

Budući da većina kodiranja kampova za dizanje kodiranja Boot Camp za početnike: Treba li ih uzeti? Kodiranje Boot Camp-a za početnike: Treba li ga uzeti? Sveobuhvatni kampovi za dizanje podataka omogućuju ulazak u kodni prostor. Otkrijte što su, što ćete naučiti i ako to odgovara vašem programskom putovanju! i internetski tečajevi guraju programere početnike prema jezicima sa velikim zahtjevima, umjesto toga možete se odvojiti učenjem C. To može otvoriti mnoge mogućnosti zaposlenja koje jednostavno nisu dostupne na jezicima više razine.

Početak rada s C-om

C nije lako naučiti, pogotovo ako je to vaš prvi programski jezik ikad. Zato preporučujemo prije ronjenja pročitati ova tri članka: pitanja koja si postavite prije nego što naučite kodirati, kako naučiti programiranje bez stresa i trikovi za savladavanje novog programskog jezika. 7 Korisni trikovi za savladavanje novog jezika programiranja 7 korisnih trikova za Savladavanje novog programskog jezika U redu je biti preteran kad učite kodirati. Vjerojatno ćete zaboraviti stvari čim ih naučite. Ovi savjeti mogu vam pomoći da bolje zadržite sve te nove informacije. .

Ali ako ozbiljno razmišljate o učenju C, svakako započnite s C programski jezik, drugo izdanje (često se naziva i “K & R”). To je u osnovi biblija za programiranje C. Prilično je star, ali sve u njemu i danas vrijedi za C. Nakon što prođete, možete pročitati promjene koje su se dogodile u izmjenama jezika C89, C99 i C11.

Ako si ne možeš priuštiti tu knjigu, počni s tim Knjiga C. Više nije u tisku, ali je još uvijek dostupan online u HTML obliku u cijelosti.

Što misliš? Je li C zastario i beskoristan ili bi ga novi programeri još trebali naučiti prije nego što istraže modernije jezike? Podijelite svoje misli s nama u nastavku!




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.