Maison >développement back-end >Tutoriel C#.Net >Le langage C n'est pas simple, même les programmeurs le disent, pourquoi ?

Le langage C n'est pas simple, même les programmeurs le disent, pourquoi ?

php是最好的语言
php是最好的语言original
2018-08-01 16:39:591953parcourir

La première langue que j'ai apprise à l'université était le langage C. Tout le monde devrait être comme moi. Quiconque peut utiliser le langage de manière professionnelle devrait avoir appris le langage C. Peut-être que tout le monde est d'accord pour dire que le C est le langage le plus basique et le plus basique. simple. Bien sûr, vous devez d'abord l'apprendre. Ce n'est pas le cas. En fait, de nombreux programmeurs que je connais se plaignent de la difficulté d'apprendre le C. Cela est peut-être également vrai. convient aux débutants pour débuter. Cependant, s'il est utilisé en développement, il est extrêmement compliqué. Cet article le présentera en détail. apache php mysql

commencer !

Le langage C nest pas simple, même les programmeurs le disent, pourquoi ?

Sous-jacent == D'accord ?

Le langage C fournit des opérations de bas niveau, telles que des pointeurs. Mais la plus grande différence entre le langage C et le C++ est que le langage C ne peut pas éviter les pointeurs, tandis que le C++ l'évite complètement en utilisant STL et les bibliothèques de pointeurs intelligents. En d'autres termes, les pointeurs dans d'autres langages ne sont que des types, et les pointeurs en langage C sont des pointeurs. J'ai toujours pensé que c'était un tabou pour les débutants d'entrer en contact trop tôt avec des pointeurs. Les débutants doivent créer des applications amusantes qui génèrent un retour immédiat, plutôt que de se plonger dans des systèmes informatiques qui ne feront qu'éroder leur confiance. Les débutants doivent se concentrer sur la logique du code et bloquer tout ce qui concerne la couche sous-jacente. Utilisons une analogie Si on vous enseignait la loi périodique des éléments et le modèle VSEPR alors que vous appreniez tout juste la chimie, seriez-vous intéressé ?

Exposer la couche sous-jacente est également nuisible d'un autre point de vue, qui implique une gestion manuelle de la mémoire dans le tas. Les ordinateurs sont un compromis. Vous pouvez dire que cette méthode a une efficacité d'exécution élevée, mais dans la plupart des cas, il est erroné de rechercher excessivement l'efficacité d'exécution et d'ignorer l'efficacité du développement. La gestion manuelle de la mémoire est l'affaire des programmeurs seniors. Les programmeurs juniors doivent s'en remettre entièrement aux fonctionnalités du langage pour gérer la mémoire. Sinon, si votre programme présente une exception de pointeur nul dans trois jours et une fuite de mémoire dans cinq jours, qui en souffrira. ? Allez? Par conséquent, quel que soit le point de vue, le langage C n’est pas adapté pour débuter.

Le langage C nest pas simple, même les programmeurs le disent, pourquoi ?

L'éditeur recommande un endroit avec une excellente atmosphère d'apprentissage, C/C++ Exchange Penguin Skirt : 341636727 ! Il convient aux étudiants et aux novices qui souhaitent changer de carrière et trouver un emploi grâce à ce programme. Il y a beaucoup de matériel d'apprentissage dans la jupe, des experts répondent aux questions de communication et il y a des cours en direct gratuits tous les soirs

Il existe également une opinion selon laquelle seul le langage C peut accéder à la pile et modèles de tas. Je suis très responsable de vous dire que tous les langages compilés sans script, tels que C++ et Swift, ainsi que les langages gérés, tels que C# et Java, peuvent avoir accès au modèle de pile et de tas, et en raison du mécanisme de gestion automatique de la mémoire, ce dernier utilise le tas beaucoup plus fréquemment que C. Les langages de script disposent également de leurs propres modèles de conteneurs de variables, tels que zval de PHP. Ce blâme ne devrait pas être imputé aux langages de programmation, mais aux manuels scolaires inutiles nationaux. On voit également que le modèle de pile du langage C n'est pas universellement applicable. Si vous l'appliquez à d'autres langages, il risque de ne pas fonctionner. Mais certains insistent pour l’utiliser comme base pour apprendre d’autres langages de programmation, ce qui est vraiment ridicule.

Le prix de la simplicité

Le langage C ne fournit pas d'encapsulation et d'abstraction de haut niveau de certains composants courants. Par exemple, lorsque vous utilisez une table de hachage, vous devez en créer une vous-même ou effectuer une recherche en ligne pour voir s'il existe des codes prêts à l'emploi. C'est très hostile aux développeurs. Comme il n'existe rien de tel dans la bibliothèque standard du langage C, cela ne sera pas du tout mentionné lors de l'apprentissage. Cela a conduit de nombreuses personnes à ne même pas savoir qu'une telle chose existe, et elles ne peuvent que regarder lorsqu'elles rencontrent des problèmes. Les seuls conteneurs pris en charge par le langage C sont les tableaux natifs, et les chaînes sont implémentées à l'aide de tableaux de caractères natifs, le traitement des chaînes est donc très, très faible. Si vous souhaitez écrire un code pour la concaténation de chaînes, cela prendra une ligne en Java et plusieurs lignes en langage C. C'est le prix de la « simplicité » du langage C.

La simplicité du langage C est exactement le résultat de l'omission du support natif d'OO. La raison pour laquelle j'ai mentionné le support natif ci-dessus est que le langage C peut toujours implémenter OO en utilisant des combinaisons, telles que l'héritage utilisant des combinaisons, des fonctions virtuelles utilisant des membres de fonction de pointeur, etc. En termes d’OO, le langage C est beaucoup plus difficile à implémenter que le C++. Un mot clé en C++ correspond à quelques lignes de code en langage C Comment peut-on dire que c'est simple ? Que l'OO soit bon ou mauvais, il s'agit désormais d'un paradigme linguistique commun dans l'industrie, et son rôle est tout comme l'anglais dans le langage naturel, jouant un rôle décisif. Si vous ne le contactez pas, vous serez désavantagé lors de votre recherche d'emploi à l'avenir. Mais OO est-il vraiment compliqué ? Si vous lisez un livre Java, vous passerez au maximum deux chapitres à présenter ces choses, l'un concerne les classes et l'autre les interfaces. D'autres langages qui ne sont pas si OO passent simplement un chapitre, juste pour vous dire qu'il existe une classe, et cette longueur est presque la même que la structure et la longueur de l'énumération dans le didacticiel du langage C.

La "simplicité" du langage C signifie que dans le développement réel, vous devez effectuer plus d'opérations manuelles au lieu d'un compilateur. Je pense que Dieu est juste. S'il donne aux autres langages plus de fonctionnalités linguistiques, il leur donnera également une plus grande efficacité de développement.

Le langage C nest pas simple, même les programmeurs le disent, pourquoi ?

Parlons de la bibliothèque standard

La raison pour laquelle le livre en langage C est mince n'est pas parce qu'il n'y a pas de choses OO , mais la bibliothèque standard Il lui manque certains composants modernes, ces éléments sont tous en posix. Parler du langage C sans API Posix, c'est simplement être un voyou. Les composants ou fonctionnalités communs ne manquent pas en ce qui concerne le langage C. En raison de l'environnement d'exécution et des exigences modernes du programme, vous ne pouvez rien écrire sans ces éléments. Parmi les cinq bibliothèques majeures des langages de programmation modernes (chaînes, conteneurs, io, threads et réseaux), il n'en manque que deux au langage C. Quant aux deux derniers, les développeurs du langage C doivent utiliser l'API posix, puis résoudre le problème d'incompatibilité de l'API. Les vertus de la bibliothèque standard du langage C sont à moitié désactivées sans posix. Et si vous voulez comprendre Posix, vous devez lire "apue". Si vous me dites que le langage C est simple, dites-moi qu'il est simple après avoir lu l'épais livre "apue".

Pas un post-scriptum

On apprend un langage de programmation non pas pour préparer des examens, mais pour réellement créer des choses. Un langage comme C, qui n'a pas de conteneurs, pas de chaînes, pas de modèles, pas d'exceptions, pas de RAII, fabrique toutes les roues tout seul et n'a aucune fonctionnalité des langages de programmation modernes, est extrêmement compliqué à utiliser. Désolé, je n'ai pas le temps d'étudier comment chaque fonctionnalité ou classe est implémentée en langage C. J'aime toujours utiliser du code plus court pour exprimer ma logique.

fin :

Après avoir lu ceci, vous voyez où est simple ? Est-il facile d’écrire des programmes de jouets ? Quoi qu'il en soit, je pense que cela a l'air très compliqué, et ce n'est pas comme ce à quoi ça ressemblait quand j'étais à l'université. Peut-être que j'ai appris un faux langage C à ce moment-là.

Articles connexes :

10 ressources en langage C qui peuvent faire de vous un meilleur programmeur

langage C 10 Un petit classique programme

Vidéos associées :

Tutoriel langage C

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn