如果编程语言是从象语素文字而非表音文字设计,什么会不同

没有不同。程序设计语言的基础是上下文无关文法和有限状态自动机理论。这两个都是一个数学概念,和语言是无关的。在各种程序设计语言中,除了少数类似COBOL之类的语言以为,其他都被设计的比较形式化,符号化。

程序设计语言的基础是上下文无关文法和有限状态自动机理论。这两个都是一个数学概念,和语言是无关的。

在各种程序设计语言中,除了少数类似COBOL之类的语言以为,其他都被设计的比较形式化,符号化。所以对于汉语这类的表意文字来说,应该更有利于表示这些符号化的代码。

如果我们看一下编译器的前端的实现,我们可以发现,编译器在扫描代码的时候,会将for、while之类的各种关键字或者符号,转化为一种中间表示形式,比如一个整数。那么同样的,这样的整数也可以由类似“从”“当”之类的汉字得到。转换为这种中间表示形式之后,后面的过程总的来说是不会有什么太大的差别的。

所以只要语法可以保证没有二义性,那么任何语言应该都是可以被设计为变成语言的。

历史上,沈语言是由Forth改的,虽然有宣传等什么方面的原因,但是Forth确实对汉语编程有很多启发(比如Forth的字是由其他字直接组合而成,而汉字由其他字作为构件组合而成,这很相似).汉语是重语义,轻文法,函数式编程重目标,轻过程. 现在更有研究后缀形式的语言和函数式语言的关系 , 比如Joy(Factor), Linear Lisp等.相对于现有的计算机体系和Lambda 逻辑, 这涉及到组合逻辑和线性逻辑, 甚至于需要改变现有的计算机结构,比如Forth和Lisp的堆栈机.

延伸阅读:

什么是计算机编程语言?

计算机编程语言是程序设计的最重要的工具,它是指计算机能够接受和处理的、具有一定语法规则的语言。从计算机诞生,计算机语言经历了机器语言、汇编语言和高级语言几个阶段。

在所有的程序设计语言中,只有机器语言编制的源程序能够被计算机直接理解和执行,用其它程序设计语言编写的程序都必须利用语言处理程序“翻译”成计算机所能识别的机器语言程序。

计算机语言是一种特殊的语言。因为它是用于人与计算机之间传递信息的,所以人和计算机都能“读懂”。具体地说,一方面,人们要使用计算机语言指挥计算机完成某种特作,就必须对这种工作进行特殊描述,所以它能够被人们读懂。另一方面,计算机必须按计算机语言描述来行动,从而完成其描述的特定工作,所以能够被计算机“读懂”。

文章标题:如果编程语言是从象语素文字而非表音文字设计,什么会不同,发布者:小编,转载请注明出处:https://worktile.com/kb/p/40771

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月23日
下一篇 2023年2月23日

相关推荐

  • static 和 final 的区别有哪些

    static 和 final 的区别是:final被修饰的变量为常量一旦赋值不能修改,被修改的方法为最终方法不能被重写,被修饰的类是最终类,不能被继承。static被修饰的变量和方法,为该整个类及其类的对象所共享,一个类或对象修改了被定义的类或方法,其他的也会跟着变量。 static(全局变量) s…

    2023年2月12日
    1.4K00
  • APICloud的版本更新和云修复有什么区别

    APICloud的版本更新和云修复的区别有:1、实现方式不同;2、应用场景不同;3、发布频率不同。实现方式不同是指,版本更新需要发布新的应用版本,用户需要下载安装,而云修复可以在后台实时生效,用户无需进行任何操作。 一、版本更新 版本更新是指在应用发布后,随着功能改进和Bug修复,开发者需要将新的应…

    2023年7月30日
    39300
  • 水文学什么编程

    水文学中的编程重要性 水文学领域中,编程显著提升了数据处理、模型模拟和结果分析的效率和准确性。特别是在对大型地表水系统的研究中,编程使得研究人员能够处理大规模数据集,运行复杂的数值模型,并进行精细的结果分析。例如,通过编程实现自动化数据处理流程,可以有效节省处理大规模观测数据所需的时间,同时减少人为…

    2024年4月26日
    400
  • 建立一个知识库应该用什么软件

    以下软件可以打造自己的知识库:一、Evernote;二、OneNote;三、Notion;四、TiddlyWiki;五、DEVONthink。Evernote 是一个功能强大的笔记应用,它具有跨平台性,可以在多个设备上同步数据,同时可以对笔记进行分类、标签和搜索等操作,非常适合作为个人知识库的工具。…

    2023年4月16日
    1.1K00
  • 项目质量管理包括哪些方面

    项目质量管理包括:一、质量计划;二、质量控制;三、质量保证;四、质量改进;五、质量管理工具;六、质量文档。质量计划是项目质量管理的第一步,它是制定项目质量管理方案的重要组成部分。质量计划包括确定项目质量目标和标准、质量管理组织和职责。 一、质量计划 质量计划是项目质量管理的第一步,它是制定项目质量管…

    2023年4月30日
    2.0K00
  • 编程程序员学什么

    编程程序员学什么? 编程程序员需要掌握多种技能,包括1、编程语言、2、数据结构和算法、3、数据库知识、4、版本控制系统以及5、操作系统原理。在众多技能中,掌握编程语言尤为关键,因为它是程序员表达逻辑、实现功能的基础工具。掌握一门或多门程序设计语言,不仅能帮助程序员更好地理解计算机程序的工作原理,还可…

    2024年4月25日
    1100
  • 敏捷开发适合哪些项目

    敏捷开发适用于以下项目:一、需求频繁变化的项目;二、复杂度高的项目;三、需要快速交付的项目;四、需要紧密合作的项目。在传统的瀑布模型中,需求在项目开始前就被确定,并在后续开发中尽可能不做更改。 一、需求频繁变化的项目 在传统的瀑布模型中,需求在项目开始前就被确定,并在后续开发中尽可能不做更改。而在实…

    2023年4月16日
    55900
  • 什么软件记工时最好

    记工时软件有:1、Toggl;2、RescueTime;3、 Clockify;4、Everhour。Toggl是一款功能强大的在线工时记录软件,能够方便地记录员工的时间和任务。该软件提供了简单易用的界面,使您可以快速开始记录时间。您可以在Toggl内创建项目和任务,然后开始计时。 1、Toggl …

    2023年2月27日
    54300
  • Java反射到底慢在哪里

    java反射之所以慢,根本原因是编译器没法对反射相关的代码做优化。由于反射涉及动态解析的类型,因此无法执行某些Java虚拟机优化。因此,反射操作的性能要比非反射操作慢,因此应该避免在对性能敏感的应用程序中频繁使用Java反射来创建对象。 java反射之所以慢,根本原因是编译器没法对反射相关的代码做优…

    2023年1月30日
    92700
  • Java中的注解是什么

    Java中的注解以简洁的方式为代码提供元数据,通常用于编译检查、代码分析和运行时处理。注解可以对代码进行分类、提供信息,并且引导编译器和运行时环境,以规范特定操作。例如,1、 注解可以告知编译器某方法已废弃;2、 框架使用注解来理解类和方法如何应用于特定任务。注解在框架开发中尤其重要,如Spring…

    2024年1月8日
    22500

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部