|
En informatique, pas d'intégrisme ! Faites l'expérience,
elle est amusante : prétendez que vous avez un système informatique
à réaliser d'ici peu, et que vous devez choisir votre plate-forme
technologique. N'oubliez pas de préciser que ce système n'est pas
" autiste ", et qu'en conséquence, il doit s'intégrer
à un existant. Vous obtiendrez alors des réponses assez diverses.
Et force est de constater que chacun défend sa chapelle. Le meilleur
exemple est celui du passionné dogmatique.
Pour lui, une seule plate-forme, un seul compilateur, un seul langage
permettent de tout faire. Au choix, vous allez donc avoir Gnu/Linux/C,
Windows/Delphi ou Windows/C++, VMS/C, Java, ou plus grave : Smalltalk
ou LISP. Les plus extrêmes ne connaissent que leur plate-forme de
référence, et dénigrent sans objet l'ensemble de ce qui vient de
l'extérieur. Fort heureusement, ils sont aisément détectable car
ils estiment que tout ce qui n'est pas avec eux est contre eux.
Dans les faits, la situation est tout autre. Les traders que j'ai
rencontré exigeaient - entre autres - d'avoir un temps de réponse
qui soit optimal. Les marchés n'attendent pas, parfois même quelques
secondes. Pour peu qu'ils aient quelques notions d'informatique,
il y a fort à parier qu'ils demanderaient un langage compilé (C/C++,
Delphi), si possible sur une plate-forme fiable.
Discutez quelques minutes avec les personnes en charge de la production
d'une salle des marchés, c'est à dire de la bonne marche de votre
application au jour le jour. L'un des critères fondamentaux est
que vous devez vous insérer dans leurs habitudes, et ne pas leur
imposer des formations lourdes. Votre application doit être simple
à relancer en cas de problème, elle doit fonctionner sur l'existant,
et s'intégrer aisément aux procédures pré-établies. Donc, il vous
conseillera les plate-formes existantes et connues.
A priori, vous avez un budget. Et celui-ci peut être dépensé en
matériel et en jours-hommes. Le matériel est encore assez aisé à
cerner. Mais le temps de développement ? L'un des critères que vous
dictera votre hiérarchie est ce temps qui vous sera nécessaire.
Vous pouvez probablement tout programmer en C. Ce sera probablement
efficace à l'exécution. Mais le temps que vous y arriviez, les concurrents
auront déjà mis sur le marché deux versions de leur logiciel réalisés
en Delphi.
D'autre part, l'investissement réalisé devra vivre, donc être maintenu.
Par d'autres que vous. Vous pouvez être un génie dans un langage
obscur performant (Objective C), et programmer ainsi des outils
très efficaces. A votre départ, votre travail risque fort de mourir
au premier bug découvert !
Alors qu'allez vous choisir,
et quels critères prendrez vous en compte ? L'intégration à l'existant,
le temps de développement, la maintenance future, la fiabilité,
la performance, les ressources humaines disponibles ?
Il se pourrait bien qu'un choix efficace consiste à toutes les prendre
en compte !
|