Choisir un langage pour apprendre la programmation
Arthur Charguéraud
Pourquoi un langage
Nous vous proposons d'apprendre à programmer. Vous n'avez pas besoin de connaissances préalables
particulières, et pouvez commencer immédiatement. Nous faisons tout notre possible pour que vous puissiez progresser aussi
rapidement que possible et de manière entièrement autonome. Ce qui ne vous empêche en rien de poser des questions
lorsque vous en aurez.
Pour programmer, on utilise un langage de programmation. C'est la langue dans laquelle
on explique à l'ordinateur ce qu'il faut qu'il fasse. Il existe des centaines de langages
différents, qui sont chacun plus ou moins adaptés pour différentes tâches.
Rassurez-vous, les langages se ressemblent souvent beaucoup au niveau de la logique,
et une fois que l'on connaît un langage, il est facile d'en apprendre d'autres.
En effet, contrairement aux langues comme le français ou l'anglais, les langages de programmation
sont formés de très peu de mots et de règles de grammaire et la principale difficulté est de comprendre
la logique de fonctionnement de la programmation en général.
Ecrire ses programmes dans le langage que comprend directement l'ordinateur est extrèmement
pénible. On part donc de la description en Français de ce que l'on veut
faire, et on le traduit dans un langage de programmation intermédiaire entre le Français et le langage
machine. Un programme appelé compilateur traduit alors ce langage de programmation en langage
machine, pour fabriquer le programme voulu.
Les cours proposés
France-IOI a sélectionné deux langages qui sont adaptés pour l'algorithmique.
Si vous ne savez pas ce qu'est l'algorithmique,
voyez cela comme la partie intelligente des programmes.
Deux cours vous sont donc proposés : un en OCAML (lire "O camèle"), et un autre en C :
- le cours de programmation en OCAML, écrit par Arthur Charguéraud.
- le cours de programmation en C, par Mathias Hiron, inspiré du cours précédent.
Les deux cours suivent la même pédagogie et globalement, le même ordre de présentation.
Remarque : vous entendrez souvent "CAML" à la place de "OCAML".
Lequel choisir
Le choix d'un langage de programmation n'est pas facile, chacun a ses spécificités et correspond mieux à certains types d'utilisations, ou tout simplement à certaines personnes.
Pour faire votre choix entre C et Caml, nous vous conseillons de prendre en compte les critères suivants :
- ce que vous voulez programmer ensuite,
- votre façon de voir les choses : plutôt abstraite, ou plutôt concrète,
- les compétences des gens qui peuvent vous aider.
Voici quelques points qui peuvent vous aider à vous décider :
- Tout programme peut s'écrire en Caml ou en C, avec des performances parfois un peu moins bonnes pour le Caml.
- Le C est l'un des langages proposés aux Olympiades Internationales d'Informatique, mais pas Caml.
- Etant plus répandu, le C peut interagir plus facilement avec le système d'exploitation, par exemple pour faire du graphisme ou accéder au réseau.
- Le C a une syntaxe assez proche des langages PHP et Java, très utiles en particulier pour le développement d'applications Web.
- Le Caml est un langage assez abstrait, naturel à utiliser par ceux qui aiment les mathématiques, tandis que le C est plus proche des principes de fonctionnement du microprocesseur de votre ordinateur.
- Caml permet d'écrire les programmes plus courts et plus simples que le C, ce dernier demandant de faire attention à plus de détails techniques.
- Caml peut s'apprendre plus rapidement, car il contient moins d'éléments.
Si des gens peuvent vous donner des conseils et répondre à vos questions
à propos d'un langage donné, cela peut vous aider à progresser un peu plus vite,
même si la programmation est quelque chose qui s'apprend beaucoup par l'expérience personnelle.
Conclusion
Nous vous invitons à survoler les deux cours, pour voir à quoi ressemblent les langages OCAML et C. Choississez alors en fonction des points détaillés précédement. N'oubliez pas de prendre en compte le fait que lorsque vous aurez fini l'un des deux cours, vous pourrez terminer l'autre en beaucoup moins de temps que le premier. Plus tard, lorsque vous connaîtrez CAML et C, il vous sera facile d'apprendre la plupart des autres langages de programmation, si vous en avez le besoin un jour.
|