当前位置 :首页 >> 生活

资深Valve弃用Julia,联合创始人:对所列的问题感到痛心

2024-10-15   来源 : 生活

tats组织呈交了一些与参考资料有关的原因,该组织管理工作着945个的软件打包所依赖的Distributions和1660个的软件打包所依赖的StatsBase统计数字打包。例如上头这些:

在共存偏转轴向的前提,大多数量化方式都是不安全和不无论如何的

也就是说离散微小就会走来留在一个缺陷解答

counteq, countne, sqL2dist, L2dist, L1dist, L1infdist, gkldiv, meanad, maxad, msd, rmsd和psnr在有偏转指数的前提确实就会留在缺陷的结果

对@inbounds举例就会避免统计数字数字计算缺陷

Colwise和pairwise确实就会留在不无论如何的东北方

显示一个Weights乘积打套装offset字符串就会避免访问期间筑路缓存缺陷

这些原因的才是并非源自直接的参考资料,而是与 @inbounds适应功能性四人可用时造成了,它容许Julia从字符串访问期间里替换成疆界检验。

例如:

function sum(A::AbstractArray) r = zero(eltype(A)) for i in 1:length(A) @inbounds r += A[i] # ← ???? end return rend

右边的字符是对字符串长度开展基元,如果给它传递一个参考资料区域不奇怪的字符串,它就就会访问期间筑路缓存:因为字符串访问期间被@inbounds注释了,所以它取消了疆界检验。

该与此相关是值得注意的@inbounds举例,然而,这也是如何无论如何可用@inbounds的官方例子。该与此相关设于一个警告的正上方,解释了其缺陷的原因。

尽管该原因目前已解决原因,但引人注意的是,@inbounds可以如此如此一来地被滥用,悄无声息地开展图表损坏和留在缺陷的算术计算结果。

依我的长处来看,十分相似的原因不一定局限于Julia生态系的算术均。例如对JSON 开展编码,发出HTTP请求,将Arrow明文与DataFrames四人可用,以及用Pluto.jl编辑Julia字符等,也都就会察觉到一些库里缺陷。

不止我2人推测这些原因

在我无聊本人的漫长否兼顾传彩时,一些Julia浏览器在暗地也社交了十分相似的好事,并且一些官方路透社也开始消失。

例如在这篇文章里,Patrick Kidger描述了试图可用Julia开展图表处理科学研究时所检视到的:

在Julia Discourse上偶尔可以碰到这样的Facebook板:“XYZ库里难以用了”,随后某个库里的维护者就就会为了让告诉他:“这是ABC库里的最初版本a.b.c里的一个沿河缺陷,XYZ发挥作用此。我们就会尽快启动时一个修复计划。”

上头是Patrick一个断言缺陷的长处社交(综合是我的):

我的一个Julia建模在锻炼时失败了,这让我并不痛心。我断断续续萝卜了好几个年初的一段时间试图让它短时间文书工作,试图了我能告诉他的所有长处。终究!我推测了缺陷所在。Julia/Flux/Zygote留在了不无论如何的通量。在萝卜了那么多全心与右边的第1和第2点搏斗再次,我谨慎放弃了对Julia建模的仿真。两个天内过后,我用PyTorch取得成功地锻炼了这个建模。

在该文批评家一处,其他人也社交了十分相似的漫长:

@Samuel_Ainsworth:

和@patrick-kidger一样,我也被Zygote/ReverseDiff.jl里不无论如何的通量bug所困扰。这费用了我数周的一段时间,并不可避免动摇了我对整个Julia AD的信心。[…]在我可用PyTorch/TF/JAX的这么多年里,我还无法察觉到过一次不无论如何的通量缺陷。

@JordiBolibar:

我自从可用Julia文书工作以来,我在Zygote上察觉到了两个bug,避免我的文书工作暂停了几个年初。从务实的之外看,这迫使我顺利完成到字符里,并学习了很多关于我所可用库里的知识。但我推测自己正一处于这样一种上述情况:能够科学研究的库里变得越来越多,我能够萝卜大量的一段时间来仿真字符,而不是做到气候科学研究。

