Introduction

Introduction

Étant donné que dans notre première partie de cet article, nous avons dit que nous nous attendions à ce que vous, le lecteur, ayez des connaissances en programmation, dans cette partie, nous voulons vous aider à obtenir une place sur où C se situe par rapport aux autres langages de programmation que vous savez peut-être. Le choix de ces langues a été assez difficile à cause de divers critères, mais à la fin, nous nous sommes arrêtés à C ++, Perl et Python. Étant donné que les langages de programmation peuvent être classés de nombreuses façons (selon le paradigme, la syntaxe ou le style, par exemple), nous n'avons pas essayé de trouver des langues qui sont dans la même catégorie que C. Au lieu de cela, comme les langues susmentionnées sont assez populaires dans le monde Linux, nous les avons choisis, mentionnant quelle est la place de chaque langue dans le grand schéma, ce pour quoi il est généralement utilisé pour et bien sûr les différences entre eux et C. Cet article sera structuré comme suit: nous commencerons par des éléments importants de chaque langue, comme la déclaration variable, la dactylo. Ainsi, nous espérons vous donner une idée de la langue avant de commencer. Les pièces de cet article sont faites seront exactement comme la structure annoncée de cet article, pour faciliter la compréhension.

La comparaison

Types, opérateurs, variables

C++

C ++ a été initialement nommé «C avec des classes», qui en dit long sur sa relation avec C. Il est largement considéré comme un superset de C (donc C ++ l'opérateur d'incrément unary ++), introduisant des fonctionnalités de programmation orientées objet. Les types sont essentiellement utilisés de la même manière, avec bool Être introduit en C ++ pour les opérations booléennes. Fondamentalement, lorsque vous parlez de différences C et C ++, la plupart d'entre eux proviennent des concepts OOP que C ++ a et C n'a pas. Par exemple, C ++ a une surcharge de l'opérateur, un terme spécifique à la POO, ce qui signifie qu'un opérateur peut avoir des implémentations différentes en fonction des données sur lesquelles il fonctionne sur. Par exemple, en C ++, vous pouvez le faire:

 un << 2 

Maintenant, si A est un entier, cela fera une opération bit. Ce type de comportement est l'une des raisons pour lesquelles C ++ est critiqué pour avoir permis de mauvaises pratiques de programmation. Les variables et les constantes sont déclarées de la même manière que dans C.

Perler

Avec Perl, c'est plus simple: il n'a que trois types de données. Ce sont des scalaires, des tableaux et des hachages ou des tableaux associatifs. Les scalaires sont préfixés avec un signe en dollars, les tableaux sont préfixés avec un @ et les hachages sont préfixés avec% s. La différence concernant les types est que Perl est un langage de programmation dynamique, tandis que C est faible, ce qui signifie qu'en C, vous traiterez des déclarations appropriées de variables, comme «cette variable est un entier» ou «cette autre variable est un pointeur vers un flotteur ". Les différences concernant les opérateurs arithmétiques sont simplement que Perl a «**» pour l'exponentiation, tandis que C a besoin d'une fonction pour y parvenir.

Python

La déclaration variable de Python est basée sur le contexte. Par exemple, nous voulons déclarer une chaîne, un entier et un flotteur:

var1 = "String" var2 = 100 var3 = 100.98

Avec C, cela aurait été comme

char * var1 = "string"; int var2 = 100; float var3 = 100.98;

C n'a pas de type de chaîne comme le font les autres langues, donc une chaîne doit être déclarée comme un tableau de caractères ou un pointeur vers un char, tandis que Python propose des nombres, des dictionnaires, des chaînes, des listes et des tuples comme types de données.

Contrôle de flux

