继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Julia 小白 Day 10: 如何科学的找程序包

慕标5832272
关注TA
已关注
手记 1251
粉丝 231
获赞 1002

由于休假原因,这是笔者第一次完全在手机上写作。所以接下来看到的截屏都是手机界面。

我们现在学习好多的语言,不管是Python、R还是Julia,小白们都会面临一个巨大的挑战:就是哪里去找到合适的程序包,来完成要做的事情。或者是怎么去找到一些程序包来进行学习?

为什么要找程序包?
牛人实现过的功能可以直接拿过来用,不需要自己从零开始开发。
笔者把程序包比作乐高积木,你可以把不同的乐高积木拼接成你心目中的世界。

第一个要介绍的资源,那就是全球最大的同性社交平台Github

https://github.com

webp

Julia in Github

方法很简单,选择语言为Julia,然后选Most Stars

这样能找到目前最多人使用的Julia程序包。

为什么要找最多人使用的包?
因为越多人使用,说明这个程序包越有价值,越有价值,越多人使用。越多人使用,开发这个程序包的作者自然有动力继续维护升级做得更好。
这就像天天写文章,没有人看,没有人赞,那么时间一长,除了自己跟自己较劲,作者也不会有动力继续更新下去。

第二个要推荐给大家的是这个网站:
https://juliaobserver.com
这是一个专门针对Julia语言程序包的观察站

webp

每天最受关注


webp

每周最受关注


webp

每月最受关注


webp

最多星星的包


webp

最热门的包


webp

最新出现的包


说白了是个程序包排行榜,从时间、热度的角度来观察程序包的情况。
不过不管是哪个程序包,你点进去之后会发现基本上都会进入Github……

那这么说岂不是只需要关注Github就好了?
当然不是,既然专门有网站来做观察,一定有过人之处:


webp

IJulia的依赖包

我们可以看到一个包的依赖关系,也就是说这个包需要别的包支持才能运转。

也可以看到这个包支持其他包的情况,也就是被依赖关系:


webp

IJulia被依赖的包

看这个有什么用?之前说过,目前Julia的版本比较混乱,所以一个程序包是否能及时更新兼容新版本,不仅仅要看这个程序包本身的努力,还需要看它依赖的其他包的更新情况。

简单的说,如果一个包依赖其他3个包,理论上需要等其他3个包都更新兼容新版本才有可能更新它自己。当然并不完全是这样,如果能找到替换的程序包或者更换实现方式,也可以做到更新自己的目的,不过这样花的成本就很高,开源作者很多是基于兴趣爱好的,所以会看到历史上有好些程序包由于各种原因不能更新,最后就归档了(就是挂了)。

所以一般情况是依赖度越小的,被依赖度越高的往往是更新最快,可用度最高的。

为什么?
因为依赖度低,或者完全不依赖,那自主更新能力强,同时又被需要的多,自然也就有动力继续贡献。
这就像天天写文章,多给作者一些鼓励,自然动力就强很多。对吧?

KevinZhang
Aug 28, 2018



作者:_KevinZhang_
链接:https://www.jianshu.com/p/1dadf74d7650


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP