
Michael Cain
0
1806
333
I 2016 var C det 9. mest aktive sprog på GitHub med 202k pull-anmodninger i året. Sammenlign det med de tre øverste sprog: JavaScript med 1.604k pull-anmodninger, Java med 763k pull-anmodninger og Python med 744 pull-anmodninger. Ruby, PHP, C ++ og CSS slog også C.
Ved første øjekast kan det se ud til, at C er blevet efterladt i støvet af nyere, friskere, mere spændende sprog - C er 45 år gammel, trods alt - men GitHub er ikke nøjagtigt det mest nøjagtige billede Hvad er Git & hvorfor du skal bruge versionskontrol, hvis du er en udvikler, hvad er Git og hvorfor du skal bruge versionskontrol, hvis du er en udvikler som webudviklere, meget af den tid, vi har en tendens til at arbejde på lokale udviklingswebsteder, upload bare alt, når vi er færdige. Dette er fint, når det bare er dig, og ændringerne er små, ... af softwarebranchen. GitHub har en kæmpe stor bias mod open source og trendiness.
C er ikke et dødt sprog. Faktisk, IEEE Spektrum magasinet rangerede det som det største sprog i 2017 foran Java, C # og JavaScript. Hvis du skulle lære C i år, ville det gøre det ikke spild af din tid eller energi. Her er fem grunde til.
1. Dybere forståelse af computere
Du har måske hørt, at C er en “sprog på lavere niveau.” I forbindelse med programmering, “niveau” er en beskrivelse af, hvor tæt du er på computerens oprindelige instruktionssæt. Jo lavere niveau, jo tættere du er på at skrive maskinkode. Jo højere niveau, jo mere abstraktion gøres af sproget for at fjerne dig fra at skrive maskinkode.
C er et lavere sprog med en vis abstraktion. Du kan skrive kode, der er temmelig tæt på hardware og direkte manipulere hukommelse, mens sproget i et højere niveau som Java håndterer hukommelsen gennem en skraldesamler.
Billedkredit: Casimiro PT via Shutterstock
Selvom dette er en del af, hvad der gør C vanskeligt at lære, er det også, hvorfor C-programmører har en tendens til at være mere i harmoni med, hvordan computere fungerer. For at skrive en god C-kode skal du tænke som en computer tænker: hukommelsesstyring, input / output-streams, byte-rækkefølge osv..
Sprog på lavere niveau end C findes (f.eks. Forsamling), men C er omtrent lige så lavt som du vil gå. Det bevarer det meste af styrken og kontrollen på sprog på lavere niveau, men er abstraheret lige nok til menneskelig læsbar kode, der ikke får dig til at rive dine øjeboller ud.
2. Pick up andre sprog lettere
Nogle programmerere kan godt lide at sige det “når du først kender et programmeringssprog, kender du stort set dem alle.” Selvom det er en opmuntrende stemning, er det ikke helt sandt - medmindre du lærer C.
Sagen er, at flytte fra et sprog til et andet er glatest, når du bevæger dig op med abstraktion. At gå fra et lavere sprog som C til et sprog på højere niveau som Python er ret let, fordi Python holder din hånd mere. Men går fra Python til C? Ikke så let.
Billedkredit: Sashkin via Shutterstock
Eller overvej et andet eksempel. C # er et populært førstesprog for nybegynder i dag, især for dem, der ønsker at komme i spiludvikling (fordi den elskede Unity-motor bruger C # 5 gratis spiludviklingssoftwareværktøjer til at lave dine egne spil 5 Gratis spiludviklingssoftwareværktøjer til at lave dine egne spil Gratis spiludviklingssoftware er en fantastisk måde at starte videospilfremstilling. Vi har samlet den bedste spilsoftware på markedet.) Men selvom C #-sproget er meget abstraheret og lettere at bruge, bliver newbies ofte forvirrede, fordi de ikke forstår hvad der bliver abstraheret.
Ved at lære C lærer du grundlæggende grundlaget for moderne programmering. Hvis du virkelig kan forstå C, kan du hente ethvert andet sprog, fordi næsten ethvert moderne sprog er højere niveau end C.
3. Bedre vurdering af andre sprog
Den lave niveau af C koster en pris: kompleksitet og tedium.
Tænk på det som at lave en skinksandwich. På et sprog på højere niveau bruger du muligvis en makeSandwich (“skinke”) -metode, der producerer en klar-til-spise-sandwich. I C skulle du skrive din egen makeSandwich () -funktion, der samler og forbereder alle de nødvendige ingredienser, samler sandwich og sætter alt tilbage.
Billedkredit: Zakharchuk via Shutterstock
På den ene side er det godt at kunne kontrollere alle aspekter af din sandwich. Du kan muligvis endda skrive et hurtigere makeSandwich (), der springer over visse trin, som du ikke er interesseret i. Men nogle gange vil du bare have, at nogen skal lave dig en sandwich, og mad, der er lavet til dig, smager ofte bedre end mad, du selv lavede.
De fleste moderne sprog blev født som svar på mangler på et andet sprog: C ++ som svar på C, Java som svar på C ++, C # som svar på Java osv.. Ved at lære C kan du bedre forstå, hvorfor visse sprog er designet, som de er, og bedre sætte pris på bekvemmeligheden, som sprog på højere niveau tilbyder.
4. Ukonventionelle projekter og applikationer
De fleste moderne programmeringssprog bruges til de samme tre ting: forretningsapps, web- og mobilapps og dataanalyse.
Sprog på højere niveau er fremragende til disse, fordi der ikke er behov for at dykke ned i de pittige gritty detaljer i computerarkitektur. I stedet for konge af hurtig udvikling og en robust håndholdende konge - to af de vigtigste fordele ved at bruge et højere niveau sprog.
Billedkredit: Inspirerende via Shutterstock
Men hvis du vil udvikle software, der direkte griber grænseflader til hardware, har du brug for et sprog på lavere niveau - og C er det mest anvendte. Bemærkelsesværdige applikationer inkluderer operativsystemer, programmeringssprog og compilere, indlejrede systemer, spilmotorer osv.
For eksempel er Linux-kernen skrevet i C og Assembly. Populære sprog som Python, PHP, Perl og Ruby implementeres i C. Vidste du, at selv C er skrevet i C? Og da mange indlejrede systemer har strenge ressourcegrænser, er C ofte det valgte sprog, fordi det har meget lidt overhead.
5. Forbedre dine jobmuligheder
Der er to måder at garantere et job i softwarebranchen:
- Specialiserer sig i høj efterspørgsel positioner.
- Specialiseret i positioner med lav forsyning.
Stillinger med stor efterspørgsel 10 Computerprogrammeringsopgaver, der er i efterspørgsel lige nu 10 Computerprogrammeringsopgaver, der er i efterspørgsel lige nu Da landing af et programmeringsopgave kan være hårdt i det aktuelle landskab, kan du overveje at fokusere på en af følgende koncentrationer for at forbedre dine chancer for succes. involverer trendy sprog, der kan bruges i flere felter: JavaScript, Python og Java er de bedste eksempler. Positioner med lav forsyning har en tendens til at involvere arkaiske sprog, ældre systemer og ikke-så-prangende projekter. C er populært, men C-programmører aftager.
Da de fleste kodende boot camps Coding Boot Camp for begyndere: Bør du tage en? Kodning Boot Camp for begyndere: Skal du tage en? Omfattende kodning boot camps giver adgang til kodning plads. Find ud af, hvad de er, hvad du lærer, og hvis det er den rigtige pasform til din programmeringsrejse! og onlinetræningskurser skubber nybegynderprogrammer mod sprog med meget efterspørgsel, du kan skille dig ud ved at lære C i stedet. Dette kan åbne mange jobmuligheder, der bare ikke er tilgængelige på sprog på højere niveau.
Kom godt i gang med C
C er ikke let at lære, især hvis det er dit første programmeringssprog nogensinde. Derfor anbefaler vi at læse disse tre artikler, før du dykker ind: spørgsmål til at stille dig selv, før du lærer at kode, hvordan man lærer programmering uden stress, og tricks til at mestre et nyt programmeringssprog 7 Nyttige tricks til at mestre et nyt programmeringssprog 7 Nyttige tricks til Mestring af et nyt programmeringssprog Det er okay at blive overvældet, når du lærer at kode. Du vil sandsynligvis glemme tingene så hurtigt, som du lærer dem. Disse tip kan hjælpe dig med at bevare alle de nye oplysninger bedre. .
Men hvis du er seriøs med at lære C, skal du bestemt starte med C Programmeringssprog, 2. udgave (ofte omtalt som “K & R”). Det er dybest set C-programmeringsbibelen. Den er temmelig gammel, men alt i det gælder stadig C i dag. Når du er igennem, kan du læse op om ændringerne, der fandt sted i sprogrevisionerne C89, C99 og C11.
Hvis du ikke har råd til den bog, så start med C-bogen. Den er ikke længere på tryk, men stadig tilgængelig online i HTML-form i sin helhed.
Hvad synes du? Er C forældet og ubrugelig, eller skal nye programmerere stadig lære det, før de udforsker mere moderne sprog? Del dine tanker med os nedenfor!