Hvorfor C Programmering er fortsatt verdt å lære

Hvorfor C Programmering er fortsatt verdt å lære / programmering

I 2016 var C det nest mest aktive språket på GitHub med 202k trekkforespørsler i året. Sammenlign det med de tre beste språkene: JavaScript med 1,604k trekkforespørsler, Java med 763k trekkforespørsler, og Python med 744 trekkforespørsler. Ruby, PHP, C ++ og CSS slår også C.

Ved første øyekast kan det virke som om C har blitt igjen i støvet av nyere, ferskere og mer spennende språk - C er 45 år - tross alt - men GitHub er ikke akkurat det mest nøyaktige bildet Hva er Git og hvorfor du bør bruke Versjonskontroll Hvis du er utvikler Hva er Git og hvorfor du bør bruke Versjonskontroll Hvis du er utvikler som webutviklere, mye av tiden vi pleier å jobbe med på lokale utviklingssteder, så laster vi opp alt når vi er ferdige. Dette er greit når det bare er deg og endringene er små, ... Les mer av programvarebransjen. GitHub har en enorm forspenning mot åpen kildekode og trendiness.

C er ikke et dødt språk. Faktisk, IEEE Spectrum magasinet rangerte det som toppmålet nr. 2 i 2017 foran Java, C # og JavaScript. Hvis du skulle lære C i år, ville det ikke bli sløsing med din tid eller energi. Her er fem grunner til hvorfor.

1. Dypere forståelse av datamaskiner

Du har kanskje hørt at C er a “språk på lavere nivå.” I sammenheng med programmering, “nivå” er en beskrivelse av hvor nært du er til datamaskinens opprinnelige instruksjonssett. Jo lavere nivå, desto nærmere er det å skrive maskinkode. Jo høyere nivå, jo mer abstraksjon er gjort av språket for å ta deg bort fra å skrive maskinkode.

C er et språk på lavere nivå med litt abstraksjon. Du kan skrive kode som er ganske nær maskinvaren og direkte manipulere minne, mens i et språk på høyere nivå som Java, håndterer språket seg selv gjennom en søppelkollektor.

Bildekreditt: Casimiro PT via Shutterstock

Selv om dette er en del av det som gjør C vanskelig å lære, er det også derfor C-programmerere har en tendens til å være mer i tråd med hvordan datamaskiner fungerer. For å skrive god C-kode må du tenke som en datamaskin tenker: minnehåndtering, inngangs- / utgangsstrømmer, byteordre osv..

Lavere nivå språk enn C eksisterer (for eksempel Assembly), men C er omtrent så lavt som du vil gå. Den beholder mesteparten av kraften og kontrollen på språk på lavere nivå, men er abstraheret akkurat nok for menneskelig lesbar kode som ikke vil gjøre deg tåre øyebolene dine ut.

2. Plukk opp andre språk lettere

Noen programmerere liker å si det “Når du kjenner ett programmeringsspråk, kjenner du ganske godt dem alle.” Selv om det er en oppmuntrende følelse, er det ikke helt sant - med mindre du lærer C.

Tingen er at det å flytte fra ett språk til et annet er jevnest når du går opp i abstraksjon. Å gå fra et lavere språk som C til et høyere nivå språk som Python, er ganske enkelt fordi Python holder hånden din mer. Men går fra Python til C? Ikke så lett.

Bildekreditt: Sashkin via Shutterstock

Eller sett på et annet eksempel. C # er et populært første språk for nybegynnere i dag, spesielt for de som ønsker å komme inn i spillutvikling (fordi den elskede Unity-motoren bruker C # 5 Free Game Development Software Tools til å lage dine egne spill 5 Gratis Game Development Software Tools for å lage dine egne spill Her er de beste gratis spillutviklingsprogramvaren og verktøyene du kan bruke til å begynne å lage ditt drømmespill i dag. Les mer). Men selv om C # -språket er svært abstrakt og enklere å bruke, blir nybegynnere ofte forvirret fordi de ikke forstår hva blir abstrakte.

Ved å lære C, lærer du i utgangspunktet grunnlaget for moderne programmering. Hvis du virkelig kan forstå C, kan du hente noe annet språk fordi nesten alle moderne språk er høyere enn C.

3. Bedre forståelse av andre språk

Lavnivået av C kommer til en pris: kompleksitet og tedium.

Tenk på det som å lage en skinke sandwich. I et språk på høyere nivå kan du bruke en makeSandwich (“skinke”) metode som produserer en smørbrød. I C må du skrive din egen makeSandwich () -funksjon som samler og forbereder alle nødvendige ingredienser, monterer smørbrød og setter alt tilbake.

Bilde Kreditt: Zakharchuk via Shutterstock

