西西河

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

共:💬151 🌺373 🌵4
全看树展主题 · 分页首页 上页
/ 11
下页 末页
家园 您说的这个应该是个文法/语法问题

现有的计算机语言,其文法基本都是基于乔姆斯基体系,而这个体系本身是有很大局限性的,但它的优势也是很明显的,就是可以在计算机上用比较有效率且可靠地转换为计算机能理解的形式。

“猎狗,哈巴狗,公狗,母狗”等,其实应该是汉语较有特色的一种结构短语。但是目前这个领域,即短语结构的研究,虽然在分析生成自然语言方面有了很大发展,但离应用到计算机语言上还很远,其中有些已经被证明不能被有效且可靠地被计算机转换。

家园 有点明白了

但有几个观点不敢苟同。

1. AST是编译阶段生成的,跟执行没什么直接关系,也和自修改代码没什么直接关系。不管什么源代码,主流编译器几乎都要把源代码转换成AST再进行其他处理。修改AST和修改源代码本质上是相同的。

2. 目前自然语言和计算机语言之间的差距确实很大,但是这并不意味着这个鸿沟就没办法缩小。当然目前这方面没什么重大突破,语言学的成就目前还只能应用到自然语言理解和自然语言识别方面,但并不意味着将来不会出现很接近自然语言的计算机语言,虽然他们都是高度形式化的。

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

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

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

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

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

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

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

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

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

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

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

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

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

家园 多谢 刚查了一下,Internal PG理解错了

现在看来是一种元编程手段。

不能缩小的范围和理由都说了:工业实践中,不好框定调试范围,再具体说,因为我看不出限制自然语言的作用域的办法。当然可以人为限制死,但这样限制之后,比起已有语言有何优势呢。

退一步问:使用自然语言,我们获得了什么样的好处?大多数已有简单代码,同样是自然语言半天表达不清楚的。为什么自然语言获得了更强的生产力,难道通过让朗诵者上岗,程序员下台,产能能得到提升,成本能够下降吗。

已有的计算机语言是伴随着软件工程一步步发展起来的,自然语言要取代的话,处理工程问题还是得一步步走过来。

以自然语言写的法律为例,其运行的精确程度,达成预期目标的效果也并不让人满意啊。

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

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

家园 牛顿也可说是哲学家

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

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

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

家园 看来得研究一下九章算术之类的记述方式

然后弄一套符合中文逻辑推理表达的编程语言。问题是阿拉伯数字表达方式也是人家印度发明的,难道算是西方哲学吗?英国人也是没有回到未来啊。而且我们现在中文的逻辑推理表达记述,不也是弃用了古代的繁复的记述方式吗?

其实如果有人能详细的总结描述中国文化的所谓博大精深的哲学表达具体形式,逻辑表达方式是哪些,那么配上相应的程序语言,也不是难事。

但是有谁一条一条总结过吗?只看到泛泛而谈,博大精深是最常用的词语。

现状是道可道非常道,名可名非常名啊,无从下手。

而且也没见过那种拉丁语言的表达方式跟现在的编程语言相同,只是借用了英文字母作为符号名称,否则就那么几个#!$%%&*)特殊符号它不够用啊。其实美国人也是硬着头皮上的。

中国人编程的主要问题是程序库都是外国编的,自然手册也都是英文的。只是学习编程语言容易,买本中文版的编程语言教材就是了。

问题是程序库的手册基本是英语,读起来英文要求高些。编程又不可能不用程序库。即便有中文翻译,也都是硬译,读着费劲。

一套纯中文表述的编程语言,自然可以强迫所有相应的程序库都附有中文手册,但是同时减少了可以直接复用现有英文程序库的范围,需要自己把常用,非常用程序库都搞起来,这个才是推广的最大障碍。

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

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

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

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

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

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

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

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

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

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

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

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

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

家园 当代的哲学落后数学太多,没有什么值得软件借鉴的
家园 del

del

家园 恩,这个基本都认同,而且难度也不高
家园 你看国产电器,开机叫ON,关机叫Off,然后印一本说明书

告诉你on就是开,off就是关。

这个不涉及任何技术需要,纯粹就是某些人的心态、习惯,其实也不是商家的问题,取个洋牌子、多用洋文,在推销时确实有优势

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

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

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

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

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

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

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


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

Copyright © cchere 西西河