资料科学爱用程式语言Julia释出全新侦错器,程序语言有哪些

导读: 对于 程式语言Julia很多人都不清楚是什么,让我们一起来看看关于 程式语言Julia的相关消息吧。 资料科学家爱用的程式语言Julia,释出了全新功能完整的侦错器(Debugger),可以让开发者轻松地侦错和内省(Introspect)程式码,可以深入函式手动走访程式码,

对于程式语言Julia很多人都不清楚是什么,让我们一起来看看关于程式语言Julia的相关消息吧。

资料科学家爱用的程式语言Julia,释出了全新功能完整的侦错器(Debugger),可以让开发者轻松地侦错和内省(Introspect)程式码,可以深入函式手动走访程式码,并检查状态,也能在不需要重新启动的状况下,以互动的方式更新和替换现有程式码,或是设置中断点和陷阱错误,帮助开发者捕捉故障发生的问题。


官方提到,侦错器本身就是一组各种功能集合的工具,而其核心功能则是由直译器支援,该直译器不只能够执行Julia程式码,也能以各种前端控制直译器的执行。每个前端都有其可用的套件,Juno将侦错器整合进IDE中,Rebugger则提供REPL文字使用者介面,而侦错器提供传统的命令介面。这些侦错功能都与套件Revise无缝整合,开发者可以在同一个对话(Session)中,连续分析和修改程式码。

Juno为直译器提供了丰富的使用者介面,让开发者可以设定中断点,并直接在原始程式码中逐步执行。侦错器REPL能够在本地上下文执行任意程式码,开发者可以在Workspace中检查区域变数,使用巨集Juno.@run开始直译开发者的程式码,或是Juno.@enter可以从第一行开始逐步进行。

当开发者使用Atom之外的编辑器,或是透过控制台介面在远端对话中工作,可以使用REPL进行侦错,REPL有两种介面,其一是侦错器提供类似gdb的逐步、下一步和继续介面,另一种Rebugger则是提供IDE形式的控制台介面。侦错器具有一些其他介面都没有的功能,像是调控逐步执行的精细度,以及执行生成函式的生成子等。

而Julia这些新的侦错功能都来自新版的JuliaInterpreter,官方提到,JuliaInterpreter是整个堆叠的关键,其包含评估和检查Julia程式码的逻辑,也能用于逐步进行程式码评估以及中断点的实作。 JuliaInterpreter是从ASTInterpreter2套件改进而来,顺应Julia 1.0的需要,加入了许多改变,在效能上也获得了大幅度的改进,约是原本的50倍速度。

JuliaInterpreter改进新增对中断点的支援,官方提到,严格说来虽然不是直译器功能,但却是建构侦错器必要的功能,并且也可以被视作直译器控制流的一种形式,这些中断点可以用中断点函式和巨集设置,或在Juno、Rebugger与侦错器中操作,或是什至在程式码中以巨集设置。

官方提到,虽然直译器的速度加快了,但是比起编译的程式码执行速度,仍然差距了几个量级,他们会在几个月内缩小这个差距,但是终究直译程式码仍然比编译过的程式码慢。