Pour bâtir des applications mobiles, Windows, de Machine Learning ou autres, les développeurs en C ++ ont généralement recours à plusieurs bibliothèques. Toutes, évidemment, ne se valent pas. Alors que certaines sont génériques, d’autres sont plutôt spécialisées. Quelles sont les meilleures bibliothèques pour la programmation en C ++ ? La réponse avec Ralph Kattan, informaticien à Genève.

C ++, plus de 40 ans de services

C ++ est un langage de programmation destiné à un usage général qui a été créé en 1979. Sa longévité est donc exceptionnelle, réussissant à se maintenir dans les rangs des meilleurs langages de programmation sur plusieurs indices de popularité. Ce succès s’explique, en partie, par sa facilité d’utilisation grâce aux IDE (éditeurs d’environnements de développement), aux compilateurs, aux frameworks ou encore aux outils de qualité de code. Pour monsieur Ralph Kattan, son autre avantage réside dans le fait qu’il met à disposition des développeurs de logiciels de nombreuses bibliothèques pour la création des applications en C ++. Dans la suite, nous allons vous présenter quelques-unes des meilleures d’entre elles.

Active Template Library (ATL)

Développé par Microsoft, ATL sert à bâtir des objets « Common Object Model » (COM), avec le support de fonctionnalités COM comme les interfaces double, les points de contrôles ActiveX, mais aussi les interfaces énumérateurs COM standards. Notons par ailleurs qu’Active Template Library est disponible avec l’IDE Visual Studio, et il peut être utilisé pour concevoir plusieurs objets, notamment des objets de modèle cloisonné et à thread libre, des objets de modèle Apartment…

Cinder

Open source, cette bibliothèque destinée au « creative coding » permet de développer des applications audio, graphiques et vidéo, en plus d’être utilisée pour la géométrie algorithmique. Cinder dispose d’une API intégrée qui permet l’analyse syntaxique XML et JSON, et prend en charge de façon native le fenêtrage et la gestion des événements ainsi que l’abstraction I/O.

Asio C ++ Library

Asio C ++ Library apporte un modèle asynchrone cohérent, c’est pourquoi il est utilisé pour le réseau et pour la programmation de bas niveau sur les entrées/sorties. Cette bibliothèque est également utilisée pour des applications mobiles et sites web hautement interactifs, ou encore pour des systèmes de transactions en temps réel. La raison à cela réside dans le fait qu’Asio fournit les éléments de base pour la simultanéité, la mise en réseau C ++ et autres types d’I/O. Notons que cette bibliothèque est disponible en open source sous licence Boost Software et supportée sur Linux, Windows, MacOS et FreeBSD. A toute fin utile, sachez qu’Asio est utilisé dans des projets comme la bibliothèque WebSocketPP et le débogueur à distance DDT3.

OpenCV

Open Source Computer Vision Library est une bibliothèque de vision par ordinateur et de Machine Learning, écrite nativement en C ++. OpenCV, disponible sous licence BSD, a été construite pour mettre à disposition des développeurs une architecture commune aux applications de computer vision. Cette bibliothèque a réussi à réunir une communauté de près de 50 000 utilisateurs, grâce à ses 2 500 algorithmes. Ces derniers sont optimisés, entre autres, pour la reconnaissance faciale, la recherche d’images, l’extraction de modèles 3D…