西西河

主题:【讨论】龙芯什么时候能配上中文计算机语言编译的源程序? -- 唵啊吽

共:💬151 🌺373 🌵4
全看树展主题 · 分页首页 上页
/ 11
下页 末页
家园 从哲学角度试着说一说

专业领域无法涉足,但从业外人的视角,来推测一下计算机的发展倒也不妨姑妄听之吧。

机器语言架构起来的程序系统,必须严格遵循逻辑规则,机器只认0和1,中间任何一个模糊或错误的指令都会导致程序运行失败,这使得计算机程序必须环环相扣,所有的后续运行全部建立在最基础的0和1上。就象一个封闭的宗教系统,所有的“真理”都扎根于你信不信上帝。但是,现实中的社会,往往并不是这么简单的,两分法在很多情况下都失效,因为世界还存在三分法四分法等等等等。而计算机的发展目的,必然是为了服务于人和社会的,故而以两分法一路走到黑显然不是一种好选择,只是在目前计算量有限的情况下,两分法是一种无奈的选择。

那么以0和1为基础建立起来的计算机世界,注定只能先死板地就靠逻辑走到终点了吗?显然这个世界充满了变通的方法。一个人是由无数细胞组成的,细胞有着严格的生命周期和逻辑,一个小小的差错都会导致细胞死亡,那么作为整体的人难道就一定要和细胞的属性完全一样吗?拓展到计算机领域,所有的程序都是经由0和1演变而来的,但是作为程序的集合体,就一定要受0和1的摆布吗?

围棋里有个名词叫“脱先”,就是当某个区域呈胶着状态,或者局面不可收拾时,先不管其后续,在其他更大的实空处落子,然后再试图从外势中打破原有趋势。在围棋里,很多时候我们都不讲逻辑,只说一个笼统的“有理”和“无理”,但有理和无理都是相对的,无理手很多时候也会变成妙手。对于死板的计算机来说,这就很难处理了,穷极可能性的方式迟早会把计算量推高到无穷大,因为这还是19*19大小的围棋,如果是190*190呢?19亿*19亿呢?但现实里,很多可能性从一开始就被筛除的,只是并不完全是依靠逻辑的方式。甚至很多时候,仅仅就是“我喜欢这么下”,这是我的“手筋”。现实社会并不一定始终寻找“最佳”的解决方案的,而只需要现在有用的方案。故而完美的逻辑在这一层面就进了死胡同。

人工模拟的关键不是计算量,要拼计算量,人脑早输给电脑了,电脑现在之所以还是不如人脑,很大原因在于筛选机制不合理,一味依靠逻辑,而逻辑往往会导致计算量无节制增长。在这一点上,中文的模糊化歧义性,以及可以用最少的字数组合达到表意的特点是很值得思考的。

PS:可以考虑一种“代偿”机制,3岁小孩的智力,计算机现在应该可以做到了,但是3岁小孩会学习,会成长,很多事经历过学习过,就知道怎么处理,可计算机很死板,“学”不会,那么先以概率做一种倾向性选择,再逐步过渡到从随机到“理性”的阶段或许是一种思路。

家园 你说的这个有过尝试

之前有人设计围棋软件,用过概率方法:不预测所有路径,而是抽样很多条,如果"形势好"的比例高,那就说明这个选择好。不过据说结果很容易被人杀大龙。

归根结底,我们对人脑思维人设还不足以指导工程项目,而且先入为主的在现有计算机上混合人的思维,绕了很多路。

我们又要AI像人一样灵活变通,又要其像工业品一样质量稳定行为可预测,这需求充满很矛盾。

目前我看过的理论前瞻,最让我信服的是这本:

http://book.douban.com/subject/1834728/

作者的出发点是:人脑的基本功能是存储联系,不是计算逻辑。

家园 说说个人不太成熟的看法

首先提一下您关于阿拉伯数字的看法,本人认为这个和哲学关系不太。其实印度人发明的阿拉伯数字本身只提供了两个优点:一是单独的0符号,二是十个单独的没有重叠的简单符号(几乎都是一笔画)。其实更重要的是十进位值制,这个最早是中国人发明的,在公元前14世纪就有记载;而印度到6世纪才有,欧洲至少9世纪以后才有(欧洲现有最早文献是公元976年的)。如果这个东西作用大到能影响哲学甚至科学发展,那么中国几乎要领先世界2000年。

