免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 27191 | 回复: 3
打印 上一主题 下一主题

[C] VLA(variable length array)该如何翻译? 召唤英语帝、 ISO党 [复制链接]

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-22 14:11 |显示全部楼层 |倒序浏览
本帖最后由 OwnWaterloo 于 2010-12-22 14:17 编辑

VLA(variable length array), 这术语以前也没仔细想过应该如何翻译。
C99的中文资料不多, 印象中那些资料对这个术语也是保留原文。

单就这个术语的"字面含义"而言, 给我的感觉是:
1. 它是数组
2. 它的尺寸是可变的

也就是类似std::vector那样的东西。

但VLA实际上是尺寸不需由常量表达式指定的固定尺寸数组:
1. 尺寸可由变量指定
2. 一旦指定, 不可再改变


所以一直对这个术语耿耿于怀, 词不达意啊……


------ ------ ------ ------ 以上背景 ------ ------ ------ ------

刚看到《狂人C》对这个翻译的观点: 选择"变量长度数组", 而不是"可变长数组"。

变量长度数组, 咋一看, 脑海中浮现的是good good study…… 拼凑流……
但多想想, 以及看看书中的解释, 又好像就应该是这样的。


------ ------ ------ ------ 以下问题 ------ ------ ------ ------

1. VLA应该如何翻译:
1.1 可变长数组
1.2 变量长度数组

2. VLA的本意?
其实我纠结的就是这个问题……
是我对ISO的术语理解错误了?  还是(如果没理解错, 那一定就是)ISO脑残了?


投票吧, 欢迎参与 :
认为翻译为"可变长数组",  且ISO就是这个含义的(长度可变) —— 显然、ISO脑残了 —— 请选1。
认为翻译为"变量长度数组", 且ISO含义为长度可变 —— 翻译负负得正, 太给力 —— 请选2。
认为翻译为"变量长度数组", 且这是ISO本意 (长度可由变量指定), 请选3。


游客,如果您要查看本帖隐藏内容请回复
单选投票, 共有 53 人参与投票
您所在的用户组没有投票权限

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
2 [报告]
发表于 2010-12-22 14:32 |显示全部楼层
回复 5# hellioncu

区别在于ISO的本意是什么。
如果是"长度可变", 那显然与事实不符; 翻译与本意不符, 但准确描述了事物本身。
如果是"长度由变量指定", 那翻译与本意相符, 且都准确描述了事物本身。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
3 [报告]
发表于 2010-12-24 19:03 |显示全部楼层
回复 31# davelv

>> 没有规定表示数组长度一定是变量,而是非常量表达式。
>> int a[m];可以认为m是个变量,但如果是int a[m+1]; m+1不能当作变量吧

确实如此……  此处"变量"也不妥了……
但"可变"也很牵强……  也容易误解为std::vector那样的东西……

一开始就取类似 "runtime (determined) length array" 的名字……
多好……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
4 [报告]
发表于 2010-12-24 19:24 |显示全部楼层
回复 29# KBTiller

确实曾经被"堆栈"迷糊过……
直到看到有人解释说: "堆栈"只在极少的时候代表两者的统称(这种情况一般说成"堆和栈"), 大部分时候都指"栈"而非堆。
但依然不知其所以然, 直到中英文对照看了一些资料才发现原来是翻译失误……

btw: 最近出了一个新闻, 说什么"中文出版物"中不能夹杂英文什么的。
技术书籍算"中文出版物"么? 情何以堪啊……
翻译更是需要传神才行……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP