L'écriture d'algorithmes efficaces est une des parties nobles du développement de logiciels. Nous abordons ce domaine compliqué avec quelques notions simples.
Un algorithme énonce la solution à un problème sous la forme d'une série d'opérations à effectuer. L'idée n'est pas très récente. Les babyloniens utilisaient déjà des algorithmes (c.f. Ressources à consulter sur le site). L'algorithmique a été systématisée par le mathématicien perse arabophone Al Khuwarizmi (IXe siècle). Au XIIe siècle, un moine, Abélard de Bath, a introduit le terme algorismus, qui est censé être une déformation du nom Al Khuwarizmi. Le terme évoluera ensuite en algorithme au cours du XVIe siècle. En 1637, René Descartes, dans son discours de la méthode propose de "diviser chacune des difficultés que j'examinerois, en autant de parcelles qu'il se pourroit, et qu'il seroit requis pour les mieux résoudre." Nous avons là une méthode logique de résolution d'un problème donné, quasiment un ... programme. Nul doute que Descartes eut été heureux de disposer d'un PC ;-)