五千年(敝帚自珍)

主题:【原创】庖丁解字之 追亡逐北 : 汉字发展史上的函数重载 -- 丁坎

共:💬17 🌺24
全看树展主题 · 分页首页 上页
/ 2
下页 末页
家园 【原创】庖丁解字之 追亡逐北 : 汉字发展史上的函数重载

追逐二字,现在没有什么意义上的分别。

这种意义上的无差别状态最晚在贾谊那时就形成了。

读过《过秦论》的朋友多半对

追亡逐北,伏尸百万
的描写有深刻印象。此处北即败北,亡即逃跑,都是指人无疑。

许慎先生在说文中这样解释:

追,逐也。从辵𠂤聲。陟隹切

逐,追也,从辵,从豚省。

以两字互训,可见他也认为二者没有意义区别。

当然这不能怪他,他生活的时代离汉字起源的时代已经有相当距离,没有接触到早期的文字运用资料。殷墟甲骨文字出土后,文字学家们接触到了原始的文字资料,拥有了比许慎更好的研究条件,所以能看到他看不到的东西。当然,正如机会只属于有准备的头脑,资料也只属于有洞察力的慧眼。杨树达先生就是个独具慧眼的人,他能从追逐二字的甲文字形

点看全图

外链图片需谨慎,可能会被源头改

点看全图

外链图片需谨慎,可能会被源头改

中判断出,逐专用于豕,而追专用于師的左部,即师,师即众也,如兴师动众。(这个有更详细的解释,此处略去。)

也就是说,追是用于人类的,而逐是用于动物的。

这个判断,通检甲骨卜辞,无一不合,凡是追人都是用的追字,而凡是追动物,不管是猪,马还是鹿都用的逐字。

杨树达先生的发现得到了学界交口称赞,被誉为创获,定论。

追逐二字由泾渭分明到合二为一所经历的历程,用程序语言的眼光来看,就是一个函数重载。

什么是程序语言中的函数重载呢?

函数的输入值,即变量,具有不同类型,比如说

int 整型, float 浮点型等等。

我们举最简单的例子,比如说要求一个数的平方。

在早期的程序语言里,这需要:

写一个函数 square_int(), 来接受整型变量作输入值。

再写一个函数 square_float(), 来接受浮点型变量作输入值。

但是这样对用户很不方便,当他们想求一个数的平方时,必须首先分辨这个数的类型,而这种分辨对于要用户要实现的功能又没有什么意义,对用户来说纯粹是多此一举。

他们的愿望就是一个简单的函数square(), 既可以接受整型变量,也可以接受浮点型变量。

这个愿望被后来的程序语言研究者给予了满足,他们把分辨类型的工作从用户那里转移给了

编译器,用户可以把不同类型的变量输入同一个函数,而编译器确定类型后再执行相应的操作,这就是函数重载(overload)。

用这种眼光来看,追逐二字原本是两个函数:

追:

void 追 (人 A)

{

while(自己与A的距离不为零)

{

沿自己与A的连线向着A奔跑;

}

}

逐:

void 逐 (动物 A)

{

while(自己与A的距离不为零)

{

沿自己与A的连线向着A奔跑;

}

}

这跟那两个平方函数一样很累赘---追谁还不是追,还不是以目测和奔跑为实现手段,所以啊,人们用着用着就搞出了函数重载,

追,逐,追逐都可以不加区别地接受动物和人类两种类型的变量。

再解释两句:

我们在说话,写文章的时候,相当于用户。

而在听人说话,读文章的时候类似于编译器---别人的话和语言就象程序一样在我们的脑海里复现。

本来是当讲话者想说追或逐的时候,要首先判断对象是人还是动物,根据对象选择用追字还是逐字。而听

话者一听追还是逐,不等后面的字出来,就已经明白了对象是人还是动物。此处分辨的负担在说话者。

函数重载后,

当你想说追或逐的时候,不在需要分辨对象类型,而把分辨的负担留给了听讲者---此时他不能再根据追或者逐来判断对象,而必须竖起耳朵听下文。

家园 追逐合流,函数重载,精彩!

献花还债

家园 精彩!

非常详细和清晰地解释了,文字在语言交流过程中,传达者和被传达者之间的内容、含义的变化。

叫您为XS,我真没有叫错。可惜,您就不收我这学生!

家园 原来丁兄是IT人士

不仅研究中国语言,还研究编程语言。

