Recommanderiez-vous d'utiliser « La bibliothèque de collections génériques C5 pour C# et CLI » en fonction de votre expérience ?

StackOverflow https://stackoverflow.com/questions/47432

  •  09-06-2019
  •  | 
  •  

Question

Cette bibliothèque de collection gratuite provient de l'Université informatique de Copenhague.

http://www.itu.dk/research/c5/

Il y a une vidéo avec l'un des auteurs sur Channel 9.J'essaie d'apprendre à utiliser ces collections et je me demandais si quelqu'un avait plus d'expériences ou que pensez-vous de cette bibliothèque de collections spécifique pour .NET.Aimez-vous la façon dont ils sont conçus, aimez-vous leurs performances et quels ont été vos principaux problèmes avec eux ?

Était-ce utile?

La solution

Je l'ai utilisé dans le passé et je dois prendre quelques notes :

  1. La bibliothèque est très bonne, très rapide et très utile.Il contient de nombreuses structures de données très intéressantes, dont certaines que je ne connaissais pas avant de commencer à utiliser cette bibliothèque.
  2. C'est Open Source !C’est un énorme avantage.
  3. Parfois, vous n'avez pas exactement ce que vous voulez.D'après mon expérience, les auteurs de la bibliothèque ont décidé d'adopter une attitude très intolérante aux fautes, en lançant des exceptions pour tout.Cela m'a amené à ajouter quelques méthodes tolérantes aux pannes.

Dans l’ensemble, une très belle bibliothèque avec des structures de données avancées.Malheureusement, sa prise en charge fait très défaut, comme le montre le fait que les nouvelles versions (corrections de bugs, etc.) durent entre 6 mois et un an.

Note: À partir de Mono 2.0, C5 est fourni en tant qu'API tierce, ce que je crois être une merveilleuse démonstration de confiance dans le produit de l'équipe Mono.

Autres conseils

J'utilise la bibliothèque C5 depuis un moment maintenant, et avec beaucoup de succès.Je trouve que C5 offre un grand avantage en matière de programmation d'interface.Par exemple, dans System.Collections.Generic, le IList l'interface n'offre pas toutes les fonctionnalités du ArrayList et LinkedList mises en œuvre.A l’inverse, dans C5, vous pouvez accéder à toutes les fonctionnalités du ArrayList et LinkedList juste en tenant un C5.IList.

De plus, les auteurs originaux ont pris grand soin de documenter la vitesse asymptotique de nombreuses opérations critiques, telles que le décompte des collections, le contenu et l'indexation.La bibliothèque utilise ces propriétés en interne lors d'opérations entre des collections pour déterminer quelle collection serait plus rapide en tant qu'« acteur ».

De plus, bien qu'il n'ait pas été mis à jour depuis un certain temps, le livre de documentation C5 est une ressource étonnante qui fournit une documentation claire sur la bibliothèque.

En plus de cela, les points d'Omer van Kloeten.

La licence open source est MIT (comparable à la licence BSD), cela signifie que si vous devez apporter des modifications à la bibliothèque, vous n'êtes pas obligé d'ouvrir les modifications en source.(cela pourrait être un problème avec certaines entreprises).Pour les licences de type GPL, cela peut poser problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top