鉴于Julia的原教旨主义非标准功能性,对我来告诉他,这些断言原因并非能显而易见解决原因。Julia无法年初的连接器概念,非标准数组倾向于在边缘上述情况留下它们的上下文,而且许多常见的隐式连接器本质还无法被精确化(例如,在Julia一个社区里对什么是数字无法原则上的意见)。

官方始终无法认可与解决原因

Julia一个社区充满了有能力也、有才华的人,他们慷慨地备有一段时间、文书工作和专业知识知识。但是像这样的的系统功能性原因仅仅并能由上而下地解决原因。我的感官是,这两项高层领导不一定认可共存一个严重的断言原因。他们接受个别依附原因的共存,但不接受这些原因所告诉他明了的的的系统。

例如,在Julia的图表处理生态系还不开花结果的时候,该句法的一位为首创始者曾热诚地谈到将Julia主要用途自动驾驶汽车的生产。

而另一位创始者在同时期所表达出来的,确实很好地告诉他明了人们错综复杂的层面差距(更是是我):

他确信,Julia句法第二大的赚得不一定是作为一门伟大的句法(尽管它是),而是应用于它去做到所有的好事(尽管这不一定是最难受的意念),并且Julia的结构设计在构建字符委以重任能力也之外早已达到了一定的高度。实际上,在Julia里,浏览器可以把一个人写下的非标准算法和其他人写下的自定义多种类型置放四人,并短时间内可用它们。这在很小程度上降低了Smalltalk句法里字符委以重任。句法结构所设计不应复制Julia的所有适应功能性,而是应理解这样做到的真实感为什么就会这么好,并且并能在未来的结构设计里构建高水平的字符委以重任。

每当有批评Julia的Facebook板在一个社区开始流传后,再次就就会有辩解,尽管历史上共存一些前提的原因,但上述情况早已有了很小的强化,而且大多数原因都已想得到解决原因。

比如:

2016年:“该篇博文里指出的前提原因已想得到解决原因。”

2018年:“我也倒是过我刚开始接触Julia时碰到的’牛仔’中华文化[…]但那些日子早已即使如此了。”

2020年:“在2016年,但这早已想得到了很好的解决原因。”

2021年:“在Julia里,无法应用于上的原则上功能性执行,但非标准数组的上下文想得到了普遍的珍惜,非标准字符也可以可用。”

2022年:“当然有bug,但都不严重。”

这些问在其狭隘的文化背景下有时候像是是前提的,但终究的真实感算是人们的非法行为体验被弱化或淡化了,而越来越某种程度的原因却无法想得到认可和解决原因。

以我在即使如此十年对Julia以及一个社区的了解,其在断言之外一直是不确实的,或者早就朝确实之外前进,而对于Julia小组想要客户服务的大多数用例来告诉他,其几率是大于理应。

十年前,Julia被介绍给了世界,并指出了一系列无疑和雄心勃勃的尽可能。我仍然或许,这些尽可能有朝一日可以构建,但是,如果不再审视和重写那些将这两项随身携带到今天这个上述情况下的的的系统,就无法构建。

最终,我要衷心Mitha Nandagopalan、Ben Cartwright-Cox、Imran Qureshi、Elad Bogomolny、Zora Killpack、Ben Kuhn和Yuriy Rusko对本文里期润色的发表意见和批评家。

Julia为首创始者辩解:对请注意原因感到痛心

Yuri Vishnevsky的这篇文章在HN上惹来了普遍的发表意见,并惹来了Julia为首创始者KenoFischer的辩解,他首先无疑Yuri在Julia上费用了大量的一段时间,并确信Yuri是一位并不有能力也的脚本语言,所以文里指出的原因应当被认真对待,但对终究算出的结论感到很很痛心。

Yuri在Facebook板里罗列了不少原因,KenoFischer想像里究竟从哪个角度去下手问,但他还是暂时试一试。在他显然,本文有几个不同的投诉最初藏宝图,其里一类是Julia造成了的仅仅是Bug(例如提到的HTTP、JSON等原因)的数量要比其他的系统里要多的多,这样的结论究竟从何算出。不可否认,Julia里无疑就会共存一些Bug,但依他来看,每当试图一个最初软件打包时,与此相关地就会共存2-3个关键功能性原因,不管它们是基于何种句法开发。

