Pourquoi la programmation en C vaut toujours la peine d'être apprise

Pourquoi la programmation en C vaut toujours la peine d'être apprise / La programmation

En 2016, C était la 9ème langue la plus active sur GitHub avec 202 000 demandes de traction dans l'année. Comparez cela aux trois principaux langages: JavaScript avec 1 604 000 requêtes d'extraction, Java avec 763 000 requêtes d'extraction et Python avec 744 demandes d'extraction. Ruby, PHP, C ++ et CSS ont également battu le C.

À première vue, il peut sembler que C ait été laissé dans la poussière par des langues plus récentes, plus fraîches et plus excitantes - C est 45 ans, après tout - mais GitHub n’est pas exactement l’image la plus précise Qu'est-ce que Git et pourquoi utiliser le contrôle de version si vous êtes développeur? Qu'est-ce que Git et pourquoi utiliser le contrôle de version si vous êtes développeur? Développeurs Web, nous avons souvent tendance à travailler sur des sites de développement locaux, puis nous téléchargeons simplement tout ce que nous avons terminé. C’est très bien quand ce n’est que vous et que les changements sont minimes,… Lire la suite de l’industrie du logiciel. GitHub a un énorme parti pris pour l'open source et tendance.

C n'est pas une langue morte. En réalité, Spectre IEEE le magazine l'a classé comme le deuxième langage le plus populaire en 2017, devant Java, C # et JavaScript. Si vous deviez apprendre le C cette année, ce serait ne pas être une perte de votre temps ou de votre énergie. Voici cinq raisons pour lesquelles.

1. Compréhension approfondie des ordinateurs

Vous avez peut-être entendu dire que C est un “langue de niveau inférieur.” Dans le contexte de la programmation, le “niveau” est une description de votre proximité avec le jeu d'instructions natif de l'ordinateur. Plus le niveau est bas, plus vous écrivez de code machine. Plus le niveau est élevé, plus l'abstraction est faite par le langage pour vous empêcher d'écrire du code machine.

C est un langage de niveau inférieur avec une certaine abstraction. Vous pouvez écrire du code assez proche du matériel et manipuler directement la mémoire, alors que dans un langage de niveau supérieur tel que Java, le langage lui-même gère la mémoire via un ramasse-miettes..

Crédit d'image: Casimiro PT via Shutterstock

C’est une partie de ce qui rend difficile l’apprentissage du C, mais c’est aussi la raison pour laquelle les programmeurs C ont tendance à être plus en phase avec le fonctionnement des ordinateurs. Pour écrire du bon code C, vous devez penser comme un ordinateur: gestion de la mémoire, flux d’entrée / sortie, ordre des octets, etc..

Les langages de niveau inférieur au C existent (par exemple, Assembly), mais le C est du niveau le plus bas que vous voudrez. Il conserve l'essentiel de la puissance et du contrôle des langages de bas niveau, mais il est résumé assez pour un code lisible par l'homme qui ne vous fera pas perdre la vue..

2. Choisissez d'autres langues plus facilement

Certains programmeurs aiment dire que “une fois que vous connaissez un langage de programmation, vous les connaissez tous.” Bien que ce soit un sentiment encourageant, ce n’est pas tout à fait vrai - à moins d’apprendre C.

Le fait est que passer d'une langue à une autre est plus facile lorsque vous progressez dans l'abstraction. Passer d'un langage de niveau inférieur tel que C à un langage de niveau supérieur tel que Python est plutôt facile, car Python vous tient mieux la main. Mais passer de Python à C? Pas si facile.

Crédit d'image: Sashkin via Shutterstock

Ou considérons un autre exemple. C # est aujourd'hui une langue populaire pour les débutants, en particulier pour ceux qui souhaitent se lancer dans le développement de jeux (car le moteur bien-aimé d'Unity utilise le C # 5, outils logiciels de développement de jeux gratuits pour créer vos propres jeux. 5 outils logiciels de développement de jeux pour créer vos propres jeux. Voici les meilleurs logiciels et outils de développement de jeux gratuits que vous pouvez utiliser pour commencer à créer le jeu de vos rêves dès aujourd'hui. Mais même si le langage C # est très abstrait et facile à utiliser, les débutants sont souvent déconcertés par leur incompréhension. qu'est-ce qu'on fait abstraction.

En apprenant le C, vous apprenez essentiellement les fondements de la programmation moderne. Si vous pouvez vraiment comprendre le C, vous pourrez choisir n'importe quelle autre langue car presque toutes les langues modernes sont de niveau supérieur au C.

3. Meilleure appréciation des autres langues

Le faible niveau de C a un coût: complexité et ennui.

Pensez-y comme à un sandwich au jambon. Dans une langue de niveau supérieur, vous pouvez utiliser un makeSandwich (“jambon”) méthode qui produit un sandwich prêt-à-manger. En C, vous devez écrire votre propre fonction makeSandwich () qui rassemble et prépare tous les ingrédients nécessaires, assemble le sandwich, puis remet tout en place..

