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

前情提要:

  • 概述
    • Julia是一门牛B、‘无耻’的语言
  • 本地环境教程
    • Julia1.0.0安装指南(含 Juno IDE)
      • Windows教程
      • Mac教程
    • 目前兼容的机器学习程序包
  • 在线环境教程
    • 无痛体验:几行代码识别图片内容
    • 如何进行Julia无痛体验
    • 深度定制免费无痛环境

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

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

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

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

https://github.com

Julia 小白 Day 10: 如何科学的找程序包_第1张图片
Julia in Github

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

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

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

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

Julia 小白 Day 10: 如何科学的找程序包_第2张图片
每天最受关注

Julia 小白 Day 10: 如何科学的找程序包_第3张图片
每周最受关注

Julia 小白 Day 10: 如何科学的找程序包_第4张图片
每月最受关注

Julia 小白 Day 10: 如何科学的找程序包_第5张图片
最多星星的包

Julia 小白 Day 10: 如何科学的找程序包_第6张图片
最热门的包

Julia 小白 Day 10: 如何科学的找程序包_第7张图片
最新出现的包

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

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


Julia 小白 Day 10: 如何科学的找程序包_第8张图片
IJulia的依赖包

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

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


Julia 小白 Day 10: 如何科学的找程序包_第9张图片
IJulia被依赖的包

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

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

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

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

KevinZhang
Aug 28, 2018

你可能感兴趣的:(Julia 小白 Day 10: 如何科学的找程序包)