中国黑客传说:游走在黑暗中的精灵

V.jpg

声明:本文内容禁止讲给16岁以下的小朋友听,以免吓坏小朋友。出于保护当事人的原因,禁止任何人在任何时候以任何理由向我打听其人其事,我不会做出任何回复。我不对本文的真实性负责。本文禁止任何媒体转载,但允许个人转载至微博或个人博客!


本文中所有的人物都将匿名,请不要去猜测他是谁,也请不要试图寻找他,这只会给你我都带来不必要的麻烦。如果你竟然强大到能够以势压人,那么我的回答只会有一个:“我在微信里胡乱吹牛B的,这你也信?”,所以请不要浪费你我的时间。


—— 我是膜拜的分割线 ——


他是我所认识的最强大的地下黑客之一,在本文中我姑且称他为V。


之所以是之一,是因为我还认识另外一个叫A的黑客,A宣称自己成功入侵了包括Google、Facebook、Twitter等你几乎能叫得上名字的所有大型互联网公司。


而V要低调的多。


我认为V已经是地下黑客世界中的王者,虽然他从不肯告诉我他入侵的那些公司的名字,但我仍然会毫不犹豫的将他列为当今世界上最强大的黑客之一。


V至今仍恪守着古老的黑客守则,就如同中世纪的骑士们执着于骑士精神一般。他从不在任何公众场合谈论入侵了什么网站,入侵后也从不删除数据或是进行破坏,他也不会用入侵获得的成果来牟利。


V只是一个人,他的身后没有任何的机构或组织,因此才更加的难能可贵。



幽灵


“我曾经持续观察了一个女孩3年,3年中一直看着她和男朋友谈情说爱。她是个美女,我只见过她两次,是朋友的朋友。


最后她没有选择一直在谈情说爱的男朋友,而是和一个比她大了8岁的男人结婚。当她和那个比她大8岁的男人的结婚照出现在相册时,我彻底被现实社会给击败了。”


V坦诚,有时候他喜欢窥探他人的隐私。我告诉他,窥私欲是人类的天性,是所有黑客走上黑客之路的源动力。


QQ查找好友的“可能认识的人”,把女孩推荐给了V(朋友的朋友)。女孩用自己的照片做了头像,所以一眼就能认出来。随后V查看了女孩的个人资料,知道了女孩的邮箱地址。V查出了女孩用的网易邮箱的密码(下文会解释),发现密码很有规律,是“姓名全拼+!@#”,或者“woaini+生日+姓名全拼”。


V进入女孩的邮箱后,发现女孩注册了12306用来订火车票。V通过这个注册邮箱,获取了女孩在12306的密码。登录12306后,V得到了女孩和她家人的所有身份证信息以及出行记录。同时女孩在携程上预订的机票信息也会发送到这个邮箱。自此,女孩只要出行想去什么地方,去过哪里,全都在V的掌控之中。


网易邮箱为了保护账户安全可以绑定QQ。V看到女孩的网易邮箱没有绑定QQ,就去绑定了一个自己的QQ。这样就算女孩把邮箱密码换了,V也能够通过绑定的QQ号强制改回来,从而实现了对女孩的终生监控。女孩至今都没发现安全认证的QQ号不是自己的。


有一次,V用一个QQ的XSS漏洞,获得了女孩在腾讯的Cookie,从而能够浏览她的微博私信、QQ空间、私人相册、朋友网、QQ每天都和谁说话了,QQ每天在哪里登陆过(如果对此技术有疑惑或者有兴趣的朋友可以查阅拙作《白帽子讲Web安全》)。V就像一双隐形的眼睛,在背后默默的注视着女孩的一举一动,一颦一笑。也许V比女孩最亲密的人,都更了解女孩的一切。


这里没有什么狗血的爱情故事,V只是默默的观察着,而从未惊动过女孩。


V还控制了很多大型商场、写字楼的内网。有一段时间,他曾经研究过保安的行为。


“公司给保安们安排的监控电脑,是无法上网消遣的。我看到有几个技术型保安,买了一个叫如意天线的东西,专门破解附近无线密码的玩意,还带无线网卡功能。


他们把用来监控的电脑装上了这个如意天线网卡,破解了写字楼很多楼层的密码,记录在一个文档里面。比如:WIFI名,密码是多少的一个文档,大约有几十个。


