首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编程教程中的英文示例翻译成中文命名看看?想不到原来是这意思!

前几天有幸看到Quora不久前的一个回复: Has any serious project been written in a non-English-based programming language? (有没有非英文编程语言写的项目?)

得知西门子和爱立信内部都有使用母语命名的C/C++代码(德语/瑞典语). 原文如下:

At both Siemens (German) and Ericsson (Swedish), I have seen programs written in C, and C++ where the only English words are the keywords. So if, new, else, for and the standard libraries like std::vector

Everything else was in German or Swedish.

另外, 答者还提到在布拉格碰到过一本Java编程书, 也是用非英语进行命名写的示例代码.

以母语命名可读性强的优势, 照理说编程教程应该是非常适合这一实践的. 那么来试试:

观感如何? 个人觉得是非常一目了然, 但代码本身自带不少槽点,和生活现实相去甚远。

下面看看英文原版(Effective Java第三版, Item 34的例程):

意思一样, 但是不是看上去有了些"距离感", 槽点似乎就没那么明显了, 尤其不会有太多代入感. 可以想见, 在翻译英文原著时, 译者对代码本身的命名进行中文化也许会吃力却讨不到多少好.

翻了也许会有其他麻烦的还有这种(同一本书, Item 68):

还有这种(Item 4):

String s = "bikini";

至于下面这个例子(Item 34), 问题是想翻译都只能找到音译词, 也许还不如不翻. 而且, 在示例代码里用"桔子", "苹果"之类在外文编程书籍中屡见不鲜, 但如果真用在中文代码中, 似乎第一感觉就有点幼稚.

public enum Apple { FUJI, PIPPIN, GRANNY_SMITH }

public enum Orange { NAVEL, TEMPLE, BLOOD }

还有一种问题比如(Programming in Scala 第三版, 7.5节):

直译过来是:

这几个词对于不大了解西方饮食习惯的读者来说, 读起来完全没有感觉. 与其费口舌在注解里普及西方文化, 也许改成这样更自然:

但这比起翻译本身来, 又多了不少工作量, 估计还很难获得原作者的同意. 当然, 如果是自编文献, 就没有原作的限制了, 但就像之前的例子所示, 恐怕选材和尺度都会比用英文代码更加敏感.

类似的, 在项目中使用中文命名也比英文命名更需要推敲. 随手写个奇怪的英文名看起来也许不那么显眼, 但用了中文, 就会非常扎眼. 所谓"文如其人", 也许语文的实用性会随着中文编程的推广而逐渐回归.

更多中文编程推广过程内情,请关注“用中文编程”微信公众号。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190706A00OZM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券