关于“追逐”我还有个疑问。从现在的字形上看,实际上很容易猜出来“逐”是针对动物的,“追”字不那么容易,但如果知道是对应“师”,那还是能猜出来。我的问题是,为什么许老先生没看出来呢?是不是因为他治学严谨,在没有看到最初的字形的情况下,没有乱讲,采用了最保守的解释?

家园 精彩,献花
家园 这个?猪能代表所有的动物?

豕就是猪。追猪能代表追所有的动物?为什么不是追马,不是追狗,而是追猪?

如果说猪是最早被人类驯养的动物。都已经驯养了,还追什么?而且狗被驯养的历史也不短啊。

如果说猪是早期人类能够追得上的动物,那么马又是怎么被驯化的呢?

反过来说,追人的追是人追人还是动物追人?

俺觉得逐和猪的发音相近,其实表明远古时代大家经常在追赶猪或被猪追赶。头猪二熊三老虎,野猪发狠是很厉害的。所以就把这种跑来跑去的行为拿来作这种动物的名字了。

呵呵。玩笑而已,老兄不必认真。

家园 夸父逐日,日已经不是动物了。追非人类都用逐?
家园 许慎其实是知道的

此处称追的右部为X,

说文有:

官,史,事君也。从宀从X。X,猶眾也。此與師同意。古丸切

外链出处

可见许慎知道X是什么意思,只不过他那个时代追逐的用法已经没有明显区别了,所以他没有意识去分辨它们。

错过了辨识字源的机会。

家园 函数重载完成的时间

写帖子的时候因为想起追亡逐北这个成语,追逐并用,很明显地表现了函数重载,所以偷了个懒,直接说最晚在贾谊的时代。

(这个时代已经在许慎之前了,可以解释说文的失察。)

而早到什么时候呢,查了一下,发现在先秦文献中函数重载已经完成了。

今之与杨墨辩者,如追放豚,既入其苙,又从而招之

------孟子 尽心下

而左转中有多处逐人的记载,最有说服力的是:

逐寇如追逃,军之善政也。

------- 左传 文公七年

那么,山海经中的 夸父与日逐走 就不足为奇了,与之

论语还有往者不可谏,来者犹可追。,

家园 也稍微解释一下

既然是玩笑,我就不当真了,稍微说说:

字形上看得分明,足形在豕形之后,很清楚是谁追谁。

由在后的位置关系来表示追逐,这在现代英语中也得到了保留:

That boy's always in trouble - the police are after him again.

家园 许慎其实是知道“原来丁兄是IT人士”的

多谢解惑。把你解答帖和我的问题帖标题合起来就成了:许慎其实是知道“原来丁兄是IT人士”的。许老先生在天之灵有知,一定会感激丁兄今天所做的工作的。

家园

许慎先生是知道的---我不是IT人士。

至于这些帖子嘛,我不过是做个搬运工而已,把文字学家们的成果介绍一下。

好东西应该分享。

家园 这个倒是不一定

这个甲骨文里很难说谁在追谁吧?如果以足和豕的位置而论似乎说猪追人也不为过。英语和汉语的语法有类似,但也有很大的不同。“追亡逐北”没有说成倒装的“北逐亡追”的用法吧?

家园 逐是略偏贬义的,追基本是中性的

追逐二字虽然互训,但逐被用到的地方大多略有贬义,例如 “逐客令、放逐、驱逐、逐利” 等等。

当然也有例外,如“笑逐颜开”。

家园 不怕你认真,就怕你不认真

既然认了真,我就好好讲讲,为什么是人追猪,而不是猪追人。

先看字形

点看全图

外链图片需谨慎,可能会被源头改

人的足形符号是脚趾向前的,如果是猪追人,就应该把猪的头和人的足同时调一个方向。

这是没有丝毫怀疑余地了,看看下面两个字就知道了。

各,即到。

点看全图

外链图片需谨慎,可能会被源头改

点看全图

外链图片需谨慎,可能会被源头改

到一个地方,脚趾指向接近那个地方的方向。

而出一个地方,脚趾指向离开那个地方的方向。

对比这两个字,看看脚趾是在逼近猪还是离开猪,就知道是人追猪还是猪追人了。

猪追人:猪的头逼近人的脚后跟。

人追猪:人的脚趾接近猪的尾巴。

本来是想单独写一篇的,现在也懒得写了,就这样给出来吧。

全看树展主题 · 分页首页 上页
/ 2
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河