今天抽空把之前翻译的《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. Tcl与Design Compiler (二)——DC综合与Tcl语法结构概述

    1.逻辑综合的概述 synthesis = translation + logic optimization + gate mapping . DC工作流程主要分为这三步 Translation : ...

  2. letter-spacing+first-letter实现按钮文字隐藏

    本文地址:http://www.zhangxinxu.com/wordpress/?p=3557 一.文不在长,有货则灵 图片式按钮的文字隐藏看来是大家都比较关注的一个问题(分享讨论.微博转发等可见一 ...

  3. 2017年要学习的JavaScript的顶级框架和主题

    JavaScript的流行促进了一个非常活跃的由相关技术,框架和库组成的生态圈的发展.整个生态圈的多样性和活跃性越来越强,这让许多人变得越来越困惑. 你应该了解些什么技术呢?   我们应该将时间花费在 ...

  4. JDK中日期和时间的几个常用类浅析(五)

    LocalDateTime   LocalDateTime是JDK8中才引入的类,用来表示不包含时区信息的本地日期和时间.我们可以把LocalDateTime看作是LocalDate和LocalTim ...

  5. web中关于垃圾回收的一些观点

    感觉dom大神的解惑 关于引用计数法,注意引用的方向性就行.  A.addEventListner(B.func), 那么是增加了A对B的引用.如果A是不可回收的对象,比如全局的Stage,或者单例. ...

  6. 异步编程的两种模型,闭包回调,和Lua的coroutine,到底哪一种消耗更大

    今天和人讨论了一下CPS变形为闭包回调(典型为C#和JS),以及Lua这种具有真正堆栈,可以yield和resume的coroutine,两种以同步的形式写异步处理逻辑的解决方案的优缺点.之后生出疑问 ...

  7. Selenium测试专项一班隆重开班

    Selenium测试专项一班隆重开班 应广大测试技术人员要求,以及企业技术需求.Selenium提前一周开课了,只针对合作的每家企业提供1-2个参训名额.预计培训60人次.但报名人数却远远超出我们预期 ...

  8. Java并发编程:同步锁、读写锁

    之前我们说过线程安全问题可以用锁机制来解决,即线程必要要先获得锁,之后才能进行其他操作.其实在 Java 的 API 中有这样一些锁类可以提供给我们使用,与其他对象作为锁相比,它们具有更强大的功能. ...

  9. Myeclipse快捷键以及使用技巧大全-来自网络

    1. 打开MyEclipse 6.0.1,然后"window"→"Preferences" 2. 选择"java",展开,"Edi ...

  10. ngrok把本地主机映射到公网域名

    这两天又要搞微信项目,然后我下载了一个QQ浏览器,搜索微信调试工具,我再搜,再搜,搜不出来,问了下客服,暂时下架了,好吧! 我上网搜了一下,就找到了  ngrok 这个东西,它也可以把你本地主机映射到 ...