Language Learning for Practical Programmers [0] – An Introduction

/ 0评 / 0

或许我们永远不能像孩子那样学习一门语言,但我们总是可以学习新的数学。程序员作为一点点的数学家,能不能以一种离经叛道的形式进行语言的学习呢?我想答案是肯定的。

这个系列和 The Language Update 的关系其实并不大,而是和我一开始的一些构想有更紧密的联系。不过之后的一些标题确实是在 TLU 中首先在这个博客中提出的,比如定义句 (Definition) 和布尔查询句 (Boolean Query).

在接下来的讨论过程中,我们将主要关注于语法而非词汇,因为名可名,非恒名。当然,我们仍然会在接下来的一节中讨论如何考虑字母表、词汇和短语等等内容,并尝试为其进行分类和映射。不过就 Practical 部分而言,仍然有必要强调词汇量积累的必要性。所以我们接下来的内容并不是教你如何掌握某一门语言,而更像是讨论语言学习的一般过程和特性。你仍然需要其他语言学习资料来将这个一般过程特化才能真正有所可见的成绩。以及,在之后讨论语法时,我们将不会关注具体的语序、具体的语法成分,而是直接指明哪些句式会包含哪些内容,并对这些内容加以组织。

就 Programmer 部分而言,首先我们会定义一些奇怪的原语,再在这个基础上对一些目标语言进行解构。这个过程可能会相当繁琐和吃力,以及这样习得的语言并不会是所谓 native 的,甚至会带有非常强烈的机械色彩。但用来应付考试或者用来为了各种奇奇怪怪的目的去创建一门语言而言还是足够的。至少我们能学会怎么说「我能吞下玻璃而不伤身体」。

目录


关于为什么所有连载都使用英语做标题,一方面是因为有些名词我确实无法把握正确的中文翻译是什么,这在计算机科学领域一致都是个非常让人头疼的问题。而且有些时候一些已经确定的翻译的观感还不如不翻译(比如「句柄」这种让人看起来一言难尽的翻译),最后觉得心累,就统一英语标题算了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Your comments will be submitted to a human moderator and will only be shown publicly after approval. The moderator reserves the full right to not approve any comment without reason. Please be civil.