而就“难以告诉他预期就会牵涉到什么”这一类批评在KenoFischer显然算是前提的,并且他也声称同意。这是一些基本结构设计决策所引致的缺陷。事实上,Julia早就就可再组合功能性文书工作开展共同努力,即可浏览器所再组合打包的编者对对方确信。这是Julia的一大关键适应功能性,也让Julia愈加强大。与此同时,也很容易消失请注意上述情况,一个或者另一个打包早就做到无法日志的暗含推论(因为编者确信这些推论在他们自己打包的上下文里不一定关键),从而避免断言原因造成了。这是一个并不复杂化的结构设计原因。当然,为连接器和验证添加越来越多的句法默许是有帮助的,但不一定是所有的暗含推论都能在连接器里如此一来注意到。显然能够有越来越完全原则上的明文来告诉他明哪些打包的再组合是被 "默许 "的。通常来告诉他,那时候最好的方式是看看在CI上做到了哪些下游检测,以及否有任何针对这两个打包的集成检测。如果有的话,它们确实应是可以短时间文书工作。

KenoFischer他指,他对文章所罗列的原因指南感到痛心,他或许这些原因就会被一个社区再次地修复(更是是惹来普遍发表意见的Facebook板)。目前应对句法开展一些越来越基本的革最初来解决原因这些原因,但还不是Julia句法的最优先事项。在即使如此两年,Julia越来越瞩目一些“旗舰”应用于的开发,因为它们能真正促成Julia向前一步发展。这是一个好的发展,因为这些应用于表明了Julia早就被许多毅然决然的瞩目和开展革最初。一枚纪念币总有两面,这些应用于也面临一些原因,例如例如"LLVM实在慢了",越来越好的可检视功能性来进行,GC暂停原因等,它们与都是开源的Julia微软所察觉到的原因完全不同。在1.0早先(即2018年),有1-2年的一段时间,Julia所做到的就是思考并不可避免改建句法里的非标准连接器。在他显然,大家那时候可以可用其里的另一项共同努力,但至少在这个清楚的日子,还无法能够的随身携带宽来做到这件事。愿意在未来,一旦好事稳定下来能开展革最初,这大概就是 Julia 2.0 的很漂亮。

最终,KenoFischer确信HN上有些吹毛求疵,这个关键字里的原因()实际上是Smalltalk句法里的一个缺陷,其余才是各种生态系原因。

KenoFischer声称他不一定想推卸承担责任,因为这些打包里有很多也是由Julia的两大微软一同维护,有承担责任让这些打包试运行极佳。但如果你想告诉他我的父母亲丑陋,至少要表明无论如何的父母亲。

粉丝:Julia句法并不篮,但生态系能够被改写下

除了KenoFischer的批评家,第二个高赞批评家则是ID为patrickkidger的Facebook:

在他显然,Yuri不是在表达出来 “有实在多的 bug”,而是在表达出来围绕Julia本身的中华文化原因。

但像这样的的系统功能性原因仅仅能由上而下地解决原因,我的感官是,这两项高层领导不一定认可共存一个严重的断言原因。

patrickkidger揭示道:

Julia生态系的再组合越来越差。(它是由史家而不是专业知识的软件打包微软剪辑的)

该句法无法备有什么来进行来保证断言。(无法一个系统多种类型;无法连接器)

就个人而言,最愿意碰到的是某个大的科技母公司再加入进来,并直接编纂下他们自己的生态系。Julia句法并不篮,但生态系能够被改写下。

末尾关键字:

HN热议:

本文已获编者许可权,CSDN编译器整理,未经许可权,未经许可转载!

END

—。

株洲看男科去哪个医院好
西安妇科挂号
长春皮肤病治疗费用
天津男科检查费用
无锡男科检查多少钱
哪种血糖仪家用比较准好
克癀胶囊可以治疗什么病
胃酸反流能吃金奥康奥美拉唑吗
拉肚子吃什么药效果好副作用小
妈咪爱与肠炎宁颗粒的区别
国家能源局:继续推动新型储能的自贸区和示范

财联社7同月27日电,国际组织能源局电力司司长何洋表示,下一步,我们在推展新型电力系统拓展不足之处还要做好四个不足之处的工作:一是之前推展新型电力系统的重点项目和示范。通过重点项目示范,来持续拓展我们...

友情链接