下面是本人关于中文化计算机语言的一点不成熟看法:

首先,中文化计算机语言不是现有计算机语言的中文化,后者做出来的东西顶多能和原版一样好用(大多数情况下应该是远远不如的),所以几乎没什么价值。中文化计算机语言,至少是读起来象中文(这个可以和COBOL与英语的关系对比),玄一点说就是能反映中国的文化。要做到这一点,俺有一个猜想(仅仅是个猜想,甚至是想象),就是假设没有西方文化的情况下,中国人自己发明的计算机会是什么样子,其中俺觉得最有可能的是:

1. 算盘->算盘机->广泛使用的算盘机体系结构->在此体系结构下的成熟的算盘机机器语言和汇编语言。

2. 汉语的文法语法分析->形式化的汉语子语言生成规则理论->生成规则可用上述算盘机进行描述和执行->汉语化的高级计算机编程语言。

以上的每一步其实在现实中都有很大障碍,但不妨碍我们做假设。上面的1以现在的技术实现起来应该没什么太大问题,已经有理论证明算盘机的计算能力和一般递归函数是等价的,因而也是和图灵机等价的,即使不做个真机器,写个模拟器应该没什么太大问题。关键是2,目前来看仍然处在研究之中,少有重大突破(也许有其它方法,就不是俺所能知道的了)。

最后说几句关于“名学”的,这个东西其实早失传了,著名的“辩家21事”,大部份连命题的具体内容都不知道了,“白马非马”的真正含义到魏晋就很少有人理解了。如果不是胡适写了本《先秦名学考》,估计到现在我们也不会知道(这本书只写了一半,胡适凭它拿到博士学位后就不写了,所以别人叫他“半卷博士”)。

《公孙龙子-名实》中说(其实这本书很多部分可能不是公孙龙本人写的):

“物以物其所物而不过焉,实以实其所实而不旷焉”。

俺的看法,这里似乎已经包含了朴素的集合论思想,那么白马非马的就个可以解释为:{白马这个集合}非->不是->不等价于{马这个集合}

家园 计算机语言和自然语言没直接联系

至少从入门教育,或者普及成熟技术角度来说,没必要联系二者。

语法上来讲,计算机语言主体都可以用巴克斯范式描述,然后用LR之类算法解析。

直接套用自然语言或数学概念去学现有计算机语言,事倍功半;直接从基本状态机出发去理解,事半功倍。

我当初学C++的时候,一堆凑概念的OO神学没一个帮上忙的,后来对着《C++语言的设计与演化》,自己堆些C-Front的伪码,很快门清。

家园 说不来那就退回去说

如果你觉得我的观点不正确,应该先申明和论证自己认为正确的观点,而不是在争论的焦点明朗之前就评价我本人。

你是不想说,可以依靠对增强对学生哲学教育来增强学生的科技,工业,软件水平。

自然哲学方面你坚持的是一种谱系,但那是历史的延革,而不是知识之间有必然的依存,拿自然哲学作为近代科学的基础毫无必要,更没法以此证明哲学对科学的价值,因为现在一般所说的哲学和自然哲学交集很少,而就算你的这个观点成立,据此说明哲学对软件有什么不可替代的启发效果也有大量论证需要补充。

所以在我看来,你并没有对我的观点进行正面驳斥,而仅仅是列举直观上似乎支持你观点的资料,所以很多反驳我认为结论基本无关本楼主旨,就没有继续讨论下去。

关于XX哲学和物理学的关系,如果你有兴趣,咱们额外开贴讨论,我觉得这毕竟偏离本楼主题,讨论物理学史我非常乐意,讨论经院哲学和哲学自然哲学的关系我也乐意(在我认识里,经院哲学承前启后)。

-----------------------------------------------------

刚才问你一个问题,现在再重复一次,希望你回答:搞软件该学哪些哲学,其如何促进软件思维。

程序语言设计技术,如果你觉得很重要,可以直接把内容讲给大家,部分转帖也可以。本楼的主旨是语言本地化,和你推荐的东西之间的连接你得补充起来吧。另外我很感兴趣这本书节省了您什么项目的弯路。

另外回复其他人帖子的时候,我一直坚持强调软件作为工业产品的特征,工业产品必然要求尽量依赖最为广泛接受容易理解的概念,优雅的概念验证品不计其数,广泛应用的则大多是个杂烩工具箱,C++甚至是语言群岛(多范式)。

