Voici sa liste sur des idées qui seraient, selon lui, vraiment utiles et importantes dans ce domaine :
- une programmation structurée ;
- Unix et sa philosophie correspondante ;
- les transactions de base de données ;
- les bases de données relationnelles ;
- l'interface utilisateur ;
- les tests de logiciel ;
- les structures les plus élémentaires des données (la table de hachage, les arbres) et une poignée d'algorithmes de base à l'instar de Quicksort;
- le chiffrement à clé publique et le hachage cryptographique ;
- un langage de programmation de haut niveau ;
- un contrôle des versions.
« Bien entendu, vous pouvez avancer que j'ai omis beaucoup de choses importantes. Peut-être que vous pensez que la programmation fonctionnelle et orientée objet est essentielle. Peut-être que vous pensez que je devrais inclure l'analyse de la complexité, JavaScript, XML. On peut avoir un débat sans fin ... mais j'essaie de le réduire à une liste sans controverse. En fait, je voudrais proposer des idées clés qui seront universellement reconnues comme étant utiles ».
En d’autres termes, essayez de vous mettre dans la situation où vous êtes en présence d’un « maître de la programmation logiciel » : qu’est-ce qu’il va sûrement recommander à un enfant qui voudrait devenir un développeur ? La liste est totalement ouverte à vos suggestions.
Source : blog de Daniel Lemire
Et vous :
Que pensez-vous des éléments de la liste de Daniel Lemire ? Voudriez vous en modifiez un ou plusieurs ? Lesquels et pourquoi ?
Si vous deviez compléter la liste, quelles pratiques considérez-vous comme indispensables en matière de programmation ?