西西河

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

共:💬151 🌺373 🌵4
分页树展主题 · 全看首页 上页
/ 11
下页 末页
        • 家园 我想他说的应该也适用于应用界

          毕竟开会的有很多就是搞应用的,在底层缺钙的时候,表层也同样缺钙。

          其实底层和表层有时也没必要那么细分,有时它们就是一体,只是由于特殊的情况下,导致这种划分并且双方也脱节严重。

          本土语言编程的重要性在于可以极大降低门槛,快速形成生产力,这点才是最重要的,其他什么民族主义的观点,都是附属的。

          • 家园 那只是你的理解而已

            像这两段话

            近十年来,由于科技评价制度强调‘数字化’考评,引导科技人员‘只见树木、不见森林’

            几十年来中国在计算机领域的基础和前瞻性研究上投入太少

            一在吐槽评价制度,二是要经费,着眼点都是在科研上。像这类高级学者讲话,未必会考虑对象是什么。

            编程语言这个东西很其实简单,用什么文字构造根本就不是学习门槛,编程的真正门槛是背后的数学知识和抽象思维能力,这和数学类似,把数学符号都改为汉字能够提高中国人的数学水平么?

            • 家园 简化字有助于提高中国人的文化水平么?

              对这个问题我认为是当然有。

              对于语言高手来说,什么文字,其实不重要,甚至越复杂越好,因为这样可以形成门槛,从而形成自己的一个利益圈子,这是从“研究者角度”考虑,但对于普通人来说,简化字就很重要,这是从“应用普及角度考虑”。所以,中国如果真的要大幅度提高中国人的“普遍编程水平”,中文化必不可少,而基础的踏实,可以给顶层提供更好的基础,也提出了更高的要求,从而确实促进最终研究水平的提高。

    • 家园 龙芯还在继续发展吗?

      据说某专门研究龙芯的博士,现在被调到某公司研究存储去了,与EMC等存储大鳄PK了,真不知道龙芯是否还发展,何必考虑给它配什么系统呢!

    • 家园 开发一个中文编程语言其实很简单

      定义一套语法,搞个编译器即可。很简单。

      问题是,这个东东有什么好处? 用的方便么,通用么?

      就像小学生数学:

      二十二 乘 三十三 = 多少,

      22 * 23 = ?

      这两个东西其实没啥区别,就是一个方便不方面的问题,以及通用不通用的问题。

    • 家园 中文与计算机语言没有什么关系。

      我想到一个类似的问题,现代数学为毛要用阿拉伯数字(其实是阿三的)?

      会不会因为用了阿拉伯数字障碍中国的数学发展呢?

      这个问题和你的问题其实非常类似。

    • 家园 就算是英文的计算机语言中国人也没发明多少啊

      现在世界上的计算机语言不知道有多少,光通用型的可执行就至少可以用百来做单位,如果加上HTML、XML、ASN.1这种描述性语言,以及某些领域专用语言如MATLAB等等更不知道几千几万甚至几十万(如果从广义上算再加上各种协议和文档格式就更数不过来了)。这里面中国人的贡献少之又少。除了易语言之外更是罕有应用,比如软件所唐稚松院士的XYZ系列语言,几乎没人任何实际应用(当然学术价值是很高的)。就是脚本语言,常用软件中国产的只有飞狐支持VBScript(而且是用的微软引擎),其它的能像大智慧之类股票软件支持公式系统就不错了(而且其大智慧等所用的公式系统文法和语法也基本是照抄根据国外软件)。而反观国外软件,大家最常用的Office系统就支持的VBA/VSTA,就算是WIndows系统中屏幕上的每个字都说不定都包含一个可以在特定虚拟机上运行的机器语言代码(见TTF字体规范),而PDF文件则是PostScript语言的应用与改进(Adobe就是从这个东西发家的),而网页是用HTML写的就更不用说了(而且这个HTML还可能是PHP,Perl之类的语言产生的)。

      造成这个现象的原因,首先是国内教育在这方面的空白,其次大概是思维习惯和传统。计算机语言也是语言,而语言首先是用来交流用的,国外IT界遇到新领域新问题,很多情况下都是先想一想能不能用一种语言进行描述并执行。这点在美国军方尤甚。据说在JSF之前很少用C/C++进行开发,大都是专用语言,其中最著名的就是ADA(虽然这个语言也很失败,不过在4GL里已经是最成功的了)。

      (即使是在其他方面,似乎西方也有发明语言的传统,形式化的各种数学语言就不说了,波兰眼科医生柴门霍夫看现有语言不爽,发明了世界语;英国作家托尔金写《指环王》时,也发明了一套完整的“精灵语”,电影版里精灵们说的精灵语可是费了老大劲才做到“字正腔圆”的。)

      要开发中文计算机语言,不是简单的事情,如果只是简单的关键字替换,没有任何价值,这个早在70、80年代就有人搞过,现在看来也没什么意义。至于中文变量名,据说早在VC5.0就支持了,也没多少人用。至于像COBOL那样用接近英文的文法的中文化语言,至今也没什么大的成就(估计也是因为没什么人搞)。

      其实本人很怀疑,在现在的中文语法分析仍旧使用主谓宾定状补这种分类方式下能有什么中文化计算机语言出现,这套标准本来就是从分析印欧语系语言中产生的,对中文来说有很大缺陷。这方面没有理论突破向COBOL那样的中文语言不太可能出现(如果搞成自然语言识别或自然语言查询那样就失去了作为一门计算机语言的意义)。

      另外,逻辑的表示也很成问题。现代逻辑学,其实就是西方逻辑学,无疑是反映西方人的思维方式,写法也是符合西方语言的,这点即使在常见的数学公式中也可以体现出来。而中国人的逻辑学,即号称世界三大逻辑体系之一的“名学”,其实在魏晋之后就已经死亡了(另两个是希腊逻辑学以及延续到现代的西方逻辑学,和印度的因明),这也直接造成从那时起中国数学的停滞不前,更不要说几乎是逻辑学子学科的计算机科学。在这种前提下怎么可能出现所谓的中文计算机语言呢?

      每种通用计算机语言,都对应一种或几种计算模型,比如常见的C/C++,Java,对应的是图灵机模型;Lisp基于兰不达演算;Prolog基于一阶谓词逻辑;XYZ基于时序逻辑。要想把这几种语言中文化,至少要把它所对应的计算机制中文化吧,这项任务真的可能吗?即使可能又有意义吗?

      从计算机语言的某些细节上看,以国内IT界的语言学和逻辑学基础,中文化也有很大障碍。比如现在就流行的高级通用计算机如C/C++,Java,C#都是强类型的。但是为什么要被设计成强类型呢?估计国内能知道强类型比弱类型能减少错误这个结论的都不多,更不要说这个“类型”到底是从哪里来的(其实是来自“类型论”),如果这个都搞不清楚更不要说面向对象和泛型了(国内IT界倒是有人把“对象”和维特根斯坦的“哲学笔记”联系起来,这个已经很不错了)。当今翻开一任何本Java或C#书籍,几乎都把Reflection翻译成“反射”这个驴唇不对马嘴的词,很少有人知道其实是“反思”或“自省”的意思,本质上是个哲学概念。据说唐稚松院士的博士生前两年都要先学习哲学,但即使是软件所内部对这种做法进行嘲笑的都大有人在。

      国内搞计算机语言的并不是没有,比如唐稚松院士,比如北大裘宗燕教授。但是没有强大的软件工业做基础,他们的研究往往只能在学术圈子里自生自灭。

      通宝推:唐家山,唵啊吽,
      • 家园 阁下不要没有调查就乱发议论

        至少我知道的,有个软件叫按键精灵,就已经实现了很强的脚本功能。软件商店里买的各种游戏挂机脚本生意很好。目前已经有条件实现辨认验证码。

        所谓计算机语言的中文化,目前看来更像是英文语言的外壳而已。在我看来没什么意思。或者说如果没有编译器,只是把中文代码翻译成英文代码,再用以前的编译器编译,那中文代码可以说毫无意义。

      • 家园 我觉得你低估国内从业人员水平了

        强类型能在编译期发现错误,编译期发现错误好过链接,连接发现好过运行时,这个基本是老生常谈了,认真点的大学生都知道,更别提吃这碗饭的。

        诸如命令式,结构化,lambada表达式,谓词演算等等,没人会去搞中文化,正如也没人会去英文化。

        把这些概念往哲学靠没什么好处,第一,所有这些概念都可以从之前的实践直接推出来,不需要从哲学家的大部头出发,哲学概念可以作为启发,但不必要;第二,状态机模型装不下准确的哲学概念。

        所谓对象,其核心概念从C语言开始涌现的时候就是“状态结”,人开始使用句柄的时候实际就开始使用对象了。

        所谓反射,就是访问的静态成员和方法表。

        所谓泛型,最开始就是宏的增强形式,最开始是IBM的人用宏实现了任意类型的stack,后来Bjarne用类型手段增加其安全性。

        所有这些概念的理解都不需要用到哲学,所有这些概念的讲解也不要用到哲学(当然方便时可以类比),所有这些概念的创造都来自基本实践。(以上哲学指出现过的,进入哲学课堂的哲学知识)

        我大学的时候也认为应该运用已有哲学知识指导编程技术发展,增加新的概念,现在觉得这么做是增强木桶的长板(表达力),削弱短板(调试)。

        我不否认哲学能训练思维,增加洞察力,我看的哲学书还多过技术书,但是软件专业的比起其他专业的,并不更多依赖哲学。

        • 家园 从哲学角度试着说一说

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

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

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

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

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

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

          • 家园 也说说个人的一点看法

            1. 关于二进制,您的担心似乎是不必要的。二进制和10进制是等效的(早期计算机其实是十进制的,不过后来发现二进制更适合电子计算机),也和其他任何固定数字进制是等效的(甚至很可能和其他非固定数字进制也是等效的),本质上没什么区别。而且三分四分法n分法理论上都可以归结到2分法。

            2. 关于整数(自然数)的定理定律在同样适用于二进制。而所有的公理系统要么

            1)不够强大,也就是说没有整数(自然数)系统强大,不能抽象出自然数概念。

            2)足够强大,那么都可以用整数系统来表达。(哥德尔)

            3. 关于容错性,申农已经有一篇论文优雅地解决了这个问题,理论上可以达到需要的任意精度。

            4. 关于确定性与不确定性的问题,目前还是看个人信仰(哲学)。比如在物理学中,以爱因斯坦为代表的经典派和哥本哈根派的争论,就是关于世界本质是确定性的还是不确定性的争论。不过实际上确定性与不确定性之间的关系可能没有想象中的那么水火不容,比如:

            1) 蒙特卡洛算法,是用不确定计算确定,比如经典的布冯试验是用概率方法计算圆周率这个宇宙中最基本的几个确定的值之一。

            2) 确定性的算法也可以产生貌似随机的混沌现象以及其他。比如计算机产生的伪随机数,如果算法选的好,很难和真正的随机数区分出来,那么理论上讲,也许所谓“真正的”随机就是一个周期非常长,很难发现的伪随机(大概爱因斯坦就是这么认为的)。不过这样的想法似乎也没什么意义,即使“真正的”随机是伪随机而又根本不能发现那个种子数和算法,那么为什么不用“奥卡姆剃刀”直接忽略这种想法呢?(这大概就是哥本哈根派的想法)。所以归根结底是个人信仰或哲学问题。

            3) 概率和逻辑并不矛盾,因此有所谓的概率逻辑。

            5. 关于语言的问题。一是是否所有思维都可以用语言来表达?二是如果一为真,那么是否所有所有的(有意义的)语言都可以用逻辑尤其是数理来表达?这些问题目前也是看个人的信仰和哲学的。比如中国古人所追求的“意境”就认为一种超越语言的东西(“得意忘言”)。而西方“逻各斯中心主义”却认为所有思维都是可以且必须用语言表达的(“语言不仅是思维的工具还是思维的载体”)。而目前的语言学,语言哲学,逻辑学,数理哲学等则试图回答第二个问题,目前也分成很多派别。

            总的来说,关于计算机和智能的关系目前还没有一个确定性的结论,不过符号主义派实现人工智能的途经似乎是这样:

            智能(思维)<->语言<->逻辑<->计算<->计算机

            如果上面的每一步都可以无损或接近无损,那么理论上计算机就可以实现智能。当然这里的“计算”将来也可能发展出新的计算模型和新的方法,“计算机”也可能和现在的完全不同(不过目前这方面还没什么太大进展,图灵机模型还是最强的,并行化量子化也许会有突破也许不会)。总之,如果相信“人是机器”,那么总会有一种(人造的)机器能实现智能;反而如果相信智能里有某种“超验的”/“先天地生的”/“不属于物质世界的”/...比如“灵魂”/“微管结构”(彭罗斯)/...,那么机器,尤其是现在的计算机是不可能有(人类的)智能的。

            以上只是大概说一说思路,有很多地方不严谨也不准确,有兴趣的话可以查看相关书籍。尤其是这一本奇书:

            《哥德尔、艾舍尔、 巴赫:集异璧之大成》(Godel,Escher,Bach:An Eternal Golden Braid)

            作者:((美)Douglas Hofstadter(侯世达))

            通宝推:不远攸高,

            本帖一共被 1 帖 引用 (帖内工具实现)
          • 家园 你说的这个太难了

            似乎所有的计算机语言大牛都不会。

            不过,现阶段的计算机语言也不是干这个的。 打个比方,哲学这么伟大而有指导意义,可要是让一个没编过程的哲学家用C语言写个游戏程序,那也是极其困难的。

            不过没关系。

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


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

Copyright © cchere 西西河