我一直在使用Dtrace,随着时间的推移,我开始想知道Dtrace中使用的D语言的编程范例是什么。
这不是一种必要的语言,我想,这意味着它是某种声明性的功能语言,但我不是语言分类学的专家,那么D语言应该被正式(或半正式)归类为什么?
答案 0 :(得分:2)
D语言似乎是C的一个子集,其中添加了特定于跟踪的内置函数(变量,函数)。它可以与结构中的awk或YACC程序进行比较:它由一个或多个检测点(探测器,规则)的列表组成,每个探测器与一个动作相关联。
我的2美分。
答案 1 :(得分:0)
Dtrace显然与aspect-oriented programming有关,因为它以某种方式将其探测器编织到正在研究的程序中。
我想说编织点的规范属于声明性编程世界,而探针本身是强制编程的(类C)。不确定这是否回答了你的问题: - )