På den ene siden, å være i stand til å kontrollere alle aspekter av sandwich er flott. Du kan til og med kunne skrive en raskere makeSandwich () som hopper over bestemte trinn du ikke bryr deg om. Men noen ganger vil du bare ha noen til å lage deg et smørbrød, og mat laget for deg smaker ofte bedre enn mat du har laget deg selv.

De fleste moderne språk ble født som svar på mangler på et annet språk: C ++ som svar på C, Java som svar på C ++, C # som svar på Java, etc. Ved å lære C kan du bedre forstå hvorfor enkelte språk er utformet slik de er og bedre setter pris på bekvemmeligheten som tilbys av høyere nivå språk.

4. Ukonvensjonelle prosjekter og applikasjoner

De fleste moderne programmeringsspråk brukes til de samme tre tingene: forretningsapps, web- og mobilapper og dataanalyse.

Språk på høyere nivå er bra for disse, fordi det ikke er behov for å dykke inn i de nitty-gritty detaljene i dataarkitekturen. I stedet utvikler raske utviklingssykluser og robust håndholding konge - to av de viktigste fordelene ved å bruke et språk på høyere nivå.

Image Credit: Inspirerende via Shutterstock

Men hvis du ønsker å utvikle programvare som er direkte grensesnitt til maskinvare, trenger du et lavere språk - og C er den mest brukte. Merkbare applikasjoner inkluderer operativsystemer, programmeringsspråk og kompilatorer, innebygde systemer, spillmotorer, etc..

For eksempel er Linux-kjernen skrevet i C og Assembly. Populære språk som Python, PHP, Perl og Ruby er implementert i C. Visste du at selv C er skrevet i C? Og siden mange innebygde systemer har strenge ressursgrenser, er C ofte språket av valg fordi det har svært lite overhead.

5. Forbedre jobben din

Det er to måter å garantere en jobb i programvarebransjen:

  1. Spesialiserer seg på høye kravsposisjoner.
  2. Spesialiser deg på lavt forsyningsposisjoner.

Høy etterspørsel stillinger 10 Dataprogrammeringsjobber som er i etterspørselen akkurat nå 10 Dataprogrammeringsjobber som er i behov akkurat nå Siden landing av en programmeringsjobb kan være tøff i dagens landskap, bør du vurdere å fokusere på en av følgende konsentrasjoner for å forbedre sjansene for suksess. Les mer involverer trendy språk som kan brukes i flere felt: JavaScript, Python og Java er de beste eksemplene. Lav forsyningsposisjon har en tendens til å involvere arkaiske språk, eldre systemer og ikke-så-prangende prosjekter. C er populær, men C programmører er svindlende.

Siden de fleste kodende oppstartsleirer Coding Boot Camp for nybegynnere: Skal du ta en? Coding Boot Camp for nybegynnere: Skal du ta en? Omfattende kodende oppstartsleirer gir en oppføring i kodingsområdet. Finn ut hva de er, hva du lærer, og hvis det er riktig passform for din programmeringsreise! Les mer og nettstudier presse nybegynnerprogrammer til høy etterspørsel språk, du kan sette deg selv fra hverandre ved å lære C i stedet. Dette kan åpne opp mange jobbmuligheter som bare ikke er tilgjengelige på høyere nivå språk.

Komme i gang med C

C er ikke lett å lære, spesielt hvis det er ditt første programmeringsspråk. Derfor anbefaler vi at du leser disse tre artiklene før du dykker på: Spørsmål å spørre deg selv før du lærer å kode, lære programmering uten stress og triks for å mestre et nytt programmeringsspråk. 7 Nyttige triks for å mestre et nytt programmeringsspråk. 7 Nyttige triks for Mastering av et nytt programmeringsspråk Det er greit å være overveldet når du lærer å kode. Du vil sikkert glemme ting så fort du lærer dem. Disse tipsene kan hjelpe deg å bedre beholde all den nye informasjonen. Les mer .

Men hvis du er seriøs om å lære C, skal du definitivt begynne med C Programmeringsspråk, 2. utgave (ofte referert til som “K & R”). Det er egentlig C-programmeringsbibelen. Det er ganske gammelt, men alt i det gjelder fortsatt C i dag. Når du er gjennom, kan du lese om endringene som skjedde i språkrevisjonene C89, C99 og C11.

Hvis du ikke har råd til den boka, så start med C-boken. Det er ikke lenger på lager, men er fortsatt tilgjengelig online i HTML-skjema i sin helhet.

Hva tror du? Er C utdatert og ubrukelig eller bør nye programmerere fortsatt lære det før de utforsker mer moderne språk? Del dine tanker med oss ​​nedenfor!