Votre langage de programmation est le meilleur ? Tous les utilisateurs du langage de programmation XXX sont des chochottes de débutants intellectuels masochistes illettrés antidéluviens enfermés dans leur Tour d'Ivoire et qui font rien qu'à parler en SMS ?
Il est temps de le prouver !
Les Défis des Trolls
Il s'agit d'une suite de défis. Des tâches difficiles mais pas impossibles, à accomplir dans votre langage de programmation favori.
Nature
Des problèmes quelconques, possibles à résoudre dans n'importe quel langage de programmation, mais pas faciles. Il peut s'agir de casse-têtes, d'utilitaires, de jeux... Les difficultés ne doivent pas être liées à l'utilisation d'un outil particulier qui s'avère inadapté pour un langage, mais à au problème lui-même. En particulier, cela signifie pas de développements de modules noyau ou de drivers (oui, tout le monde est d'accord que C est le seul langage pour cette tâche précise), pas d'extensions de .Net (ce qui restreint artificiellement le champ des langages à C#, F#, Java, Python et JavaScript), ou JVM, etc.
Outils autorisés
Les critères principaux :
- rien de précis n'est interdit
- programmez comme si vous deviez livrer ce code
- vous devez être fiers de votre code
- n'utilisez que des outils open-source.
Un troll utilisant une bibliothèque qui contient une fonction qui répond directement au défi s'exposera à des attaques personnelles sur la couleur de ses slips.
Critères de jugement
Par ordre approximatif :
- le programme doit compiler sur l'ordinateur de Georges, sans que Georges ait trop à se casser la tête
- le programme doit fonctionner sur l'ordinateur de Georges
- le programme doit faire ce qui est demandé par l'énoncé, même s'il est sur l'ordinateur de Georges
- le programme doit être portable
- le programme ne doit pas avoir de faille de sécurité
- le programme doit tourner plus vite que ses concurrents
- le programme doit utiliser moins de mémoire vive que ses concurrents
- si le programme dispose d'une interface graphique, celle-ci doit être compréhensible
- si le programme fait des entrées/sorties texte, celles-ci doivent être compréhensibles
- nombre de lignes de code hors commentaires, Makefile et autoconf y compris.
Qui propose les défis ?
Les trolls, c'est-à-dire les gens qui vont chercher à les résoudre
Qui juge ?
Personne de précis.
Combien de temps ?
Pas de limite de temps. Les trolls ayant terminé leurs programmes sont autorisés à insulter ceux qui n'ont pas encore fini, pendant autant de temps que nécessaire -- ou jusqu'à l'abandon du défi par le troll admettant sa défaite, auxquels cas les insultes se muteront en quolibets.
On commence quand ?
Regardons la ListeDesTrolls.
Et tout de suite, un PremierDefi.