Crédit d'image: Zakharchuk via Shutterstock

D'une part, il est bon de pouvoir contrôler tous les aspects de votre sandwich. Vous pourriez même être en mesure d'écrire un makeSandwich () plus rapide qui ignore certaines étapes qui ne vous intéressent pas. Mais parfois, vous voulez juste que quelqu'un vous prépare un sandwich, et la nourriture faite pour vous goûte souvent mieux que la nourriture que vous avez préparée vous-même.

La plupart des langages modernes sont nés en réponse à des carences d'un autre langage: C ++ en réponse à C, Java en réponse à C ++, C # en réponse à Java, etc.. En apprenant le C, vous comprendrez mieux pourquoi certaines langues sont conçues comme elles sont et mieux apprécier la commodité offerte par les langages de niveau supérieur..

4. Projets et applications non conventionnels

La plupart des langages de programmation modernes sont utilisés pour les trois mêmes choses: applications professionnelles, applications Web et mobiles et analyse des données..

Les langages de niveau supérieur sont parfaits pour ceux-ci car il n’est pas nécessaire de plonger dans les détails de base de l’architecture informatique. Au lieu de cela, des cycles de développement rapides et une bonne tenue des mains règnent en maître - deux des principaux avantages de l'utilisation d'un langage de niveau supérieur.

Crédit d'image: Inspirer via Shutterstock

Mais si vous souhaitez développer un logiciel directement en interface avec le matériel, vous aurez besoin d’un langage de bas niveau - et C est le langage le plus utilisé.. Les applications notables comprennent les systèmes d'exploitation, les langages de programmation et les compilateurs, les systèmes intégrés, les moteurs de jeu, etc..

Par exemple, le noyau Linux est écrit en C et Assembly. Les langages populaires comme Python, PHP, Perl et Ruby sont implémentés en C. Saviez-vous que même le C est écrit en C? Et comme de nombreux systèmes embarqués ont des limites de ressources strictes, le langage C est souvent choisi, car il a très peu de temps système..

5. Améliorez vos opportunités d'emploi

Il existe deux manières de garantir un emploi dans l'industrie du logiciel:

  1. Spécialisé dans les postes à forte demande.
  2. Spécialisé dans les postes à faible offre.

Postes à forte demande. 10 emplois en programmation informatique en demande actuellement. 10 emplois en programmation informatique en demande maintenant. Etant donné que décrocher un emploi en programmation peut être difficile dans le paysage actuel, envisagez de vous concentrer sur l'une des concentrations suivantes pour améliorer vos chances de succès. Succès. Lire la suite implique des langages à la mode pouvant être utilisés dans plusieurs domaines: JavaScript, Python et Java sont les meilleurs exemples. Les postes à faible offre tendent à impliquer des langages archaïques, des systèmes hérités et des projets non-flashy. C est populaire, mais les programmeurs C diminuent.

Depuis la plupart des camps de formation de codage Codage du camp de formation pour débutants: devriez-vous en prendre un? Camp d'entraînement pour les débutants: devriez-vous en prendre un? Des camps de démarrage de codage complets fournissent une entrée dans l'espace de codage. Découvrez ce qu'ils sont, ce que vous allez apprendre et si c'est la solution idéale pour votre parcours de programmation! En savoir plus et les formations en ligne poussent les programmeurs débutants vers des langues très demandées. Vous pouvez vous démarquer en apprenant le C. Cela peut ouvrir de nombreuses opportunités d'emploi qui ne sont tout simplement pas disponibles dans les langues de niveau supérieur.

Commencer avec C

C n’est pas facile à apprendre, surtout si c’est votre tout premier langage de programmation. C'est pourquoi nous vous recommandons de lire ces trois articles avant de plonger: questions à vous poser avant d'apprendre à coder, apprendre à programmer sans stress, et astuces pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour maîtriser un nouveau langage de programmation 7 Astuces utiles pour Maîtriser un nouveau langage de programmation Vous pouvez vous sentir dépassé lorsque vous apprenez à coder. Vous oublierez probablement les choses aussi vite que vous les apprendrez. Ces conseils peuvent vous aider à mieux conserver toutes ces nouvelles informations. Lire la suite .

Mais si vous êtes sérieux au sujet de l’apprentissage du C, commencez certainement par Langage de programmation C, 2e édition (souvent appelé “K & R”). C'est fondamentalement la bible de programmation en C. C'est assez vieux, mais tout ce qu'il contient s'applique encore à C aujourd'hui. Une fois que vous avez terminé, vous pouvez lire les changements survenus dans les révisions en langage C89, C99 et C11..

Si vous ne pouvez vous permettre ce livre, commencez par Le livre C. Il n'est plus imprimé, mais reste disponible en ligne sous forme HTML dans son intégralité..

Qu'est-ce que tu penses? Est-ce que C est obsolète et inutile ou les nouveaux programmeurs devraient-ils encore l'apprendre avant d'explorer des langues plus modernes? Partagez vos pensées avec nous ci-dessous!