五千年(敝帚自珍)

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

共:💬151 🌺373 🌵4
分页树展主题 · 全看首页 上页
/ 11
下页 末页
          • 家园 你说的这个有过尝试

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

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

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

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

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

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

        • 家园 当代的哲学落后数学太多,没有什么值得软件借鉴的
          • 家园 举一个反例

            设计模式,大概每一个OO程序员都不陌生。而这里的“模式”来自于《永恒的建筑之道》(以及随后的《模式语言》),这本书号称“西方道德经”。

            哲学首先是一种世界观.冯友兰说过(大意),哲学不在于提供新的(积极的知识),而在于能提供对于知识的新看法。从这个角度看,很难确定什么样的哲学是“先进”的,什么样的是“落后的”。比如整个自然科学就是建立在自然哲学家们“世界是由客观的物质组成的,而不是神创造的”这一看法上;而物理学中“原子论”也好,“膜”论“弦”论也好,都是在寻找“构成世界的本原是一种物质”,这样的想法被称为“一元论”。再比如赫拉克利特关于“火”的论述,如果把“火”为替换“能量”(薛定谔),很多可以不加修改地放进现在人物理教科书。

        • 家园 您说的只是国内的现状而已

          也只是您个人的理解,关于各个计算机语言中个中概念的缘起,最好还是看看发明人的原著吧。比如“对象”,在Simula-67就有了,那时候可还没有C语言。

          另,您要是觉得数理逻辑不属于哲学,那也是您个人的看法。

          • 家园 求计算机语言发明人自述如何受大哲启发

            求计算机语言发明人自述如何受什么哲学启发,发明什么概念,咋和现实问题对应上的,同时,最好是当时获得就成功的概念。

            各种语言发明人的原著我看了很多,真没注意过哲学有这么重要的,不得不学的地位,至少对于目前成熟的软件工业内没有,你要搞日本那种五代机可能可以参考参考。

            另外哲学和计算机语言这个话题是不有点歪楼了,本帖楼主是说编程启蒙得上中文。

          • 家园 你举过的哲学家是维特根斯坦,我只能以这个例子来理解范围

            顺便嘲笑一下大哲学家们在理工上的成就,从牛顿时代开始,他们就紧盯着人类思维的前线,努力让自己的概念成为一切客观知识的基础,结果做到二十世纪结束,平台比应用还多得多,从平台上长出来的应用倒是绝无仅有。哲学家来总结还差不多,开拓就不行了,这是他们片面强调理性的局限性——神秘主义者在科学上的建树都比他们多。

            • 家园 牛顿也可说是哲学家

              否则他的书怎么叫做《自然哲学的数学原理》?物理学就是自然哲学的代名词。另一个例子,相对论和马赫的相对主义也有密切关系(据说爱因斯坦视马赫为精神导师);就算抛开相对论,相对主义对牛顿第一定律的挑战也是不可忽视的。更不用说现在几乎成为形而上学的量子论了。

              另外,计算理论和数理逻辑是密不可分的,而罗素对数理逻辑的贡献巨大,但他是个公认的哲学家。阿兰·图灵、邱奇既是数学家,也是逻辑学家。

              我举的维特根斯坦例子,只是单纯陈述一个事实,因为“哲学笔记”里也有“对象”一词,引起人们的联想毫不奇怪。可并没说“对象”就是从他那里来的。(说到维特根斯坦,他后半生的主要理论似乎是“语言游戏”,这个和语言学应该有很大关系,不过和与计算相关的形式化语言学似乎还没什么联系)。

              • 家园 自然哲学不是现在意义的哲学

                当年大学都有宗教背景,带着经院哲学的烙印,所以啥客观知识都得盖个哲学的章,就像中国古代数学家也是学儒学出身一样。

                物理学一发展就和哲学远离,后来大家更多以实验结果来作标准,思想辩论放在辅助地位,不然成果都没法汇总,物理学早期发展史也是和形而上学决裂的历史。

                马赫本人对当时的哲学态度明确:两者的起点和入手方法不能一样,这点在《感觉的分析》《认识与谬误》都是开章就说。就像他在书里说的,哲学总是像所有学问的终点,但是物理学起步必须从个别现象出发,逐渐扩展。

                实际上大多数学问,你研究完了后总结去往哲学上靠,还算能言之有物,但反过来要是一开始就学哲学,然后带着一脑子哲学来处理专门问题,则难以入门,反面典型就是黑格尔的《自然哲学》。

                哲学在西方牵扯文明的方方面面,不同哲学之间观点水火不容比比皆是,说正的叫哲学,说反的也叫,不知道学软件的该去学谁家哲学。

                “国内IT界倒是有人把“对象”和维特根斯坦的“哲学笔记”联系起来,这个已经很不错了”

                你不是单纯列举现象,而是做了价值评论。

                如果可以的话,不妨你定义一下你的哲学范畴,或者更简单的,说说搞软件该学哪些哲学,如何促进软件思维。

                • 家园 西方自然哲学是从古希腊开始的

                  一般人为西方自然哲学起源于米利都,也就是米利都三杰。也许还有更早的,不过没有什么记录了,即使是三杰的著作也没传下来,只能在其它著作里看到只言片语。

                  而经院哲学,以及它所代表的基督教哲学,只能和新柏拉图主义扯上点关系,但后者的主体并不是自然哲学。自然哲学要回答的是类似“世界的本源是什么”之类的问题;而经院哲学回答的是类似“一个针尖上能占几个天使”的问题(既然创造世界的活都让上帝干了,前者的问题都可以推到他老人家身上)。这两者之间的区别可不是一点半点。

                  牛顿所在的时代之所以叫做文艺复兴,就是因为似乎古代(中世纪以前)尤其是古希腊的知识又活了,这个和中世纪才诞生的经院哲学更八杆子打不着了。物理学能独立出来,是因为它发展壮大了,后人给起的新名字;而不是为了独立发展壮大就先起个名字。作为承上启下的牛顿,称为物理学家或哲学家都是可以的(前者是后人的看法,后者是当时人的看法)。即使如此,百度百科也会告诉你,广义上来说,包括物理学在内的整个自然科学都是自然哲学的一部分。

                  我发现您似乎非常主观以,在对概念事实还没多少了解的情况下就随便下定语(尤其是那个把AST和自修改代码同构起来的例子,看得俺是一楞一楞的)。甚至是本人所说的话,在本人做出解释的情况下,你还是认为您的看法是正确的。这样的话,和您进行讨论已经没有意义了,恕俺不能再回您的帖子了。

                  最后,真诚的建议您,如果对本楼的内容真的感兴趣,先学学“程序语言设计技术”这门课吧,现在国内也有这门课了。俺就是上学的时候没这门课,毕业后走了很多弯路。

                  • 家园 说不来那就退回去说

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

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

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

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

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

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

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

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

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

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

    • 家园 技术上可能只是个编码问题,难点在其他

      编程语言的关键字是英文,变量名至少(其实受源文件编码影响)支持英文下划线数字,但是语句结构并不是英文,很可能没有句号,最重要的符号是各种括号

      单说改编译器 把源文件都确定为宽字符或者某种多字节编码,关键字替换成中文,都没啥难度 就是繁琐点容易出错 牵扯旧源文件的兼容问题。

      比较大的问题还是可阅读的代码,其实我觉得文档和注释都加上中文的就能好不少。

      替换关键字的C语言大概这样:

      若(a < b)

      输出("%d", c);

      整数 阶乘(整数 值)

      {

      若(值==1)返回 1;

      否则 返回 值 * 阶乘(值-1);

      }

      • 家园 这个不全面,要把正则表达式和数学符号也都中文化

        才能满足某些偏执狂的愿望:

        若(甲 大于 乙)

        输出("格式:浮点数", 丙);

        整数 阶乘(整数 值)

        {

        若(值 正好等于 1)返回 1;

        否则 返回 值 乘 阶乘(值 减 1);

        }

      • 家园 这种写法本身就对中文很不利

        当前这种代码书写方式,本身就是对中文不利的。中文没有发展起一种形式化的描述体系(比如数学公式之类),而计算机语言对格式高度敏感,这样写中文本身就不会有太强的表现力。也许创造一种严格的形式化中文子语言会好一些。

        微软曾有个项目叫做Intentional Programing(意图编程),它的想法是直接对抽象语法树(AST)进行编辑,因为AST是语言中立的,所以可以用各种语言“呈现”,当然也包括中文,而不管用什么语言“呈现”,只要AST是一样的,程序其实就是一样的。这个项目最终失败了,但是我还是觉得中文化语言更可能的方向是在挖掘中文语法内在逻辑的基础上,使用类似AST或其他的数据结构来更好地进行表达。

        通宝推:唵啊吽,
分页树展主题 · 全看首页 上页
/ 11
下页 末页


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

Copyright © cchere 西西河