Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请教某些术语的对应中文 #1

Open
nobodxbodon opened this issue Nov 17, 2017 · 17 comments
Open

请教某些术语的对应中文 #1

nobodxbodon opened this issue Nov 17, 2017 · 17 comments

Comments

@nobodxbodon
Copy link
Member

在写中文代码的时候, 碰到一些编译器领域常用的术语, 想请教 @jeffreybaoshenlee . 第一个是Token. 比如当年龄>18, 拆成四个Token, 年龄, >, 18. 定义这个Token类, 用什么中文命名呢? 好像字段,标记,令牌都不是最好.

@jeffreybaoshenlee
Copy link
Member

jeffreybaoshenlee commented Nov 19, 2017

我覺得,字段和令牌最好先放一放。字段,容易叫人想起類(class)裡面的數據成員(data member,或者說域,field),而令牌,則容易與網絡方面的某些措施聯繫起來。

在這三種譯法中間,標記稍好一些,當然,如果要挑刺,可以說它易與 markup(也就是在 HTML 等帶有格式的文本裡面,經常成對地出現,用以起到修飾作用的那些工作代碼)相混淆。

@nobodxbodon 可以參考 wiktionary 的釋義,我覺得名詞第12義項(https://en.wiktionary.org/wiki/token#Noun )很經典:

An atomic piece of data, such as a word, for which a meaning may be inferred during parsing. Also called a symbol.

這個義項如果硬要用中文說,可以說成〔解析過程中所涉及的〕符號(symbol)或數據單元(atomic piece of data),這兩種譯法,尤其是後一種,稍顯新穎,讀者可能需要稍加適應纔行。我以後翻譯時,打算稍微嘗試一下這種說法。

@nobodxbodon
Copy link
Member Author

多谢! 很同意关于前三个的评价.
关于"符号", 个人感觉含义过大, 而且"单字"也可以是"符号", 而这里拆分出的不是单字.
"数据单元", 一是有些长, 二是和Data Element有些重合吧:

In metadata, the term data element is an atomic unit of data that has precise meaning or precise semantics.

我之前在想, 是不是直接套用自然语言的对应术语. 比如, 在"词"和"语素"之间, "词"更加接近Token的意思. 另外, 这个拆分的过程感觉和自然语言处理中的"分词"一步很像, 毕竟这一步也叫"词法分析".
看到你的释义, Token包括了"word"的含义, 那么它在"词"之外还包括了什么呢? 特殊符号吗? 接下来的问题就是, 这些特殊符号在自然语言(中文)中, 是否也可以算"词"呢?

另: 刚刚搜了一下(lol, 好像早该干的), 看到这里用的是"单词". 个人感觉"单词"简化成"词"也没问题.

nobodxbodon pushed a commit that referenced this issue Nov 20, 2017
@jeffreybaoshenlee
Copy link
Member

嗯,可以暫時把它對應成「詞」或「字」。

另外我剛才想了一下,如果覺得數據單元與數據元素(Data Element)重合,可以考慮改說成文字單元或文本單元。當然了,這種四個字的術語,用在英譯中的文章裡面,是無妨的,但是對於中文編程的關鍵字來說,自然還是選擇一個字或兩個字的術語比較好。哈哈。

還有啊,如果從俗一些的話,其實也不妨暫時把它說成「標記」,甚至是「記號」(mark),前提是不會與 markup 混淆。

@nobodxbodon
Copy link
Member Author

事实证明, 我手写Parser是不现实的...于是转向Antlr了(圈2). 估计这个库一时不会再更新了.

@jeffreybaoshenlee
Copy link
Member

嗯,看到 quan2 項目(https://github.com/program-in-chinese/quan2 )啦。加油~

@nobodxbodon
Copy link
Member Author

多谢. 其实正在犹豫下一步的专栏方向. 感觉多数人对中文编程语言的兴趣多于在现有语言中使用中文命名, 虽然正常, 但其实后者才是更接近实用的, 前者的技术门槛和耗时都更多. 不知你有什么看法?

@jeffreybaoshenlee
Copy link
Member

這……我還真沒有細想過,但是就目前的直覺來說,我怎麼覺得後者倒是更能提起興趣呢?

如果新建一門編程語言,或是發展已有的中文編程語言,那麼可能得考慮到生態,也就是看這門語言怎樣形成一整套氛圍,包括開發者、庫、開發環境等等(我忽然發現我在這個問題上面,怎麼居然變得保守起來了……我再想想吧)

@nobodxbodon
Copy link
Member Author

我开始的设想也是在现有语言/框架中的会比较现实和有听众, 因此尝试了vue, angular和Spring, 也包括Java入门等等. 现在感觉的是, 如果是对于这些语言/框架的0基础新手(很可能也是完全的编程新手), 虽然也许能让他们上手快一点, 但学习它们终究还是逃不过英文API, 吸引力就小一些了. 如果是已有一定经验的开发者, 多数可能对可读性没有那么大的要求.
很同意新建编程语言是个比较大的课题. 感觉短期内我最可能的是像"圈2"一样浅尝辄止不同的语法和实现方式, 这个的技术意义也就是减低一点新创编程语言的入门门槛. 但本身有实力设计新语言的开发者并不怎么需要这些.
另一个方面说, 其实专栏的主要目的之一是吸引人气, 让更多的人尝试和实践各个方面的中文编程. 而绝对人数最多的肯定是新手. 从这个角度说, 也许还是主攻现有语言/框架中的中文命名以及汉化常用API比较合适. 当然同时关注一些开源的中文编程项目的进展.

@nobodxbodon
Copy link
Member Author

一开始设想的编写用中文代码作示例的一系列教程(program-in-chinese/overview#5), 不知你对方向和题材有什么建议? 感觉这个和选择哪本英文书籍作翻译有点相似呵.

@nobodxbodon
Copy link
Member Author

我很想做的另一个方向是, 深耕一个实用性项目, 比如一个比较实用的库/框架, 在其中使用中文命名(先例如https://github.com/sih4sing5hong5/tai5-uan5_gian5-gi2_kang1-ku7). 这样会减小对外部英文资源的依赖(不用经常寻找下一个跟进的框架), 也方便自身对某个方面技术的深入和积累.

@jeffreybaoshenlee
Copy link
Member

用中文代碼做示例的編程教程,我想你原先那個方向沒有問題,我也同意從 PHP 等較為普遍的語言入手,只是具體應該選哪一個框架,這還需要再斟酌。或許可以問問資深的 PHP 人士?當然 Laravel 還是可以放在首選行列的,只是具體可能需要試做一下,看看這樣的實際效果如何,然後再繼續。

@jeffreybaoshenlee
Copy link
Member

深耕一個實用性項目,這是很激動人心的,哈哈。可以考慮先列出備選的題材。

@nobodxbodon
Copy link
Member Author

nobodxbodon commented Nov 30, 2017

刚发现又一个可能的入手点, 在线编程--面向新手, 以纯语言代码为主(外部库/框架依赖几乎没有), 所以在LeetCode之后又写了这篇.

是需要尝试一下PHP, 以前做过几个月的CakePHP, 但印象不深了. 不错的入门教程: 2017 版 Laravel 系列入门教程【最适合中国人的 Laravel 教程】

实用项目有几个方面想法, 不过也许需要从需求调研开始. program-in-chinese/overview#19 列出的有: 数据处理/抓取, 游戏, 艺术, 新手级网站框架(如Discuz), 还有一些具体需求尚不明了的业务领域(广告营销,新闻媒体。网赚,还有其他的需要自动化操作的领域等等)

@nobodxbodon
Copy link
Member Author

还有一个关注在线编程的原因. 像Nadesiko最新版就是默认在浏览器端运行, 感觉这是个新语言/工具接近用户的好途径, 而且有不少可能性可以想象(比如可以调用网络服务API--甚至可以作为标准库的一部分, 以弥补JS本身决定的本地操作功能的不足, 等等).

@nobodxbodon
Copy link
Member Author

刚发现的一个实用项目方向, 但是需要依赖office软件.
还有一个想法, 想参考ZLOGO语言, 利用p5js之类的绘图库, 做一个JS实现的中文LOGO语言, 可供在线编程教育使用.

@jeffreybaoshenlee
Copy link
Member

哈哈,LOGO 是個很有喜感的話題。這個想法,值得好好沉澱一下~

@nobodxbodon
Copy link
Member Author

已经做了非常初步的技术验证, 源码在, 演示在, 可以改前进长度.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants