Varför C Programmering är fortfarande värt att lära

Varför C Programmering är fortfarande värt att lära / Programmering

I 2016 var C det 9: e mest aktiva språket på GitHub med 202k dragförfrågningar under året. Jämför det med de tre bästa språken: JavaScript med 1,604k pull requests, Java med 763k pull requests och Python med 744 pull requests. Ruby, PHP, C ++ och CSS slår också C.

Vid första anblicken kan det tyckas att C har lämnats i dammet av nyare, fräschare och mer spännande språk - C är 45 år gammal - men GitHub är inte exakt den mest exakta bilden Vad är Git och varför du bör använda Version Control Om du är en utvecklare Vad är Git och varför du ska använda Version Control Om du är utvecklare som webbutvecklare, mycket av den tid vi brukar arbeta på lokala utvecklingsplatser, så ladda bara upp allt när vi är färdiga. Det här är bra när det bara är du och förändringarna är små, ... Läs mer av mjukvaruindustrin. GitHub har a enorm bias mot öppen källkod och trendiness.

C är inte ett dödligt språk. Faktiskt, IEEE Spectrum tidningen rankade det som toppmålet nr 2 i 2017 före Java, C # och JavaScript. Om du skulle lära C detta år skulle det inte bli slöseri med din tid eller energi. Här är fem skäl varför.

1. Djupare förståelse av datorer

Du kanske har hört att C är a “språk på lägre nivå.” I samband med programmering, the “nivå” är en beskrivning av hur nära du är till datorns inbyggda instruktionsuppsättning. Ju lägre nivå, desto närmare är du att skriva maskinkod. Ju högre nivå, desto mer abstraktion görs av språket för att ta dig ifrån skrivmaskinens kod.

C är ett språk på lägre nivå med viss abstraktion. Du kan skriva kod som ligger ganska nära hårdvaran och direkt manipulera minne, medan i ett språk på högre nivå som Java hanterar språket själv minnet genom en sopsamlare.

Bildkredit: Casimiro PT via Shutterstock

Även om detta är en del av det som gör C svårt att lära sig, är det också därför att C-programmerare brukar vara mer i linje med hur datorer arbetar. För att skriva bra C-kod måste du tänka som en dator tänker: minneshantering, inmatnings- / utmatningsflöden, byteorder, etc.

Lägre nivå språk än C existerar (t ex Assembly), men C är ungefär lika låg som du vill gå. Den behåller det mesta av kraften och kontrollen på språk på lägre nivå men är abstraherad tillräckligt för läsbar kod som inte får dig att riva dina ögonbollar ut.

2. Plocka upp andra språk enklare

Vissa programmerare tycker om att säga det “När du väl vet ett programmeringsspråk känner du ganska mycket till dem alla.” Trots ett uppmuntrande känsla är det inte riktigt sant - om du inte lär dig C.

Saken är att flytta från ett språk till ett annat är smidigt när du flyttar upp i abstraktion. Att gå från ett lägre språk som C till ett högre språk som Python är ganska lätt eftersom Python håller din hand mer. Men går du från Python till C? Inte så enkelt.

Bildkredit: Sashkin via Shutterstock

Eller överväga ett annat exempel. C # är ett populärt förstaspråk för nybörjare idag, särskilt för dem som vill komma in i spelutveckling (eftersom den älskade Unity-motorn använder C # 5 Free Game Development Software Tools för att skapa dina egna spel 5 Gratis spelutvecklingsprogramverktyg för att skapa egna spel Här är de bästa gratis spelutvecklingsprogram och verktyg du kan använda för att börja göra ditt drömspel idag. Läs mer). Men även om C # -språket är mycket abstraherat och lättare att använda, blir nybörjare ofta förvirrade eftersom de inte förstår vad som abstraheras.

Genom att lära C läser du i grunden grunden för modern programmering. Om du verkligen kan förstå C, kan du hämta något annat språk eftersom nästan alla moderna språk är högre än C.

3. Bättre värdering av andra språk

C-lågnivån kommer till en kostnad: komplexitet och tedium.

Tänk på det som att göra en skinka smörgås. På ett högre språk kan du använda en makeSandwich (“skinka”) metod som producerar en färdig att äta smörgås. I C måste du skriva din egen makeSandwich () -funktion som samlar och förbereder alla nödvändiga ingredienser, monterar smörgåsen och sätter sedan allt tillbaka.

Bildkrediter: Zakharchuk via Shutterstock

Å ena sidan är det bra att kunna styra alla aspekter av din smörgås. Du kan till och med kunna skriva en snabbare makeSandwich () som hoppar över vissa steg som du inte bryr dig om. Men ibland vill du bara att någon ska göra dig en smörgås, och mat tillverkade smakar ofta bättre än mat du gjort själv.

De flesta moderna språk föddes som svar på brister på ett annat språk: C ++ som svar på C, Java som svar på C ++, C # som svar på Java, etc. Genom att lära C kan du bättre förstå varför vissa språk är utformade som de är och bättre uppskattar bekvämligheten som erbjuds på högre nivå språk.

4. Okonventionella projekt och tillämpningar

De flesta moderna programmeringsspråk används för samma tre saker: affärsappar, webb- och mobilappar och dataanalys.

Språk på högre nivå är bra för dessa eftersom det inte finns något behov av att dyka in i de nitty-gritty detaljerna i datorarkitekturen. I stället är snabba utvecklingscykler och robust handhållande konge - två av de främsta fördelarna med att använda ett högre språk.

Bildkredit: Inspirerande via Shutterstock

Men om du vill utveckla programvara som direkt gränsar till hårdvara, behöver du ett lägre språk - och C är den mest använda. Anmärkningsvärda applikationer inkluderar operativsystem, programmeringsspråk och kompilatorer, inbyggda system, spelmotorer, etc..

Till exempel skrivs Linux-kärnan i C och Assembly. Populära språk som Python, PHP, Perl och Ruby implementeras i C. Visste du att även C är skrivet i C? Och eftersom många inbyggda system har strikta resursgränser är C ofta det språk man väljer eftersom det har mycket lite överhuvudtaget.

5. Förbättra dina jobbmöjligheter

Det finns två sätt att garantera ett jobb inom programvaruindustrin:

  1. Specialisera på höga krav positioner.
  2. Specialisera sig på lågleveranspositioner.

Hög efterfrågan positioner 10 Datorprogrammering jobb som är i efterfrågan just nu 10 Datorprogrammering jobb som är i efterfrågan just nu Eftersom landning ett programmeringsjobb kan vara svårt i det nuvarande landskapet, överväga att fokusera på en av följande koncentrationer för att förbättra dina chanser att Framgång. Läs mer involvera trendiga språk som kan användas i flera fält: JavaScript, Python och Java är de bästa exemplen. Lågförsörjningspositioner tenderar att involvera arkaiska språk, äldre system och inte-som-prickiga projekt. C är populär, men C-programmerare minskar.

Eftersom de flesta kodande boot camps Coding Boot Camp för nybörjare: Ska du ta en? Coding Boot Camp för nybörjare: Ska du ta en? Omfattande kodningsstartläger ger en inmatning i kodningsutrymmet. Ta reda på vad de är, vad du lär dig, och om det är rätt passform för din programmeringsresa! Läs mer och online-kurser push newbie programmerare mot högkvalitativa språk, du kan sätta dig iväg genom att lära C istället. Detta kan öppna upp många jobbmöjligheter som bara inte är tillgängliga på språk på högre nivå.

Komma igång med C

C är inte lätt att lära sig, speciellt om det är ditt första någonsin programmeringsspråk. Därför rekommenderar vi att du läser dessa tre artiklar innan du dyker på: Frågor att fråga dig själv innan du lär dig att koda, lära dig programmering utan stress och tricks för att behärska ett nytt programmeringsspråk. 7 Användbara tricks för att behärska ett nytt programmeringsspråk. 7 Användbara tricks för Mastering a New Programming Language Det är okej att vara överväldigad när du lär dig att koda. Du kommer noga att glömma saker så fort du lär dig dem. Dessa tips kan hjälpa dig att bättre behålla all den nya informationen. Läs mer .

Men om du är seriös om att lära C, börja definitivt med C Programmeringsspråk, 2: a upplagan (ofta kallad “K & R”). Det är i princip C-programmeringsbibeln. Det är ganska gammalt, men allt i det gäller fortfarande C idag. När du är klar kan du läsa om de ändringar som gjorts i C89, C99 och C11 språkrevisioner.

Om du inte har råd med den boken, börja med C-boken. Den är inte längre i tryck, men finns fortfarande tillgänglig online i HTML-format i dess helhet.

Vad tror du? Är C föråldrad och värdelös eller bör nya programmerare fortfarande lära sig det innan de utforskar mer moderna språk? Dela dina tankar med oss ​​nedan!