您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    Python 是前浪,Julia 是后浪?
    时间:2020-05-06 12:11 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    Python 是前浪,Julia 是后浪?

    【 雷锋网(群众号:雷锋网)注:图片来源:Pixabay  一切者:Devanath 】

    本文转自雷锋网,如需转载请至雷锋网官网央求授权。

    随着 Python 的停滞不前,一个新的抢手竞争对手出现了。

    不要曲解。Python 的受欢迎水平,依然失掉计算机迷信家、数据迷信家和人工智能专家的坚实支持。但是,假设你曾经和这些人一同共进晚餐,你也会知道他们对 Python 的弱点有多不满。从运转缓慢,到要求过多的测试,到不顾之前的测试而产生运转时错误——这些都足以让你恼火。这就是越来越多的顺序员采用其他言语的缘由——顶尖的顺序员是 Julia,Go 和 Rust。Julia 擅长数学和技术性的义务,而 Go 擅长模块化顺序,Rust 是细叱编程的首选。由于数据迷信家和人工智能专家要处置许少数学成绩,Julia 是他们之中的赢家。即使经过严厉的审查,Julia 也有 Python 无法超越的优点。

    Python 的禅与 Julia 的贪心

    当人们创立一种新的编程言语时,他们这样做,是由于他们想保留旧言语好的特性并修复坏的特性。从这个意义上说,生于 1956 年的吉多·范罗苏姆(Guido van Rossum)在 20 世纪 80 年代前期发明了 Python 来改良 ABC 言语。后者关于一种编程言语来说太完美了——虽然它的特性使它易于教学,但在理想生活中却很难运用。相比之下,Python 相当适用。您可以在 Python 的禅宗思想中看到这一点,它反映了创作者的意图:

    美丽胜于漂亮。

    显性比隐性好。

    复杂总比复杂好。

    复杂总比难懂好。

    平的比嵌套的好。

    稀疏总比密集好。

    可读性很重要。

    特例不足以打破规则。

    虽然适用性胜过地道。

    Python 是前浪,Julia 是后浪?

    【 雷锋网注:图片来源:Pixabay  一切者:Prawny 】

    Python 依然保留了 ABC 的良好特性:例如可读性、复杂性和初学者友好性。但是 Python 比 ABC 更强健,更顺应理想生活。

    从异样的意义上说,Julia 的发明者希望保留其他言语的优点,摒弃不好的部分。但是

    Julia 的发明者是这样说的:

    我们贪心:我们想要更多。我们想要一种开源的言语,一种自在的容许。我们想要有红宝石般生机的速度。我们想要一种同象言语,有像 Lisp 那样的真正的宏,但是有像 Matlab 那样清楚的、熟习的数学符号。我们想要像 Python 一样可用于普通编程,像 R 一样容易用于统计,像 Perl 一样自然用于字符串处置,像 Matlab 一样弱小用于线性代数,像 shell 一样擅长将顺序粘在一同。有些东西十分复杂易学,却能让最严肃的黑客快乐。我们希望它是交互式的,我们希望它被编译。

    Julia 想融合现有的一切优势,而不是用其他言语的优势来交流。虽然 Julia 是一门年轻的言语,但它曾经完成了创作者设定的许多目的。

    Julia 的开发者喜欢什么

    从复杂的机器学习运用到庞大的超级计算机模拟,多才多艺的 Julia 可以用于任何事情。从某种水平下去说,Python 也可以做到这一点——但是 Python 不知何故逐渐开展成了这样。相比之下,Julia 正是为这种东西而生。自下而上。

    Julia 的发明者希望发明一种和 C 言语一样快的言语——但是他们发明的速度更快。虽然近年来 Python 变得更容易减速,但它的功用依然远远不如 Julia。

    2017 年,Julia 甚至参加了“亿次浮点运算俱乐部”,这是一个小型的言语俱乐部,在巅峰形状下,它的速度可以超过每秒 10 亿次。除了 Julia,如今俱乐部里只要 C、C++ 和 Fortran。

    社区

    仰仗其 30 多年的历史,Python 拥有一个庞大的支持性社区。简直任何与 Python 相关的成绩在一次谷歌搜索中都能失掉答案。相比之下,Julia 社区十分小。虽然这意味着你能够需求进一步开掘才能找到答案,但你能够会一次又一次地和异样的人联络在一同。这能够会变成超越价值的顺序员关系。

    代码转换

    你甚至不需求知道一个单一的 Julia 命令来编码 Julia。你不只可以在 Julia 中运用 Python 和 C 代码。你甚至可以在 Python 中运用 Julia!

    不用说,这使得修补您的 Python 代码的弱点变得十分容易。或许在你还在了解 Julia 的时分保持高效。

    Python 是前浪,Julia 是后浪?

    【 雷锋网注:图片来源:Pixabay  一切者:izoca 】

    这是 Python 的最大优点之一——它有有数维护良好的库。Julia 没有很多库,用户抱怨它们没有失掉令人诧异的维护。

    但是当你思索到 Julia 是一门十分年轻的言语,资源有限,他们曾经拥有的库的数量相当可观。除了 Julia 的库数量正在增长这一理想之外,它还可以与 C 言语和 Fortran 言语的库停止接口,例如处置图。

    静态和静态类型

    Python 是 100% 静态类型的。这意味着顺序在运转时决议变量是浮点型还是整数型。

    虽然这十分适宜初学者,但它也引入了一大堆能够的错误。这意味着您需求在一切能够的场景中测试 Python 代码——这是一个相当愚笨的义务,需求破费很多时间。

    由于 Julia 的发明者也希望它易于学习,朱莉娅完全支持静态编译。但是与 Python 不同的是,假设你情愿,你可以引入静态类型——比如,以它们在 C 或 Fortran 中的方式。

    这可以为你节省少量时间:你可以在任何有意义的中央指定类型,而不是为不测试你的代码寻觅借口。

    在小的时分投资

    【雷锋网注:StackOverflow 上成绩数量的比照和趋向】

    虽然一切这些听起来都很棒,但重要的是要记住,与 Python 相比,Julia 依然很小。一个很好的权衡标准是 StackOverflow 上的成绩数量:此时,Python 被标记的次数比 Julia 多 20 倍!

    (责任编辑:admin)