开元周游
德国频道
查看: 1403|回复: 3
打印 上一主题 下一主题

[软件] 牛人观点:汉语是世界上唯一面向对象的高级语言

[复制链接]
跳转到指定楼层
1#
发表于 8.10.2009 12:15:49 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
即时机票
牛人观点:汉语是世界上唯一面向对象的高级语言
  文:锄禾/ 网上看到过很多有关汉语和英语比较的文章,他们写的都很不错,

  并且列举了大量的事例来证明汉语或者英语是优秀的。不过,我想用计算机软件设计的观点,来理性地分析汉语和英语的优缺点。经过分析,我可以断言:汉语是世界上唯一一种面向对象的高级语言。而以英语为首的其他语言,则属于密码型的索引语言。下面通过问答的方式来解释这种观点,如有不妥之处,请大家指摘。

  一.什么是对象

  在计算机世界里,对象(Object)就是人们要进行研究的任何事物。小到螺丝钉,大到飞机,都可以被看成是对象,并且有具体的属性和操作。以为例:颜色、体重等是它的属性;而吃饭、撒娇、警卫等则是它的操作。

  同样,对于语言来说,一个汉字或者一个单词也可以被看成对象。再次以(dog)”为例: 发音和拼写可以被看成是属性,而它的定义 则可以被看成是操作。

  二.什么是面向对象 它有哪些主要特点?

  面向对象主要是指程序的设计方法。它主要有三大特征:封装、继承、多态。

  三.什么是封装?

  在软件设计中,封装是指将接口与实现显式地分开,并对内部的实现提供保护(即掩藏实现细节)。封装防止了程序相互依赖性而带来的变动影响,是保证软件部件具有优良的模块性的基础,是面向对象设计的前提条件。

  四.如何考察自然语言的封装性?

  封装的两个特点就是:接口和实现分开 以及保护内部的实现。同样的道理,我们可以用下列四个标准来考察自然语言的封装性:

  1.外形接口:所有词汇的外形是否是一致的。

  2.定义接口:特定词汇的定义是否只有一个。

  3.读音接口:特定词汇的读音是否只有一个。

  4.拼写方法是否固定的。即不会随着场景的变化而变化。

  五.汉语和英语具有封装性吗?

  (1)首先来考察一下汉字。

  1.汉字的外形接口:众所周知,所有汉字的外形都是四四方方的方形。

  2.汉字的定义接口:大多数汉字的定义只有一个,当然也存在数量不多的多义字。

  3. 汉字的读音接口:绝大多数汉字的读音只有一个。当然也存在多音字(一般也是多义字),最典型的是字,它有两个读音zhongchong,前者是分量大、主要的意思,后者是重复繁冗的意思。但是像这样的多音字数量很少,读音也最多只有两个,常见的多音多义字只有100多个。

  4.汉字的拼写方法是否固定的,不会随着场景的变化而变化。虽然汉字有繁简之分,但是不可能在一段文章中同时出现繁简两种字体,因此姑且不论。

  (2)再来看看英语:

  1.英语单词的形状不是固定的,有短有长。短的有象“I”(),只有一个字母;而长的有“pneumonoultramicroscopicsilicovolcanoconiosis”(矽肺病),总共有45个字母。

  2.英语中的多义词太多了,比如我们熟悉的“book”,不仅有书和课本的意思,还有预订、登记、立案的意思。再如“man”,除了有人和男人的意思之外,还有操纵、配备人员的意思。

  3.英语单词的读音会随着拼写的变化而变化。

  4.英语单词的拼写方法不是固定的,会随着场景的变化而是变化。不仅字母有大小写、名词有复数形态,动词还也有让人头疼的时态变化。

  复数形态的例子:“book”复数词是“books”“man”复数词是“men”,拼写和读音都发生了变化。

  动词时态的例子

  一般现在时: I do it every day.我每天做这样的事

  一般过去时: I did it yesterday.昨天我做了这件事

  一般将来时: I shall/will do it tomorrow.明天我要做这件事

  现在进行时: I am doing it now.现在我正在做这件事

  现在完成时: I have done it already.我已把这件事做好了

  一个do需要dodiddoingdone4种拼写方法来表达""的各种状态,而汉语仅仅加一些常用的副词就可以表达了。

  结论:汉语是封装性的语言,但是并不完美,因为存在少量的多音字和多义字。而英语则完全没有封装性可言。

  六.什么是继承?

  在程序设计中,继承是指子类自动享用父类的属性和方法,并可以追加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,这也是面向对象的主要优点之一。继承又分为单重继承和多重继承。单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。熟悉IT的人都知道,Java是一种单重继承语言,而C++是一种多重继承语言。

  想提醒的是,在计算机语言中,具有相同或相似性质的对象的抽象就是类。也就是说,对象的抽象是类,类的具体化就是对象。类是可以继承的,对象是不能被继承的。但是自然语言中并没有类的概念,为了说明的方便,下面的解说中使用了对象继承的说法,请计算机专家们谅解。

  七.如何考察自然语言的继承性?

  只有一个标准:是否大规模地存在字造字词生词的现象。

  八.汉语和英语具有继承性吗?

  (1) 首先说说汉字,汉字的一大特点就是形音字众多,形音字具有意音双表的功能。举一个简单的例子:围、圆、园、圈。这4个字的外围都是字,是用来表意的;而中间的韦、员、元、卷则是用来表音的。用软件设计的观点来看,这就是单重继承,被继承的是,而则是它们各自的特征。

  除了单重继承之外,汉语里也存在大量的多重继承,这就是词组。词组本来的定义是:由多个汉字所组合而成的语法单位。但是,从程序员的角度来看,词组的定义是:从多个对象继承而来的新对象。

  下面例子分别标注了词组分解前后的汉英解释。可以一目了然地发现,无论是拼写或是定义,词组都是对汉字的完美继承,而英语则毫无瓜葛。

  飞机(plane) = 会飞行(flight)的机器(machine)

  工人(worker) = 在工厂(factory)工作的人(man)

  解放(liberate) = 解开(unlatch)后释放(release)

  计算机(computer) = 能计算(calculate)的机器(machine)

  (2)英语也有继承,那就是复合词。比如:

  football 足球

  handwriting 书法

  breakwater 防浪堤

  或许是因为单词长度限制(即缺乏封装性)的原因,它们数量很少,所占的比例极低。对中国人来说有点难以理解的是,很多应该是复合词的单词,却被不相干的词汇所代替,比如:

  猪 pig 公猪 boar 母猪 sow 小猪 piglet 猪肉 pork

  牛 cattle 公牛 bull 母牛 cow 小牛 calf 牛肉 beef

  羊 sheep 公羊 ram 母羊 ewe 小羊 lamb 羊肉 mutton

  汉语的话,只需要7个基本汉字:猪、牛、羊、公、母、小、肉,其它的都是组合而成的。而英语则需要记住15个没有任何关联的词汇。再比如:

  一月 January

  二月 February

  三月 March

  四月 April

  五月 May

  六月 June

  七月 July

  八月 August

  九月 September

  十月 October

  十一月 November

  十二月 December

  汉语是用数字加上表达月份,而英语却使用12个完全没有共同特征的单词来表达月份。

  结论:汉语具有完美的继承特征。英语从总体上来说,还不能被称为具有继承性的语言。

  九.什么是多态?

  多态是指相同操作接口的方法 在不同的对象中调用可以实现的不同结果。多态和继承是对同一现象的不同描述,继承是强调对象的共同特点,而多态则是强调对象的灵活性。继承是设计层次上的概念,而多态是继承在运行时的表现。

  十.如何考察自然语言的多态性?

  我们已经知道:多态的前提条件是继承;好处是可以在运行时强调对象的灵活性。具体到自然语言,我们可以这样理解:多态性的词汇可以在相互交流的时候,增加理解的灵活性。具体做法就是在交流的时候,仅仅使用一些概念性的词汇,让不同的听众或读者有不同的解读。

  所以,衡量自然语言是否具有多态性的指标是:

  1.是否大量存在能表达概念性的词汇。

  2.这些概念性的词汇是 被具体的词汇所继承。强调继承的原因有两点:一是因为多态性的定义,另外一个原因是它可以增加由虚到实、由概念到具体的联想速度。

  十一.汉语和英语具有多态性吗?

  (1)汉语的多态性无处不在,主要表现在两个方面:一是有很多的被继承的、能表达概念性的词汇,另外一个就是汉语拼音。

  首先说说被继承的概念词汇,它们主要在口语中被使用。比如:我要坐车去上海。这里的车(car,vehicle)是一个概念性的词汇,具体是哪一种车,则根据听众的不同而不同,可能是汽车(car)、出租车(taxi)、公共汽车(bus)、火车(train)等等。与英语不同,汉语的字是被继承的,所以人们会很快地联想到汽车、出租车、公共汽车等词组。而使用英语的人们则需要从记忆中搜索(而不是联想)与车相关的交通工具。类似的词汇在汉语里有很多,再比如:去商场买一点肉。这里的肉(meat)有可能是猪肉(pork),也有可能是牛肉(beef),或者是鸡肉 (chicken)等等。

  再说说汉语拼音的多态性,汉语拼音有4个音调,在没有标注音调时候,需要根据上下文的理解来决定是哪一个音调。比如 zhong guo的音调应该是zhōng guó 即使是在标注音调场合,也需要根据理解来决定是哪一个汉字。再比如zhōng guó的汉字应该是中国,而不是忠帼

  由此我们也可以看出来:多态一方面可以降低了交流的准确性、另一方面也提高了说话的灵活性和信息量。

  (2)英语虽然也有大量类似vehiclemeat的概念词汇,但是却没有被广泛地继承。另外想提醒的是:英语的时态不是的多态性的表现。原因在于:

  1.英语时态的主体是动词(即动作),它强调了动作执行状态的不同(没做、正在做、做完了),而不是执行结果的不同。

  2.多态是指具有相同特征,但是因为对象不同而导致结果不同。它强调是执行结果的不同。

  因此说时态不是多态。以软件设计的观点来看,如果对象的状态发生了变化,就必须更换成另外一个对象,这是一件不可想象的事情,会导致对象无限增多从而失控。

  结论:汉语具有多态性,而英语并不具备。但是多态对于语言来说,可能没有太多的作用。
4#
发表于 8.10.2009 18:18:43 | 只看该作者
回复 支持 反对

使用道具 举报

3#
发表于 8.10.2009 16:20:51 | 只看该作者
强帖
果然是汉语更加高级和抽象
但是如同编程一样
高级语言和底层语言各有各的特点和优势。。。
回复 支持 反对

使用道具 举报

2#
 楼主| 发表于 8.10.2009 12:22:45 | 只看该作者
本帖最后由 三岛由纪夫 于 9.10.2009 15:17 编辑

Ich habe eine andere Idee über den Polymorphismus in Linguistik. Der Polymorphismus der Chinesischen Sprache liegt in keiner Beugung (Konjugation) und keinem Kasus in verschiedenen Plätzen eines Satzes.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 27.11.2024 15:07

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表