保安对于整个商场的网络安全来说,是个很大的隐患。我还特意登录了他们用的客户端,看他们平时都做些什么,研究他们。保安们每天用电脑的需求就是聊QQ,上网看电影。”


我想监守自盗,不过如此吧。


控制了商场的内部系统就能修改充值卡、积分卡的数据,从而免费购物,V也验证过这一点。



翻手为云


不过观察女孩、研究保安、控制商场和写字楼都只是V强大能力的冰山一角。V通过控制公共服务设施,具备了很多只在电影中出现的很科幻的能力。


V都不太好意思提像“伪造任意手机号码发送短信”等半公开的技术。V能够做到查询指定手机的短信内容、通讯记录。还能查到指定手机号当前所在基站的编号,然后找到对应编号基站的物理地址,这意味着他能快速定位到任何一个人的真实地理位置所在。这一切都基于V对运营商内部系统权限的控制。也许你已经意识到了,控制了运营商的内部系统,就可以针对每个省的手机用户实现定向推送短信。


V已经拥有了强大的舆论控制能力。借助社交网络和新闻资讯网站,以及运营商级别的手机广播,V可以让自己的思想在10分钟内传遍整个互联网。但V从未滥用过他的能力。


V控制了大部分粉丝数量在百万和千万级的微博大号,他给我展示的战果里不乏像苍井空、欧弟这样的人民艺术家。他告诉我,大部分微博大号都是经纪人在打理,而非本人,真不知道粉丝们每天瞎起个什么劲。所以“何润东”同学的“大概8点20分发”可能也是这样闹出来的乌龙。V在一些影响力巨大的微博大号后台里仔细研究过他们的行为,有些大号也是本人在操作,比如李开复、keso等意见领袖。


“咳咳,那个谁,keso同学,你的密码是7位的数字,赶紧找个时间改改吧!”


如同往常一样,V并未惊动这些大号们,只是在背后默默的观察着他们的一言一行。


“观察女孩子是猥琐的事情,我还希望能够做些正义的事情。”,V说。


“你有没有想过未来像维基解密的创始人阿桑奇一样,揭露一些真相?”,我问。


“也许吧,我希望让更多‘需要靠奥特曼打小怪兽培养正义感’的年轻人们,能够有机会倾听到社会真正的声音。”,V如是说。


无独有偶,阿桑奇在接受TED采访时,也谈到“纳税人有权知道他们缴税来支撑的这些事情的真相。”


自古侠以武犯禁,人在做,天在看。多行不义者,小心会被V盯上后“研究一段时间”。


V告诉我,他控制过很多电力、自来水、煤气等基础设施服务公司。以电力公司为例,一个小区在开发商开发好后,随着房子卖出,物业公司会联系电力公司为每家每户布线装表。此时,业主的联系信息(和房产证的信息基本一致)将被写入电网的相关系统,只要在电网、自来水公司、煤气公司的数据库里查询一下记录,就能查出很多“房叔”、“房姐”之类的人。



地下世界的王者


对于真正强大的黑客来说,已经勿须再关注是否能控制个别网站的权限,V所控制的权限都是以“行业”为单位来划分的。


“网页游戏行业90%的公司,一些大型电商、大型论坛,80%的连锁酒店行业,80%以上的在线预订行业,手机App排行比较高的公司,几家最大的航空公司……”,V拉出了长长的一串名单。


我问V,“还有什么网站是你黑不掉的吗?”


V答道:“目前成功率是100%,只要有耐心,还没有黑不掉的。


有几个站,我已经持续盯了6年了,我的感觉是快要拿下了。


黑站黑多了,你就会有这样的直觉。”


我想任何网站一旦知道有一个像V这样的人在长期惦记着,都会感到毛骨悚然吧。这种长期的、持续的攻击方式,在安全行业里有一个专业术语,叫APT(Advanced Persistent Threat)。但V对此不屑一顾,他不知道为什么这么好玩的事情一定要加上一个专业名词。


“以前我会自己去找一些WEB程序的0day,现在基本上不需要了。


现在靠的是对目标的了解。把目标分解后,不一定非得在WEB系统上耗时间。和目标相关的所有人,或者同一交换机,同一骨干路由下的服务器也会成为我的攻击目标。


每一次攻击行为都做到极致,对手其实是自己,而不是任何其他系统或人。重要的是整个攻击过程开心就好。还有一种感觉我说不出来。每一次证实自己的想法,做到极限的时候,都会伴随着快感。”


V发现了很多独特的,有创意的攻击手法,他也乐在其中。“Hacking For Fun”在他的身上体现的淋漓尽致。



领先一个时代的攻击技术


V对国内的公司兴趣已经不大了,因为没什么挑战。目前V走上了国际化的道路。


他最大的成就,是积累了一个去重后有13亿条数据的数据库。每条记录,都包含了用户名、密码、身份证号(社保ID)、手机号、邮箱、登录IP等信息。


对于V来说,想知道谁的密码,只需要在库中简单的查询一下,马上就得到了。有时候密码经过了哈希算法的处理,需要经过彩虹表的反查,或者V会拿到一个云计算中心去用分布式计算框架破解(对技术有疑惑或者有兴趣的读者可以参阅拙作《白帽子讲Web安全》)。所以V能够直接查到女孩的邮箱密码。


“道哥,你的Facebook账号和Twitter账号都是同一个弱口令,好多年了,改改吧。”,V一脸坏笑的对我说。


V在入侵的过程中,遇到任何需要破解的账户,大部分都可以直接查询出密码,无往而不利。这个数据库,像滚雪球一样越滚越大,最终量变形成了质变。


在前几天,Youtube刚刚宣布他们的月度活跃用户数达到了10亿,这意味着互联网上每两个网民中就有一个是Youtube的活跃用户。V可能会在背后暗自偷笑吧,他的13亿去重后的用户数据,也覆盖了半个互联网。每两个人中,就有一个人的密码在V的掌控,你会不会是那一个人呢?


当其他的小黑客们还在摆弄着各种扫描器和0day的时候,V已经用领先了整整一个时代的技术 —- 大数据的方式 —- 来黑网站了。


在真正强大的黑客面前,互联网公司的任何防御措施都像是一张纸,显得如此的薄弱,一捅就破。黑客们只能靠道德来约束自己的行为,能力越强,责任越大。


V最后给了我一张图,也许你们已经猜到了,就是本文的配图(点击图片可查看高清无码大图)。V从他的13亿条记录中轻巧的抽取出了80万登录IP,绘制了这张铺满全世界的地图:


从空旷的格陵兰岛,到炽热的撒哈拉大沙漠;从寒冷的西伯利亚,到充满野性的亚马逊丛林;从北极冰原,到太平洋、大西洋上星罗密布的岛屿;


V,在这个星球上,还有什么地方是你不曾征服的吗?你点亮了全世界!



—— 后记 ——


V的故事,就讲到这里吧。不要问我他是谁,小心他就潜伏在你身边哦。


本文涉及到很多敏感信息,媒体的朋友请不要转载了,因为媒体一转载,性质就不一样了,何况你无法向我求证,我不会回答。


个人想转载至SNS或微博,我也无法阻止。不过任何转载请注明是来自微信公众账号:道哥的黑板报,微信ID:taosay。


最后,无论本文你是看的爽了,还是不爽,都可以给本文打个分,满分100,发送给我。如果还能带上一句评论,就更好了。


谢谢你们对道哥黑板报的支持,也谢谢V愿意接受我的采访。


V接受我采访的初衷,是希望告诉大家,真正强大的黑客们“在尝试去做对这个社会有正面价值导向的事情,而不是去让这个社会变得更糟糕!”


正如你们所想,V只是一个符号,同时也不仅仅只是一个符号。


======

本文内容来自微信公众账号:道哥的黑板报。微信ID:taosay


历史文章

Read more

[转]汉语是世界上唯一一种面向对象的高级语言

原文的作者:锄禾 若与此文内容有疑问请与原作者取得联系,若与转载又以为请与本人取得联系

声明:除了汉语之外,我只会一点英语和日语。因此说是“唯一”略显夸张,有吸引眼球的嫌疑,请大家原谅。严谨地说,标题应该是“汉语是一种面向对象的高级语言”。

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

一.什么是“对象”?

在计算机世界里,对象(Object)就是人们要进行研究的任何事物。小到螺丝钉,大到飞机,都可以被看成是对象,并且有具体的属性和操作。以“狗”为例:颜色、体重等是它的属性;而吃饭、撒娇、警卫等则是它的操作。
同样,对于语言来说,一个汉字或者一个单词也可以被看成对象。再次以“狗(dog)”为例: 发音和拼写可以被看成是属性,而它的定义 则可以被看成是操作。

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

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

三.什么是封装?

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

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

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

  1. 外形接口:所有词汇的外形是否是一致的。
  2. 定义接口:特定词汇的定义是否只有一个。
  3. 读音接口:特定词汇的读音是否只有一个。
  4. 拼写方法是固定的,即不会随着场景的变化而变化。

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

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

  1. 汉字的外形接口:众所周知,所有汉字的外形都是四四方方的方形。
  2. 汉字的定义接口:大多数汉字的定义只有一个,当然也存在数量不多的多义字。
  3. 汉字的读音接口:绝大多数汉字的读音只有一个。当然也存在多音字(一般也是多义字),最典型的是“重”字,它有两个读音zhong和chong,前者是分量大、主要的意思,后者是重复繁冗的意思。但是像这样的多音字数量很少,读音也最多只有两个,常见的多音多义字只有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需要do、did、doing、done这4种拼写方法来表达”做”的各种状态,而汉语仅仅加一些常用的副词就可以表达了。

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

六.什么是继承?

在程序设计中,继承是指子类自动享用父类的属性和方法,并可以追加新的属性和方法的一种机制。它是实现代码共享的重要手段,可以使软件更具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,这也是面向对象的主要优点之一。继承又分为单重继承和多重继承。单重继承是指子类只能继承一个父类的属性和操作;而多重继承是指子类可以继承了多个父类的属性和操作。熟悉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)英语虽然也有大量类似vehicle、meat的概念词汇,但是却没有被广泛地继承。另外想提醒的是:英语的时态不是的多态性的表现。原因在于:

  1. 英语时态的主体是动词(即动作),它强调了动作执行状态的不同(没做、正在做、做完了),而不是执行结果的不同。
  2. 多态是指具有相同特征,但是因为对象不同而导致结果不同。它强调是执行结果的不同。
  3. 因此说时态不是多态。以软件设计的观点来看,如果对象的状态发生了变化,就必须更换成另外一个对象,这是一件不可想象的事情,会导致对象无限增多从而失控。

结论:汉语具有多态性,而英语并不具备。但是多态对于语言来说,可能没有太多的作用。

十二.面向对象能解决什么问题?

传统的软件开发方法存在下面3个问题:可维护性差、重用性差、不能满足用户不断变化的需要。为了解决这三个问题,面向对象概念被逐步推广和应用。同样地,与汉语相比英语也存在3个类似的问题:

  1. 很容易出错。由于英语没有被封装,再加上语法众多,诸如:动词时态、复数形态、虚拟语气等等,导致单词不断的变换,让人无所适从。
  2. 重用性差。原因不用多说,就是因为它没有继承性,导致单词量庞大。相比而言,汉字的重复利用率非常高。《毛泽东选集》共5卷,但是只用了不到3000不同的汉字。
  3. 不能满足现代知识爆炸的需求。对待新生事物,英语会使用一个只有专业人士才懂的新单词,而汉语会根据主要的特征来组合汉字,可以让非专业的人们也能理解。比如:
  4. 四环素 acheomycin
    变阻器 rheostat
    肾结石 nephrolith
    七边形 heptagon
    长方体 cuboid
    而面向对象的汉语就不存在上述三大问题。

十三.为什么说汉语是高级的?

首先要指出的是,高级并不意味着高效。就像绝大多数程序员喜欢使用Java和C++,而不是机器语言和汇编语言一样。虽然机器语言和汇编语言执行速度很快,但是它们和人类的思维并不接近,不能适应大规模、快速、高质量的软件开发。
正因为汉语具备面向对象的特征,所以说汉语的高级之处在于容错性强、通用性强、扩充性强、语句简短、便于信息的交流、能让人们快速地学习新知识。

十四.日语也是面向对象的语言吗?

日语有两种文字组成:假名和汉字。假名是字母语言,它包括平假名和片假名,就像英语的大小写一样,它不具备面向对象的三大特征。而汉字的读音又分为音读和训读。音读和中文的发音相似,训读则完全不一样。比如“有”的音读是yu,训读是u和aru。日本的前首相麻生太郎就在这上面栽过跟头,他曾经把“未曾有”读成mizoyu,正确的读音应该是mizou,结果让媒体狠狠地涮了一顿,一度被讥讽为“未曾有首相”。
因为音读汉字的读音以及用法 基本和中文相似,所以可以说它是面向对象的语言(现代汉语中词组,有一大半都是从日本引进的)。而训读汉字往往和假名相结合形成新的词汇,所以没有面向对象特征。
以”生”字作为例子,来介绍日文汉字的复杂性(注:括号中的是生的读音):

“生”字的音读有两个:

  1. 生命 同汉语的生命 (sei)mei
  2. 生涯 同汉语的生涯 (shou)gai

“生”字的训读有四个:

  1. 生の鱼 未加热的鱼 (nama)no sakana
  2. 生きる 活的意思 (i)kiru
  3. 生む 出产的意思 (u)mu
  4. 生える 生长的意思 (ha)eru

总结,一部分的日语具备面向对象的特性。

十五.语言除了字和词之外还有语法,语法存在面向对象的特性吗?

个人认为语言基本上可以分为三大系统:文字系统、语法系统和符号系统。

  1. 字和词属于文字系统,是语言体系的主体部分。
  2. 语法的传统定义是文字组合和解释的语言规范。在软件设计人员看来,语法是一种对象的组合分解算法,它是一些逻辑的集合,而不是对象的集合,因此语法没有面向对象的说法。
  3. 符号系统是语言体系的支系统。最长见的符号就是 标点符号和数学符号。符号本身虽然是对象,但是独立性非常强,且数量不多,在此就不讨论它面向对象的特性。

综上所述,由于语法不是对象、符号独立性强,所以考察语言的面向对象特性,主要集中在文字上面。

十六.汉语难道就没有缺点了吗?

有!汉语的三大系统都有缺点:
(1)文字系统的缺点:

  1. 封装性不太完美。上面已经讨论过了,存在少量的多音字和多意词。
  2. 入门难。英语的入门极其简单:只需要掌握26个字母,剩下的就是记忆了。而且拼写和读音是基本统一的,可以达到会读就会写、会写就会读的程度。而汉语则要麻烦一些,不仅要掌握2000多个汉字的读音、写法和定义,还要理解常用词组的含义。其实,这个缺点是面向对象的固有缺点,熟悉计算机开发的朋友可能都知道,虽然C++是高级语言,但是它的概念要比C多,用法也相对复杂,还需要掌握很多的工具类,但是一旦入门之后,就海阔凭鱼跃、天高任鸟飞了。
  3. 还有一个莫须有的缺点:诱发人们忽视细节。这也是面向对象的隐形缺点,在开发软件系统的时候,面向对象的运用者是设计人员,而不是程序员。设计人员注重的是业务的分类和总结,而程序员追求的是逻辑准确性和可实现性。汉语也是这样,它的好处是非常自然、容易扩展,坏处是让人们的思维变得懒惰,渐渐地丧失了精益求精的科学态度。

(2)传统意义上的汉语是没有符号系统的。符号是科学演算和理论推导的重要工具,个人认为是字母语言最成功的地方。随着在鸦片战争之后,中国逐步引入西方的标点符号和数学符号,这个重大的缺点得到了根本的解决。

(3)语法系统非常松散。不知道大家有没有发现这个现象:汉语的句子往往很短,而在英语和日语中2、3行的句子却很常见。原因在于汉语既没有英语中where、who、which那样的单词来划分语句,也没有日语里的助词(はがにでを)来区分主谓宾。这会导致人们不能一目了然地划分语句结构。为了避免这个弊端,汉语的句子往往很短。但是,即使把句子缩短,也不能完美地解决这个问题。让我举一个例子来说明这种现象:

  1. 今天真热,我想开空调了。
  2. 孩子们很天真、很可爱。

上面两个句子都有“天真”这两个字,可究竟哪个是naive的意思呢?这就需要根据上下文的意思来判断了。也就是说,汉语虽然是一种面向对象的语言,但是由于语法结构的欠缺,导致了人们在看到一句中文之后,需要大脑做一个 先断句后理解的处理过程,而不是直接理解。这一点非常类似Java的反序列化处理(序列化就是指把对象转换为字节序列的过程。而反序列化是指把字节序列恢复为对象的过程)。

为了避免这个问题,个人建议引入空格。也就是说在书写的时候,有意识地利用空格进行断句,让信息能够快速而准确地传达给读者。比如上面两个句子,可以改写成下面的形式,就不会引发歧义,并且会减少大脑的处理时间。

  1. 今天 真 热,我 想 开 空调 了。
  2. 孩子们 很 天真、很 可爱。

Read more