今天抽空把之前翻译的《The Type Astronaut's Guide to Shapeless》一书放到了Gitbook上,将其开源供所有人阅读并希望大家能够提出宝贵意见,地址为shapeless guide。此项工作非常具有挑战性,现简单总结之。

2016年底在学习scala的过程中无意发现一个名叫shapeless的框架,它主要实现泛型编程。抱着好奇的心态尝试了一下该框架,没有中文资料,那么只能找英文资料,搜索半天发现一本英文指导,同样是开源的,地址为shapeless-guide

看了个开头,发现基本能看懂,又恰逢当时刚总结完自己的2016年情况,其中对2017的期望中就有一项是希望能够写一本书或者翻译一本书,刚好碰到这么个机会,于是就想着把这本书翻译出来,说干就干,这就有了此项工作。

之前从未进行过翻译书的工作,英语也一直是硬伤,其实不仅是英语,个人感觉所有语言都是相通的,母语不行你学什么语言都不会学的很好,天生估计是没有语言天赋,后天努力谁知是否有补偿。翻译过程中也总是出现有一句话大概知道意思却不知用汉语如何表达的情况,文辞句法也不够优雅,基本是掺不忍睹。

望勤能补拙,所以前前后后总共翻译了四遍之多。前三遍由我完成,第四遍由我的合作伙伴包亮完成,他对译文进行了完善、校验、语言美化等工作。在这里一并感谢包亮付出的大量而艰辛的劳动。

第一遍翻译的时候恰逢回家过年,每天边陪父母边抱着笔记本翻译,时常工作至深夜,母亲经常一觉醒来发现我还抱着笔记本,遂迷迷糊糊的赶我去睡觉。初稿付出的最多、用时最长、成效也最小。一来之前从未进行过此项工作,二来刚开始翻译,对作者的意图和shapeless这个框架都不够熟悉,边干边摸索。当初稿完成的时候整个人最少掉了三斤肉、累坏无数的神经元,到最后达到了看见英文就想吐的境地,终究是咬牙坚持下来了。别人过年胖三斤,我倒减了三斤,想减肥吗?来翻译吧!初稿完成之后立即进入了二稿的翻译工作,这时候对翻译也大概了解了、对此框架也基本熟悉了、作者的表达方式也清楚了,但是第一遍的成果实在是糟糕,基本相当于重新来过。第三遍就轻松了,针对的是一些前两遍没有理解的细节和概念,对一些表达也用自己理解的方式表达了出来,大概是融会贯通了。

后续交给包亮,包亮做事一向非常严谨、细致认真,经常对某个概念查阅官方资料,不像我很多地方想当然,并未深究,这一点确实需要像包亮学习。

此次翻译工作提高了英语水平(毋庸置疑)、汉语水平、查阅资料能力、交流合作能力等等,收益很大。能够坚持下来也得益于选了一本较薄的不太晦涩的英文书籍,所以如果有想尝试此项工作的,我建议可以选一本薄且自己比较熟悉领域的,以此来开始,并找一个在此方面略有所长的人进行辅助,必能有所收获。

最后希望大家能够对此书提出宝贵意见,并再次感谢包亮的辛勤工作。

shapeless官方指南翻译总结的更多相关文章

  1. shapeless官方指南翻译写在前面

    目录 前言 Shapeless简介 The Type Astronaut's Guide to Shapeless简介 总结 一.前言        在我的2016,感恩.乐观.努力一文中,说2017 ...

  2. yii Query Builder (yii 查询构造器) 官方指南翻译

    /**** Query Builder translated by php攻城师 http://blog.csdn.net/phpgcs Preparing Query Builder 准备 Quer ...

  3. 转载RabbitMQ入门(1)--介绍

    目录[-] "Hello World" (使用java客户端) 发送 接收 把所有放在一起 前面声明本文都是RabbitMQ的官方指南翻译过来的,由于本人水平有限难免有翻译不当的地 ...

  4. 库&插件&框架&工具

    nodejs 入门 nodejs 入门教程,大家可以在 github 上提交错误 2016 年最好用的表单验证库 SMValidator.js 前端表单验证工具分享 浅谈前端线上部署与运维 说到前端部 ...

  5. 《类型编程晋级——shapeless类库使用指南》前言及第一章翻译

    从年初开始进行此项工作,我和合作伙伴包亮付出了大量而艰辛的劳动,现基本翻译完毕,有出版意向,如果有意向欢迎联系,不甚感激!也欢迎各位博友对此翻译提出意见建议以及指导如何出版,在此谢过! 前言 时间回到 ...

  6. [技术翻译]构建现代化的 Objective-C (上)

    我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3561514.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...

  7. [转]《RabbitMQ官方指南》安装指南

    原文链接   翻译:xiezc 目录(其中的文章后续翻译): Windows下安装 Debian / Ubuntu下安装 基于RPM的Linux下安装 Mac OS X下安装 Homebrew安装 W ...

  8. zooKeeper_《ZooKeeper官方指南》一致性保障

    转 http://ifeve.com/zookeeper-consistency-guarantees/ 本文翻译自<ZooKeeper官方指南>,译者:追云,校对:追云 一致性保障 Zo ...

  9. docker学习之路-nginx镜像(翻译)

    本篇来自https://hub.docker.com/_/nginx/?tab=description 它是docker hub上nginx的官方网站,上面有关于nginx的使用描述等.从这里你可以找 ...

随机推荐

  1. Linux环境Perl链接MS Sql Server数据库

    1.下载相关软件 unixODBC.freetds和DBD-ODBC ①.Linux系统的ODBC unixODBC-2.3.4.tar.gz ( http://www.unixodbc.org) ② ...

  2. postman定义公共函数

    对于postman定义公共函数,相信很多小伙伴并不是很了解,下面给大家带来了一点福利,一起来看看吧.1.判断是否超时(assertNotTimeout)

  3. 【SF】开源的.NET CORE 基础管理系统 -介绍篇

    [SF]开源的.NET CORE 基础管理系统 -系列导航 1.环境: .NET Core SDK (https://www.microsoft.com/net/core) SQL Server or ...

  4. java学习笔记 --- 继承

    继承 (1)定义:把多个类中相同的成员给提取出来定义到一个独立的类中.然后让这多个类和该独立的类产生一个关系,    这多个类就具备了这些内容.这个关系叫继承.  (2)Java中如何表示继承呢?格式 ...

  5. iOS开发之Block

    1.定义 (1) Block是OC中的一种数据类型,在iOS开发中被广泛使用 (2) ^是Block的特有标记 (3) Block的实现代码包含在{}之间 (4) 大多情况下,以内联inline函数的 ...

  6. iOS开发之Info.plist文件

    建立一个工程后,会在Supporting files文件夹下看到一个“工程名-Info.plist”的文件,该文件对工程做一些运行期的配置,非常重要,不能删除 在旧版本Xcode创建的工程中,这个配置 ...

  7. Android Doze模式启用和恢复

    从Android 6.0(API level 23)开始,Android提出了两个延长电池使用时间的省电特性给用户.用户管理可以在没有充电的情况下管理app的行为.当用户一段时间没有使用手机的时候,D ...

  8. Pad控件 UIPopoverController的介绍与使用(Pad的专属菜单控件、Swift版本)

    UIPopoverController 是iPad特有控件,iOS9之前,在iOS上也可以使用,在iOS9之后,只能用于Pad上. 如果非要在iOS上使用,编译不会有问题,运行后会崩溃,报错如下: T ...

  9. POPTEST学员就业面试题目!!!!!

    POPTEST学员就业面试题目!!!!!   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.(欢迎大家咨询软件测试工程师就业培训 ...

  10. 老李分享:Web Services 架构 1

    老李分享:Web Services 架构   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9 ...