Les quatre langues décrites ici ont beaucoup de choses en commun en ce qui concerne le contrôle du flux. Par exemple, lors du démarrage d'un si bloc, aucun ne nécessite un mot-clé final, comme Fi en bash ou algol68. En parlant de blocs si, la syntaxe est similaire, donc si vous avez l'habitude de programmer en C ++, Perl ou Python, vous trouverez C's Way très familier. La même chose peut être dite sur le reste des opérations de contrôle de débit: pour, à faire, tandis que le changement / cas ou la rupture / continue. Encore une fois, si vous êtes habitué à la façon dont les trois langues contrôlent le flux, vous aurez besoin de quelques minutes pour vous habituer à C. Certaines différences principales pourraient être: Perl a plus de mots clés pour gérer cela que C, comme refaire, dernier ou suivant. Python a le passer mot-clé pour… ne rien faire en gros, mais c'est utile quand on a besoin d'une classe vide. Par exemple:

classe Vide: passer

Les fonctions

Une déclaration de fonction simple en C serait comme ceci:

int sum (int a, int b)  retour un + b; 

Ce serait une fonction nommée somme qui renvoie un entier de calculer la somme de ses arguments, un et b, Aussi entiers. Noter la blocs qui fait une délimitation claire quant à l'endroit du corps de la fonction et quand il se termine. Dans Perl, le terme fonction est utilisé de manière interchangeable avec le sous-programme. Vous pouvez, comme en C, déclarer d'abord une fonction, puis le définir, ou le déclarer et le définir en un seul coup, comme nous l'avons fait ci-dessus. Vous devez utiliser le sous mot-clé afin de dire à l'interprète Perl ce que vous voulez faire. Dans Python, notre exemple de somme ressemblerait à ceci:

def sum (a, b): retour un + b

Vous avez peut-être remarqué que nous n'avions rien dit sur C++. Eh bien, en ce qui nous concerne, il n'y a pas de différence entre C et C ++ à cet égard.

Pointeurs et tableaux

Un pointeur est une variable qui contient l'emplacement de la mémoire d'une autre variable. Comme en C, les pointeurs et les tableaux sont liés ensemble assez serrés et offrent de nombreuses fonctionnalités avancées au programmeur C ++. Encore une fois, il n'y a pas de différence importante entre les deux. Perl a les références qui offrent la même fonctionnalité. Par exemple, ce morceau de code définit une variable nommée var et une référence nommée Refvar:

$ var = 20; $ Refvar = \ $ var;

En C, nous aurions fait quelque chose comme

int var; var = 20; int * Refvar; Refvar = &var;

Perl, comme Python, ne permet pas au programmeur de faire une manipulation directe de la mémoire. Certains voient cela comme une bonne chose, d'autres non. Python propose des ctypes, qui est une bibliothèque qui propose la fonction pointeur () pour l'utilisation de pointeurs. La nouvelle est: Python n'utilise pas de pointeurs. La longue histoire est que la façon de Python de référencer les variables, c'est-à-dire uniquement de valeur, est différente d'un programmeur utilisé pour C.

Si vous avez utilisé des tableaux sur C ++ ou Perl, le concept est principalement le même. Perl a une syntaxe différente, mais si vous savez déjà ce qu'est un tableau, vous serez bien en C. Python propose le déployer module qui offre cette fonctionnalité, car il a déjà des listes comme un type de base, sauf que les tableaux sont plus restrictifs.

Structure

En C, une structure est un enregistrement qui contient un ensemble d'objets fixe et étiqueté, tous enveloppés en un. Par exemple:

structure Customer Int compte; nom char *; balance flottante; ;

Citant Wikipedia, «En C ++, un structure est une classe définie avec le structure mot-clé. Ses membres et ses cours de base sont publics par défaut. Une classe définie avec le classe Le mot-clé a des membres privés et des cours de base par défaut. C'est la seule différence entre les structures et les classes en C++.". Dans Perl jusqu'à la version 5, les structures étaient un problème (ou son absence), mais maintenant il y a permanent (Perl Data Structures Cookbook), disponible sur Perldoc.org. Dans Python, vous pouvez toujours (enfin, presque) utiliser des tuples ou des dictionnaires pour cela.

Y compris les fichiers

Comme vous l'avez vu dans la première partie, en C, l'on utilise des directives de préprocesseur pour inclure les définitions d'autres fichiers. Cette fonctionnalité est également offerte par C ++, avec la même syntaxe, sauf que les fichiers d'en-tête sont nommés Nom.HPP et que vous n'avez pas besoin de l'extension de fichier:

#inclure 

Iostream est l'équivalent C ++ de STdio.H. À Perl, nous avons le utiliser mot-clé pour cela, et peut être utilisé comme ceci:

utiliser Module;

Dans Python, l'équivalent d'utilisation est importer, Utilisé exactement de la même manière que dans Perl, sauf qu'il ne nécessite pas de point-virgule à la fin.

Autres considérations

Beaucoup d'entre vous ont remarqué que toutes les langues choisies pour notre comparaison sont orientées objet, tandis que C n'est pas. Ce n'est pas une comparaison injuste, car si nous aurions choisi Fortran ou Prolog comme termes de comparaison, il est probable que de nombreux programmeurs n'utilisent pas ces langues, que notre article n'aurait pas été très populaire. D'un autre côté, nous avons pensé à cela comme un moyen de se mouiller les pieds, car l'habitude fait partie de la nature humaine et si vous avez utilisé une ou plusieurs de ces langues, ce sera plus facile pour vous lorsque vous commencez à apprendre C. Donc, cette partie de l'article est destinée à un coup de main et si nous avons réussi à le faire, c'est bien.

C et C++

Certains d'entre vous se demandent peut-être: si C ++ est si similaire à C, mais il est plus complexe et offre plus, pourquoi s'embêter avec C? Cela a été un sujet abordé plus qu'il n'aurait dû l'être, et nous essaierons de donner une réponse à nous. Tout d'abord, C est plus simple. K&R a 266 pages, tandis que «le langage de programmation C ++» par le créateur, Bjarne Stroustrup, en a 1090. 'Nuff a dit. Deuxièmement, code existant. Quelle que soit l'architecture matérielle, le système d'exploitation ou le but, C est répandu et ensuite certains. Des grains d'OS aux bibliothèques GUI, C est là et n'a aucune intention de partir nulle part. Cela ne veut pas dire que C ++ n'est pas utilisé par de nombreux développeurs. Nous disons simplement que tôt ou tard, vous vous retrouverez à travailler avec C Code ou à utiliser une langue influencée par elle, donc la connaissance C est toujours belle sur un CV. Troisièmement, si vous voulez apprendre C et C ++, vous feriez mieux de commencer par C, en raison de sa simplicité «susmentionnée et parce qu'une fois que vous aurez les bases, C ++ sera plus facile à apprendre. Enfin, tout dépend du bon outil pour le travail. Si vous avez besoin de code rapide, la possibilité d'aller de bas niveau et une langue simple, optez pour C.

Conclusion

Après cette deuxième partie de cet article, nous commencerons à apprendre la programmation C sur Linux, car nous pensons que trop de parties d'introduction n'ont aucun sens. Nous serons heureux de vous aider là-bas.

Voici ce à quoi vous pouvez vous attendre ensuite:

  • je. C Développement sur Linux - Introduction
  • Ii. Comparaison entre C et d'autres langages de programmation
  • III. Types, opérateurs, variables
  • Iv. Contrôle de flux
  • V. Les fonctions
  • Vi. Pointeurs et tableaux
  • Vii. Structure
  • Viii. E / S de base
  • Ix. Style de codage et recommandations
  • X. Construire un programme
  • Xi. Emballage pour Debian et Fedora
  • Xii. Obtenir un forfait dans les référentiels officiels Debian

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Meilleur lecteur PDF pour Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Choses à installer sur Ubuntu 22.04
  • Comment installer Adobe Acrobat Reader sur Ubuntu 22.04 Jammy…
  • Introduction à Vagrant
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Ubuntu 20.04 Guide
  • Système linux hung? Comment s'échapper vers la ligne de commande et…