From d692e488bae6215a464e89365dbd7cb1a3b908c2 Mon Sep 17 00:00:00 2001 From: Jerry Lee Date: Sun, 16 Oct 2016 00:54:21 +0800 Subject: [PATCH] add preface and postscript --- a-week-with-elixir/README.md | 15 +++++++++--- a-week-with-elixir/translation-postscript.md | 24 ++++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 a-week-with-elixir/translation-postscript.md diff --git a/a-week-with-elixir/README.md b/a-week-with-elixir/README.md index f06034f..7c2005d 100644 --- a/a-week-with-elixir/README.md +++ b/a-week-with-elixir/README.md @@ -1,6 +1,15 @@ -原文链接:[A Week with `Elixir`](http://joearms.github.io/2013/05/31/a-week-with-elixir.html),[_Joe Armstrong_](http://joearms.github.io/),2013-05-31 +原文链接:[A Week with `Elixir`](http://joearms.github.io/2013/05/31/a-week-with-elixir.html),[_Joe Armstrong_](http://joearms.github.io/),2013-05-31 基于开源中国社区的译文稿: [用`Elixir`的一周](https://www.oschina.net/translate/a-week-with-elixir) +译序 +----------------- + +作为`Erlang`之父_Joe Armstrong_,对`Erlang VM`上的新语言`Elixir`给出很精彩评论和思考。在『特定领域的专家的专业直觉』、『编程语言设计的三定律』、『管道运算符避免恶心代码』、『`Elixir`的`sigil`引出的程度语言如何定义/解释字符串』等等这些讨论上,能强烈感受到_Joe Armstrong_老黑客风范。 + +[自己](http://weibo.com/oldratlee)理解粗浅,而本文讨论是语言设计,且作为老一代黑客的作者计算机领域中那被我们现在不再要去理解使用的主题和思想(如`Prolog`/`DCG`、`Lisp`/宏、`sigil`、不可变闭包、语言设计的兼容性)真是信手拈来,翻译中肯定会有不少不足和不对之处,欢迎建议([提交Issue](https://github.com/oldratlee/translations/issues))和指正([Fork后提交代码](https://github.com/oldratlee/translations/fork))! + +PS:为什么要整理和审校翻译 参见 [译跋](translation-postscript.md) + ------------------------ @@ -66,7 +75,7 @@ _Dave_对`Elixir`很感兴趣,在他的书里这样写道: 你直接看到的`Elixir`是完全不同的上层语法,源自`Ruby`。看起来不那么『可怕』语法和很多附加的甜点。 -`Erlang`的语法源自`Prolog`,并受到`Smalltalk`、`CSP`和函数式编程的影响很大。`Elixir`则受到`Erlang`和`Ruby`的影响很大。从`Erlang`借鉴了模式匹配(`pattern matching`)、高阶函数(`higher order function`)以及整个进程(`process`)和任其崩溃的(`let it crash`)错误处理(`error handling`)机制。从`Ruby`借鉴了`sigil`和快捷语法(`shortcut syntaxe`)。当然也有自创的甜点,像`|>`管道操作符(`|> pipe operator`),让人想到`Prolog`的`DCG`和`Haskell`的`Monad`(尽管相比要简单不少,更类似于`Unix`的管道操作符),还有宏的引用和反引用操作符(`macro quote and unquote operator`,对应的是`Lisp`的反引号和逗号操作符)。 +`Erlang`的语法源自`Prolog`,并受到`Smalltalk`、`CSP`和函数式编程的影响很大。`Elixir`则受到`Erlang`和`Ruby`的影响很大。从`Erlang`借鉴了模式匹配(`pattern matching`)、高阶函数(`higher order function`)以及整个进程(`process`)和任其崩溃的(`let it crash`)错误处理(`error handling`)机制。从`Ruby`借鉴了`sigil`和快捷语法(`shortcut syntax`)。当然也有自创的甜点,像`|>`管道操作符(`|> pipe operator`),让人想到`Prolog`的`DCG`和`Haskell`的`Monad`(尽管相比要简单不少,更类似于`Unix`的管道操作符),还有宏的引用和反引用操作符(`macro quote and unquote operator`,对应的是`Lisp`的反引号和逗号操作符)。 > 【译注】: > @@ -538,6 +547,6 @@ end _Dave_很喜欢`Elixir`,我也觉得很酷,我想我们会在使用过程中找到更多乐趣的。 -像是`WhatsApp`这个应用和全世界一半手机网络的关键部分都是搭建在`Erlang`之上。当技术变得更加亲和,当新一批热衷者进入阵营,让我现在怀着非常欣喜的心情关注着后续要发生的变化。 +像`WhatsApp`这个应用和全世界一半手机网络的关键部分都是搭建在`Erlang`之上。当技术变得更加亲和,当新一批热衷者进入阵营,让我现在怀着非常欣喜的心情关注着后续要发生的变化。 这是篇即兴的文章。也许会有些不妥之处,欢迎大家指正。 diff --git a/a-week-with-elixir/translation-postscript.md b/a-week-with-elixir/translation-postscript.md new file mode 100644 index 0000000..7810152 --- /dev/null +++ b/a-week-with-elixir/translation-postscript.md @@ -0,0 +1,24 @@ +译跋 +====================== + +基于开源中国社区的译文稿: [用`Elixir`的一周](https://www.oschina.net/translate/a-week-with-elixir),感谢 [petert](https://my.oschina.net/u/1422355)、[赵亮-碧海情天](https://my.oschina.net/theforever)、[Mike-Tang](https://my.oschina.net/u/566470) 同学的辛苦付出! + +为什么要整理和审校翻译 +-------------------------- + +自己在读开源中国社区的译文稿的过程,觉得可以有加强: + +1. 翻译中有不少地方还需要改正和改进(当然是因为本文的主题比较难且作者涉及的计算机领域过多) + - 约定俗成的技术术语翻译不准确 + - 翻译不完整,如_Dave Thomas_在[_Programming Elixir_](http://pragprog.com/book/elixir/programming-elixir)对`Elixir`推荐。 +1. 分页随意杂乱 影响阅读,应该按文章结构分页 +1. 没有目录 阅读不便 + 提供目录及按文章结构的分页,方便读者化整为零一节一节的阅读,进而更惬意读完整篇文章。 +1. 关键技术术语没有附上英文术语,影响理解,也不方便自己进一步搜索查资料 +1. 开源中国译文页面包含了影响阅读的杂乱内容(如译者信息、翻译评论……) + +而作为一篇经典的文章值得花力气做得更好! + +----------------- + +[« 结束语及参考资料](the-end.md)    [概述 »](README.md)