Technologies

 

Le cœur de nos technologies se fonde sur un langage de développement puissant, lui assurant une efficacité et performance inégalées. Les langages évolués sont faciles à utiliser, mais sont pénalisés d’une lourdeur à l’exécution. Par contre, les langages machine se montrent très éprouvants, mais bénéficient d’une rapidité à l’exécution.

C++ est donc le langage par excellence pour les développeurs, étant donné que c’est un langage de haut niveau assez proche de la machine. De plus, le VC++/CLI associe à la fois la puissance d’un langage expressif et sans ambiguïté, l'élégance et la simplicité offerte par le Framework DotNet de MicroSoft ®.

Les soins minutieux disposés par les ingénieurs de qualité de MlgSoftE pendant la conception, sont transcrits explicitement à travers VC++/CLI pour une meilleure gestion des codes produits et constituent une base de génie logiciel solide et robuste, mais à la fois extensible pour une convivialité impressionnante.

 


Bien que DotNet de Microsoft® soit une plateforme de technologies complète offrant une abstraction simple à manipuler, son efficacité laisse parfois à désirer dans certain projet qui nécessite des logiques plus proches du système d’exploitation ou du matériel. Durant le projet « MlgSoftE® Fanorona », jeu de société d’origine malagasy, nous en avons fait l’expérience. Nous avons conclu que pour manipuler directement de la mémoire, allocations et désallocations dynamiques, rien n’est comparable au bon vieux langage C++, qui garantie en plus une performance inégalée en temps d’exécution pendant la génération des arbres de jeu.

Certes, les mémoires allouées en DotNet restent quelque temps dans la machine virtuelle avant que le ramasse-miette ne les efface définitivement. D’ailleurs, cette tâche étant transparente à l’utilisateur, le revers de la médaille montre sa face quand on commence à accumuler des allocations et qu’on ignore quand est-ce qu’elles seront réellement libérées du système d’exploitation. Le désastre touche à son comble pendant la génération des arbres des jeux pour trouver le meilleur coup au jeu de Fanorona, quand la mémoire utilisée avoisine le 1 giga d’octets après quelques coups seulement et fait ainsi ramer la machine affreusement.

Rappelons-nous que le code managé en DotNet passe encore à travers une machine virtuelle qui l’exécute comme un interpréteur de langage avant d’atteindre directement le système d’exploitation et enfin le matériel (les processeurs). Cet assez long chemin explique ostensiblement les petites lenteurs à l’exécution pour certains projets délicats nécessitant un temps de réponse minimal.

Quoi qu’il en soit, le temps n’est plus à l’ère des premiers pionniers en informatique où l’on est obligé de développer tout à partir de rien. Ce qui nous entraine à choisir le C++ et le VC++/CLI comme principales technologies au cœur de nos produits.