¿Recomendaría utilizar “La biblioteca de colección genérica C5 para C# y CLI” según su experiencia con ella?

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

  •  09-06-2019
  •  | 
  •  

Pregunta

Esta biblioteca de colección gratuita proviene de la Universidad IT de Copenhague.

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

Hay un video con uno de los autores en Canal 9.Estoy tratando de aprender a usar estas colecciones y me preguntaba si alguien tiene más experiencia o qué piensa sobre esta biblioteca de colección específica para .NET.¿Te gusta la forma en que están diseñados, te gusta su rendimiento y cuáles fueron tus principales problemas con ellos?

¿Fue útil?

Solución

Lo he usado en el pasado y hay un par de notas que debo hacer:

  1. La biblioteca es muy buena, muy rápida y muy útil.Tiene muchas estructuras de datos muy interesantes, algunas de las cuales no conocía antes de empezar a utilizar esta biblioteca.
  2. ¡Es de código abierto!Este es un gran beneficio.
  3. A veces no tienes exactamente lo que quieres.Según mi experiencia, los autores de la biblioteca decidieron adoptar una actitud muy intolerante a los fallos, haciendo excepciones en todo.Esto me hizo agregar algunos métodos tolerantes a fallas.

Considerándolo todo, una biblioteca muy bonita con algunas estructuras de datos avanzadas.Desafortunadamente, hay mucha falta de soporte, como se puede ver por el hecho de que las nuevas versiones (correcciones de errores, etc.) oscilan entre 6 meses y un año.

Nota: A partir de Mono 2.0, C5 es incluido como una API de terceros, lo que creo que es una maravillosa muestra de fe en el producto por parte del equipo de Mono.

Otros consejos

He estado usando la biblioteca C5 por un tiempo y con mucho éxito.Encuentro que C5 ofrece grandes beneficios en la programación para la interfaz.Por ejemplo, en System.Collections.Generic, el IList La interfaz no ofrece todas las funciones del ArrayList y LinkedList implementaciones.Por el contrario, en C5, puede acceder a todas las funciones del ArrayList y LinkedList con solo sostener un C5.IList.

Además, los autores originales tuvieron mucho cuidado en documentar la velocidad asintótica de muchas operaciones críticas, como el recuento de colecciones, la contenido y la indexación.La biblioteca utiliza internamente estas propiedades al realizar operaciones entre colecciones para determinar qué colección sería más rápida como "actor".

Además, aunque hace tiempo que no se actualiza, el libro de documentación de C5 es un recurso sorprendente que proporciona documentación clara sobre la biblioteca.

Además de los puntos de omer van kloeten.

La licencia de código abierto es MIT (comparable a la licencia BSD), lo que significa que si necesita realizar cambios en la biblioteca, no es necesario que los cambios sean de código abierto.(Esto podría ser un problema con algunas empresas).Para licencias tipo GPL esto puede ser un problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top