我所见过的大多数流行语言,其成功基石都是不厌其烦的语言维护,包括处理意见,修订标准,增加各种库支持,小心调整移植性。成功的关键在于长时间的劳动投入,良好的设计者和使用者互动,其间要求的主要素质是技术实现手腕,毅力,政治妥协和决断。这些工作的积累,很多开始于二十多年前,那时候中国C语言课程还没普及,以上因素让我不急着在文化哲学方面找原因。

家园 也许剔除的并非全是不可能的方案,或许就因为所谓的专业

把自己逼进了死胡同。

我的专业知识告诉我,不可能,不可能……

专业只代表你可能比别人多懂一点,正确的概率高一点吗,而不代表你的全面正确

Linux
家园 这样的帖子我居然看到这一页,很是佩服自己

linux山寨的加州伯克利某教学开源核心,我看过原作者写的书,书名《现代操作系统》,某段提到该事情,对linus此举表示无奈

兄台既然看过这本书,应该知道minix和linux争论的焦点是什么?根本就是当时对操作系统发展方向的争论,到底是micro kernel还是monolith kernel,和山寨不山寨有个毛关系。

教授认为linux是技术上的倒退,而linus同志认为micro kernel也牛叉不到哪里去,不管白猫黑猫,抓到老鼠就是好猫。

参考阅读:

http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html

http://oreilly.com/catalog/opensources/book/appa.html

瞧,搞it不懂英文是不行滴。这就是为啥这种争论毫无意义的原因。

家园 .

...

家园 真搞笑

老兄,您以为在写程序的时候你写个if,在编译后代码里面就有一个if?让我想想,continue有8个字节,“继续”在gb2312里面只占用4个字节,因此中文(gb2312编码)写的程序就会占用空间(存储空间,执行空间)少?

为什么要强调gb2312编码呢?因为unicode编码的话,您的论据一上来就被干掉了。

本来这帖是回复在上面njyd的帖子下面的,不过看看上下文njyd的帖子,njyd说的应该不是指中文在编程中的优势,所以就搬到下面来了

铁手又增加新功能了?上面的帖子搬下来,居然会报告“发帖似乎重复了”,即使上面的帖子已经删掉了。

测试结果:标题多了一个字就发帖成功了。难道是标题匹配?

家园 您写程序从来不用函数吗?

strlen这样的函数如果要起个中文名字会是啥样的?

const char* p = "abc";

int n = strlen(p);

中文编程:

常量 字符串* 串 = "abc";

整型 甲=字符串长度(串);

中文编程果然容易学习。以后的口号是:会QQ,会编程

家园 问你一个问题,你生病的话,去看医生还是去找野郎中?

反正专业只代表正确概率高一点么。野郎中多便宜?

专业只代表正确概率高“一点”么?

要想对某一专业领域的问题提出可行的解决方案,最起码的要知道问题是什么。如果连问题都不能正确理解,去长篇大论所谓的方案除了胡说八道,还是胡说八道。

家园 医生能解决所有的问题,就不会有野郎中了,谁食饱了撑啊

就是因为再专业的医生也有局限性,不然就不会有差医生了。

谁敢说,我有一套完美的解决方案,其他的都是错的?

不管是生物的进化,还是社会的进化,多样性对于未来的拓展都是至关重要的。只为解决眼前问题,头疼医头脚痛医脚,而忽略整体多样性,那不过就是盲人摸象。门外汉未必能提供一个完整可行的解决方案,但不能否定其局部的改良而对整体效率的提高,再专业的人也会有其局限性。

家园 原来野郎中是专治专业医生治不好的病得啊

这个真是高见,有人得了绝症,专业医生治不好,只好去求所谓的神医,如胡万林等,其实绝望中去看看有没有奇迹发生,和求神拜佛没有什么本质区别。难道这就说明胡万林等人对医学发展做出了贡献?

没人敢说自己的方案是否完美,但如果有人声称自己解决了某个技术问题,但连问题都没搞清楚,连基本概念都弄错,那他的方案一定是错的。

家园 你连英语都不懂,别编程了,不如回家种红薯。
家园 俺用是用,记不住那么多。

  少数几个关键字还是好记的,记不住用个表查也不算太麻烦。就是用汉字,也得记住用哪几个汉字不是?你把“常量”写成“不变量”, “字符串”写成“字符链”,编译程序肯定不认。

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


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

Copyright © cchere 西西河