再谈学语言的重要性
起因
因为要处理天城文,最近学习了该文字的基础知识,了解了计算机如何存储和显示字符。查阅资料时用到了英语,处理文本用到了Python语言,我又切身体会到了语言(包括自然语言和编程语言)的重要性。
自然语言
天城文的中文资料比较少,我只能找英文资料看,其中帮助最大的是Unicode官方文档。从中我不仅掌握了文字的基本特性,还了解了计算机如何处理复杂文字。用编程语言处理文本时需要查询用法,用英文关键词搜索,排名第一的几乎全是StackOverflow上的回答,可以立刻解决我的问题。如果我的英语不好,项目就很难推进下去。
使用天城文的语言中最有名的是梵语,我顺便了解了下这门古老的语言。欧洲学者发现印欧语系就归功于对梵语的研究,梵语是典型的屈折语,关于梵语有如下著名的论述:
梵语,不论哪个时期,构造都精妙绝伦:比希腊语还完美,比拉丁语还丰富,精致之处同时胜过此两者。
在梵语界有个段子,学梵语会顺便掌握一门德语。因为最早的权威梵语著作是德国人写的,季羡林当年就是用德语学习梵语,几十年过去了,这个状况依然没有改变。
由此可见,学习某些特定领域的知识要先学一门语言,因为这些知识是由某种语言承载的。比如很多人学习拉丁语和梵语这两门死语言是为了阅读宗教经典。对于科技工作者来说,如果想接触领域内的一手资料,或者与国外同行交流,一定要学好英语,这点我在英语的重要性一文中聊过。以前我国向苏联学习科学技术,所以老一辈科学家学的是俄语。
说到学外语,我很想学一门典型的屈折语,因为英语的屈折变化所剩无几,构词逻辑烂到家,使用字母文字竟然还要音标,实在是印欧语之耻。但我现在连流畅阅读新乡时报都做不到,哪有理由去学其他外语呢,好好提升英语词汇量吧。如果以后真要学其他语言,我估计会选择拉丁语,它的难度比另外几门古典语言小,欧洲各国语言都深受拉丁语影响,会拉丁语对学英语很有帮助。拉丁语是死语言,不用管口语和听力,应该比德语和俄语更省力。
编程语言
我用Python脚本语言处理天城文文本,C和C++我更熟悉,但用它们做文本处理太麻烦了。Python除了简单易学外,还有个重要的优点是第三方库丰富,非常小众的功能都有相关的库可以用。在计算机行业,从事特定的工作就要学习最适合的语言,做嵌入式或底层编程要学C语言、做前端要学JavaScript、做数据分析要学Python、犹豫不决就学Java……
除了文本处理外,我还要写C代码测试,在C和Python两种风格迥异的语言之间频繁切换有点不适应。比如写C语句时经常忘了在末尾加分号,写Python函数时总想加上参数类型。写C时想念Python丰富的功能和简洁的表达,头疼Python的奇技淫巧时又会羡慕C的简单直接。和自然语言一样,不同的计算机语言不仅有规则上的差异,还有着不同的思维方式。
结束语
最后,祝各位都能掌握好一门外语:
学习外语,贵在坚持。学习和掌握一门外语不容易,需要付出艰苦努力。只要把握规律,坚持不懈,日积月累,就一定能不断有所收获。