Waarom C programmeren nog steeds de moeite waard is om te leren
In 2016 was C de 9e meest actieve taal op GitHub met 202k pull-aanvragen in het jaar. Vergelijk dat met de top drie talen: JavaScript met 1.604k pull-verzoeken, Java met 763k pull-aanvragen en Python met 744 pull-aanvragen. Ruby, PHP, C ++ en CSS verslaan ook C.
Op het eerste gezicht lijkt het alsof C in het stof is achtergebleven door nieuwere, versere, opwindender talen - C is 45 jaar oud, tenslotte - maar GitHub is niet precies de meest accurate afbeelding Wat is Git en waarom zou je versiebeheer moeten gebruiken als je een ontwikkelaar bent Wat is Git en waarom zou je versiebeheer moeten gebruiken als je een ontwikkelaar bent webontwikkelaars, veel van de tijd dat we de neiging hebben om op lokale ontwikkelsites te werken, upload dan gewoon alles wanneer we klaar zijn. Dit is prima als je alleen bent en de veranderingen klein zijn, ... Lees meer over de software-industrie. GitHub heeft een reusachtig voorkeur voor open source en trendiness.
C is geen dode taal. Eigenlijk, IEEE Spectrum magazine gerangschikt het als de nr. 2 top taal in 2017 voor Java, C # en JavaScript. Als je dit jaar C zou leren, zou het dat zijn niet wees verspilling van je tijd of energie. Hier zijn vijf redenen waarom.
1. Dieper inzicht in computers
Je hebt misschien gehoord dat C een is “taal op lager niveau.” In de context van programmeren, de “niveau” is een beschrijving van hoe dicht u bij de native instructieset van de computer bent. Hoe lager het niveau, hoe dichter u bij het schrijven van machine-code bent. Hoe hoger het niveau, hoe meer abstractie door de taal wordt gedaan om u weg te houden van het schrijven van machinecode.
C is een taal op een lager niveau met enige abstractie. Je kunt code schrijven die vrij dicht bij de hardware staat en het geheugen direct manipuleert, terwijl in een taal van een hoger niveau als Java de taal zelf het geheugen verwerkt via een garbage collector.
Hoewel dit onderdeel is van wat C moeilijk te leren maakt, is het ook de reden waarom C-programmeurs meer in overeenstemming zijn met hoe computers werken. Om goede C-code te schrijven, moet je denken zoals een computer denkt: geheugenbeheer, invoer / uitvoerstromen, bytevolgorde, enz..
Talen op lager niveau dan C bestaan wel (bijvoorbeeld Assembly), maar C is ongeveer net zo laag als u wilt gaan. Het behoudt de meeste kracht en controle van talen op een lager niveau, maar is net voldoende geabstraheerd voor menselijk leesbare code die je niet uit je oog laat vallen.
2. Ophalen van andere talen gemakkelijker
Sommige programmeurs zeggen dat graag “als je eenmaal een programmeertaal kent, ken je ze vrijwel allemaal.” Hoewel het een bemoedigend gevoel is, is het niet helemaal waar - tenzij je C leert.
Het punt is dat het verplaatsen van de ene taal naar de andere het soepelst is als je abstract bent. Het is vrij eenvoudig om van een taal op een lager niveau zoals C naar een taal van een hoger niveau zoals Python te gaan, omdat Python je hand meer vasthoudt. Maar van Python naar C gaan? Niet zo makkelijk.
Of overweeg een ander voorbeeld. C # is vandaag de dag een populaire eerste taal voor beginners, vooral voor diegenen die in de game-ontwikkeling willen komen (omdat de geliefde Unity-engine gebruik maakt van C # 5 gratis software voor gamevelopmentontwikkeling om je eigen spellen te maken 5 gratis software voor gamebewerking om je eigen spellen te maken Hier zijn de beste gratis software en hulpmiddelen voor het ontwikkelen van spellen die je kunt gebruiken om vandaag je droomspel te beginnen. Lees meer). Maar ook al is de C # -taal zeer geabstraheerd en gemakkelijker in gebruik, toch raken newbies vaak in verwarring omdat ze het niet begrijpen wat wordt er geabstraheerd.
Door C te leren, leer je in essentie de basis van moderne programmering. Als je C echt kunt begrijpen, kun je elke andere taal ophalen omdat bijna elke moderne taal hoger is dan C.
3. Betere waardering van andere talen
Het lage niveau van C heeft een prijs: complexiteit en verveling.
Zie het als het maken van een broodje ham. In een taal op een hoger niveau kunt u een makeSandwich gebruiken (“ham”) methode die een kant-en-klare sandwich produceert. In C zou je je eigen makeSandwich () -functie moeten schrijven die alle benodigde ingrediënten verzamelt en bereidt, de sandwich samenstelt en alles dan terugplaatst.
Aan de ene kant is het geweldig om elk aspect van je boterham te kunnen beheersen. Je zou zelfs in staat zijn om een snellere makeSandwich () te schrijven die bepaalde stappen overslaat waar je niet om geeft. Maar soms wil je gewoon dat iemand je een broodje maakt, en eten dat voor je is gemaakt, smaakt vaak beter dan voedsel dat je zelf hebt gemaakt.
De meeste moderne talen werden geboren als reactie op tekortkomingen in een andere taal: C ++ in reactie op C, Java in reactie op C ++, C # in reactie op Java, enz.. Door C te leren, kunt u beter begrijpen waarom bepaalde talen zijn ontworpen zoals ze zijn en beter het gemak waarderen dat wordt geboden door talen van een hoger niveau.
4. Onconventionele projecten en toepassingen
De meeste moderne programmeertalen worden gebruikt voor dezelfde drie dingen: zakelijke apps, web- en mobiele apps en gegevensanalyse.
Talen op een hoger niveau zijn daar geweldig voor, omdat je niet hoeft te duiken in de subtiele details van de computerarchitectuur. In plaats daarvan regeren snelle ontwikkelingscycli en robuuste handbehoudskoning - twee van de belangrijkste voordelen van het gebruik van een taal op een hoger niveau.
Maar als u software wilt ontwikkelen die rechtstreeks op hardware is aangesloten, heeft u een taal op een lager niveau nodig - en C is het meest gebruikt. Opmerkelijke toepassingen zijn besturingssystemen, programmeertalen en compilers, ingebedde systemen, game-engines, enz.
De Linux-kernel is bijvoorbeeld geschreven in C en Assembly. Populaire talen zoals Python, PHP, Perl en Ruby zijn geïmplementeerd in C. Wist je dat zelfs C is geschreven in C? En omdat veel ingesloten systemen strikte resourcelimieten hebben, is C vaak de taal bij uitstek omdat er weinig overhead is.
5. Verbeter uw kansen op werk
Er zijn twee manieren om een baan in de software-industrie te garanderen:
- Gespecialiseerd in veelgevraagde posities.
- Gespecialiseerd in lage leveringsposities.
Veelgevraagde functies 10 Computerprogrammering Taken waar nu vraag naar is 10 Computerprogrammering banen die momenteel vraag zijn Sinds de landing kan een programmeeropdracht moeilijk zijn in het huidige landschap, overweeg om u te concentreren op een van de volgende concentraties om uw kansen op succes. Meer lezen betrekken trendy talen die in meerdere velden kunnen worden gebruikt: JavaScript, Python en Java zijn de beste voorbeelden. Laagbevolkte posities hebben de neiging om archaïsche talen, legacy-systemen en niet-zoals-flitsende projecten te betrekken. C is populair, maar C-programmeurs nemen af.
Sinds de meeste coderende bootkampen Coding Boot Camp voor beginners: Should You Take One? Coding Boot Camp voor beginners: moet je er een nemen? Uitgebreide bootcamps voor codering bieden toegang tot de codeerruimte. Ontdek wat ze zijn, wat u zult leren en of het de juiste oplossing is voor uw programmeerreis! Read More en online trainingscursussen duwen newbie-programmeurs in de richting van veelgevraagde talen, u zou zichzelf kunnen onderscheiden door in plaats daarvan C te leren. Dit kan veel vacatures openen die gewoon niet beschikbaar zijn in hogere talen.
Aan de slag met C
C is niet gemakkelijk te leren, vooral als het je allereerste programmeertaal is. Daarom raden we aan om deze drie artikelen te lezen voordat je gaat duiken: vragen die je jezelf moet stellen voordat je gaat leren programmeren, leren programmeren zonder de stress en trucs voor het beheersen van een nieuwe programmeertaal 7 Nuttige trucs voor het beheersen van een nieuwe programmeertaal 7 handige trucs voor Een nieuwe programmeertaal beheersen Het is prima om overweldigd te zijn als je leert programmeren. Je zult dingen waarschijnlijk zo snel vergeten als je ze leert. Deze tips kunnen u helpen om al die nieuwe informatie beter te bewaren. Lees verder .
Maar als je serieus bent over het leren van C, begin dan zeker C Programmeertaal, 2e editie (vaak aangeduid als “K & R”). Het is eigenlijk de C programmeerbijbel. Het is behoorlijk oud, maar alles wat erin staat is vandaag nog steeds van toepassing op C. Zodra u klaar bent, kunt u de wijzigingen lezen die zich hebben voorgedaan in de taalherzieningen van de C89, C99 en C11.
Als je dat boek niet kunt betalen, begin dan met Het C-boek. Het is niet langer in druk, maar nog steeds online beschikbaar in HTML-vorm in zijn geheel.
Wat denk je? Is C verouderd en nutteloos of moeten nieuwe programmeurs dit nog leren voordat ze meer moderne talen ontdekken? Deel uw mening hieronder met ons!