一直不明白为什么这个行为要起 broadcast 这么个名,广播这个翻译对于无相关背景的人来说简直是八杆子打不着的。。。
- 广播
- 不译
一直不明白为什么这个行为要起 broadcast 这么个名,广播这个翻译对于无相关背景的人来说简直是八杆子打不着的。。。
补充语境
都是 arrays
章节出现的专有名词
broadcast
broadcast
, which expands⏎这些年我发现编程里面最令我头疼的就是给variable取名字,每次都纠结。翻译比取名字更头痛,所以我从来不敢涉足这个area…
这个行为实际上应该是matlab
最早有的,然后numpy
也有,大家都叫broadcast
。broadcast译为广播确实很奇怪,也许大家都搞不明白该怎么说。
我觉得matlab里的说法更明白,一般称为implicit expansion
, see here, here。Numpy的解释是 Broadcasting — NumPy v1.25 Manual
如果要翻译的话,更建议翻译为"(隐式)扩展"。不译也行,相当于把理解的工作交给阅读的人。
其实接触多了之后,无论是broadcast也好,广播也好,都无伤大雅。
说白了,就是希望同一件时间,好多人都要做,就好比村里通知大家一起来看露天电影,怎么办呢?
大喇叭广播一下,村民朋友们,今天晚上19:00点大操场放电影。广播一下大家都知道了。差不多就是这个意思吧。
话是这么说,但并不意味着起名字或者翻译名词是没有意义的,或者随便的。还是要尽量能够说明那个概念所表达的真实功能和含义。
无论是numpy还是Julia的解释中,broadcast所完成的都是将值,向量,或者矩阵的维数自动扩展,使之能够实现不同维数的变量的计算。也有说法是broadcast实际上可以理解为,cast broadly,说的也是扩展变量维数,实现元素对元素的计算。
翻不翻译,倒不是重点,帮助读者理解这个概念才是重点。不翻译的话,最好能够注释一下为什么会起这个名字,或者它的核心目的是什么,帮助更好理解。
其实在文档中不翻译的原因部分就是,当第一次提这个概念的时候,文档紧接着就会做解释,甚至还有代码和例子,所以才感觉既然后面的解释和例子译了,那术语再译的价值就不大了。