为什么.NET没有像CPAN一样的东西?

3

CPAN是Perl语言的一个非常有用的资源。

为什么.NET没有类似于CPAN的东西?是否应该有一个呢?还有其他编程或平台技术是否有类似于CPAN的基础架构?


编辑
没有人提到这一点:难道不是“综合基类库”(BCL)包含在.NET中是您不希望看到类似于CPAN的东西的关键原因之一吗?我的意思是,有关XML、HTTP、加密等的Perl库都已经内置在BCL中。除了已经内置的FTP库之外,没有人需要另一个FTP库。

相关文章:PHP是否有类似于CPAN的东西?


5
CPAN是一个网络工具,可以自动下载和构建所需的库及其所有前置依赖项。Codeplex是一个开源项目管理网站,但它不像CPAN提供配置和软件包管理功能。 - Cheeso
好的,那么像微软的Web平台安装程序这样的东西怎么样?它可以自动下载和配置IIS、SQL Server Express、PHP以及几个内容管理系统。虽然它不像CPAN那样开放,但我想主要项目可以被添加到列表中。 - Ankur Goel
2
CPAN 不仅是一个下载模块的地方,它还有更多 - 讨论、评论、测试结果、依赖列表等等。 - Alexandr Ciornii
1
我认为CPAN就像是一个......综合性的网络,存放着Perl档案。好吧,我试图搞笑,但我的观点是,我并不认为它是一个社区或社交网络。当然,依赖列表是系统内在价值的关键之一。 - Cheeso
Web平台安装程序是一个小工具,某种程度上类似于CPAN中的想法。 - Cheeso
4个回答

7

类似的还有TeX的CTAN和JavaScript的JSAN。JSAN仍在开发中。Perl社区计划为C语言创建CPAN。同时,计划中的C6AN将拥有任何语言的模块,这些模块将存在于Parrot VM上。

我想CPAN及其相关网站之所以成功,是因为它们是由Perl社区编写的,而Perl非常适合这样的任务。此外,CPAN模块使用Perl测试导向-这就是为什么CPAN模块通常具有良好的质量。对许多Perl程序员来说,CPAN也是一种爱好,而这些程序员都非常优秀。


截至2011年5月,JSAN似乎已经停滞不前:最近的更新是“393天前”。 - knb

3

由于.NET的本质限制,它只能在一个平台上使用,而且与Perl一样没有与开源/自由软件紧密联系。作为微软产品,.NET从一开始就得到了重大的企业支持,这是Perl所没有的。CPAN必须由志愿者创建。虽然.NET支持结构可以由志愿者创建,但很多事情并不需要这样做。而且这些现有的企业支持结构消耗了可以被自下而上的志愿者社区利用的精力,并同时通过表明它不需要来抑制它。

微软正在努力建立更多的草根社区支持,但如果成功,这将是一个漫长的过程。


1
我认为你的观察是很合理的 - Perl是由志愿者创建的,而.NET是一家公司的努力。而且,Perl背后的有机、社区驱动的工程努力自然会导致像CPAN这样的东西,而在.NET中就没有那么多意义了,因为微软本身已经发布了一个相当全面的基础类库。 - Cheeso
谢谢,Cheeso——比我的冗长更简洁! - Michael Paulukonis

1

(更新 修正了我的讽刺语气并尝试解释我的立场。)

为什么没有一个这样的网站呢?嗯,这是我的猜测

  1. 没有人写过。问问自己,为什么你没有写过呢?我相信你的原因与我的原因不同。事实上,没有人做过这件事只是说明价值主张还不够大。为什么不够大?这取决于个人的价值观(你的价值观和我的肯定不同)。

    但是社区没有任何阻碍。建立一个服务器。找到所有大厂商。与他们签订合同。创建和维护网站。进行广告交易。雇用网站设计师获得Web2的外观和感觉。如果成功了,那就成为你的工作。如果不受欢迎,那么你最好喜欢为没有报酬的空置社区提供服务。

  2. 这是一项工作。免费的语言和框架有这些类型的存储库来推广核心语言或框架。但是微软推广.NET。大多数组件都是付费的,为什么我要自愿花费我的时间来推广他们的产品?也许是为了促进更大的公共利益?


1
没有人写过这个。非常敏锐。但是为什么? - Cheeso
4
可能是因为.NET 在企业使用中很受欢迎,开发人员不知道有社区存在,即使知道,法务团队也会拒绝贡献。他们还认为“免费等于不好”。 - jrockway

0

我认为应该有一个 - 这将节省我很多配置麻烦。我也来自UNIX背景,所以这会让我的生活更轻松。

有一个类似于Linux上的APT/RPM的.NET软件包管理器,可以下载开源库,但我找不到它。

编辑:感谢评论中的Erik van Brakel,该程序是Horn


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接