2010-06-20 10 views
9

Existen sitios web como colecciones de bibliotecas python/perl/R. ¿Por qué no hay un equivalente para c?¿Por qué no hay una red completa de archivos c?

Busqué en Internet y solo encontré un pequeño sitio web que se llama a sí mismo CCAN. Solo hay unas pocas bibliotecas en ese sitio web.

Si necesito bibliotecas adicionales para la programación c, ¿dónde puedo encontrarlas? ¿Hay un sitio web bien organizado de las bibliotecas c?

Gracias.

+3

más que mirar más profundamente en su repositorio distribución de Linux, las bibliotecas c acechan en ese país. –

+0

Es mucho más fácil encontrar buenas bibliotecas C si sabes lo que quieres. ¿Qué tipo de biblioteca estás buscando? –

Respuesta

8

Si necesito bibliotecas adicionales para la programación c, ¿dónde puedo encontrarlas? ¿Hay un sitio web bien organizado de las bibliotecas c?

No me conoce fuera de CCAN.

El problema aquí es que C no tiene ninguna especificación aún floja para las bibliotecas. Compare eso con, por ejemplo, paquetes en Java o Python o Perl.

Y aun así, C es un hueso bastante simple que deja muchas cosas para que las bibliotecas implementen ellas mismas. Abstracción de E/S, administración de memoria, multi-threading, integración de sistema operativo: las pequeñas diferencias en cómo funcionan las bibliotecas con cualquiera de los recursos pueden hacer que sean incompatibles, evitando que se utilicen en el mismo proyecto.

He visto en el pasado algunas bibliotecas comerciales de terceros para C, que cubren una gran cantidad de funcionalidades, pero francamente no puedo recomendarlas y honestamente ni siquiera recuerdo sus nombres, porque a menudo causaban más problemas de los que realmente ración. (OK, estoy mintiendo: eran raramente causando irresolubles problemas:. Es las numerosas soluciones, que estaban causando a menudo los problemas más adelante)

De lo contrario, para C es posible que desee comprobar la Glib y (hacer no me malinterprete) para verificar también el estándar C, ya que en mi experiencia, pocos conocen realmente muchas de las utilidades que ya están en la biblioteca estándar. Y bueno, Google es tu amigo: hay un montón de código de dominio público para que simplemente lo lances como está en tu proyecto.

-1

¿Por qué necesita un sitio web para una colección de bibliotecas de C? Solo usa Google.

+8

A veces Google no es tan efectivo para esta tarea, porque 'c' es solo una letra? – Jfly

+1

Use http://code.google.com – progrmr

+1

@progmr: code.google.com es actualmente bueno para navegar cosas alojadas en code.google.com, pero inútil para el montón de otras bibliotecas de C que hay. Intenta buscar "xerces api" en code.google.com, y verás a qué me refiero. @Luca: Google es bueno para encontrar una biblioteca específica, pero no tan útil para explorar bibliotecas. –

6

No conozco a nadie que haya estudiado esto en detalle, aunque me gustaría ver los estudios. Estoy seguro de que tiene que ver con la naturaleza de la propia comunidad de programación C.

Creo que una parte grande (tal vez la principal?) De la respuesta es: antes de la WWW, no existía un solo recurso para obtener bibliotecas para un idioma en particular. Las personas obtuvieron sus bibliotecas y su conocimiento de las bibliotecas a través de diferentes medios: a través de BBS, listas de correo, grupos de noticias y publicaciones periódicas. La comunidad C data de esta época, por supuesto, y he notado una diferencia similar en la cultura con respecto a otros idiomas de este período y anteriores.

Creo que otra parte de la respuesta tiene que ver con la descentralización general de la cultura C en sí. No hay un solo compilador de C, ninguna comunidad de desarrollo de C, que sirva como un centro y un punto potencial para que los proyectos se adhieran. Y la comunidad de desarrollo de C es enorme, que impulsa aún más esta descentralización y astillamiento.

En el caso de las bibliotecas C, las distribuciones de SO realmente hacen un buen trabajo recopilando bibliotecas C/C++ útiles. (Con la desafortunada excepción de Windows, creo.) Hacen un mejor trabajo en estos lenguajes que la mayoría de los demás, probablemente porque C y C++ son lenguajes de sistemas tan importantes en estas plataformas.

En cuanto a CCAN, creo que lo que haría que un proyecto más valioso, dado el número de diferentes distribuidores de código C, sea tener un único sitio que vincule con las distintas bibliotecas en sus propios sitios nativos, en lugar de tratar de que suban directamente a CCAN. Creo que hay un uso para esto en y aparte de Google, que le dará mucho ruido si intenta simplemente buscar bibliotecas. La pregunta es, ¿usted y la mayoría de las comunidades C abrazarían ese sitio si existiera?

Usted puede ser divertido para ver cómo CPAN tiene su inicio: http://www.brainbell.com/tutors/Perl/CPAN_History.htm

CPAN evolucionado al igual que su comunidad lo hizo. Entonces, lo mismo podría suceder en el mundo C/C++ si el liderazgo y el interés están ahí. Pero aún no ha sucedido.

2

uso http://www.google.com/codesearch?q=lang:%22C%22 variante de http://www.google.com/codesearch

=> es decir, añadir lang:"C" en la consulta de búsqueda

+2

Me mantendría alejado de eso. Hace un tiempo busqué la búsqueda de código Google para implementaciones UTF-8, solo como una encuesta/comparación, y entre las 20 o más que revisé, ninguna fue correcta. Todos violaron las especificaciones de varias maneras, y la mitad o más tuvieron errores importantes que podrían generar vulnerabilidades o problemas de usabilidad. –

0

No es un sistema de depósito y la gestión de la dependencia Maven, llamado Biicode.
No hay una gran colección de bibliotecas allí todavía, pero puede agregar las bifurcaciones de proyectos de código abierto usted mismo o informar a los autores originales al respecto.

EDIT: la compañía detrás de biicode is dead

Edit2: el sucesor espiritual parece ser conan.io

Cuestiones relacionadas