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

没有不同。程序设计语言的基础是上下文无关文法和有限状态自动机理论。这两个都是一个数学概念,和语言是无关的。在各种程序设计语言中,除了少数类似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日

相关推荐

  • devops适合什么类型项目

    摘要: DevOps传承与创新,它适用于那些追求效率、质量以及快速响应市场需求的项目。1、频繁迭代的软件开发项目,2、高并发用户体验要求的在线服务项目,3、遵循精益思想的创新型项目。其中,频繁迭代的软件开发项目尤为适合,因为DevOps以其自动化流程、持续集成(CI)和持续交付(CD)的方法论,能显…

    2024年3月26日
    6000
  • 项目档案管理要求有哪些

    项目档案管理核心要素包含:1、合规性2、系统性3、完整性4、可访问性5、保密性。合规性包括遵守相应的法律法规和行业标准;系统性要求有良好的分类、编排和检索系统;完整性指所有文件资料的完备无缺,确保项目信息的完整性;可访问性指档案应当易于获取且检索效率高;保密性涉及对敏感信息的保护,防止泄露给未授权的…

    2024年1月8日
    28000
  • 塞班系统和安卓系统的区别是什么

    塞班系统的操控体验要比安卓差,不如安卓的简洁顺畅。全触控的塞班还好一些,全按键的塞班就体验就差很远了。塞班的封闭系统无法获得足够丰富的应用支持,开发成本和应用联通性方面完全被安卓超越,导致塞班的软件资源要远少于android。 一、安卓系统和塞班系统的区别 安卓系统的英文是android。它由计算机…

    2023年2月13日
    1.6K00
  • 研发管理中敏捷与瀑布模型的对比

    本文对比了敏捷模型与瀑布模型两种研发管理方法。敏捷模型强调适应性、快速迭代和客户参与,核心理念是响应变化优于遵循计划。瀑布模型突出其结构化、阶段性和文档化的特点,其基本原则为设计前彻底规划。敏捷模型以1、人员互动、2、软件交付、3、客户合作、4、变化响应作为核心指标,而瀑布模型注重:5、需求分析、6…

    2023年11月14日
    38400
  • 要具备哪些技术才能称为全栈工程师

    要具备以下技术:1、至少一门编程语言;2、运用开发框架和第三方库;3、前端技术。全栈工程师需要精通至少一门编程语言,JAVA 、PHP、C#、Python、Ruby、Perl等,因为你的大多数核心业务处理都需要用这门语言来写。 1、至少一门编程语言 全栈工程师需要精通至少一门编程语言,JAVA 、P…

    2023年2月7日
    99000
  • oa审批是啥意思

    OA审批指的是采用办公自动化系统(Office Automation,简称OA)进行的审批流程。这类系统通常包括文档管理、电子邮件、日历、任务分配和审批流转等功能。使用OA审批可提升工作效率、减少人为错误。1OA审批系统允许用户通过电子方式提交各类申请,如请假、报销等,并通过预设流程进行审核批准或驳…

    2024年1月17日
    1.8K00
  • 为什么C语言程序中必须要有一个且只能有一个main()函数

    这是因为:有些初始化代码,会在main()函数启动前运行,这个启动代码会调用我们编写的main()函数,所以其它函数可以任意编写,main()的格式是固定的,是我们自己编写的代码,我们自己的程序启动的地方,通常也是我们自己的程序结束的地方。 main()程序或者整个程序(若干人编写的)运行的起点,C…

    2023年2月23日
    1.1K00
  • vscode为什么不能print

    Visual Studio Code (VSCode) 通常不能直接执行 print 操作的原因主要包括:执行环境未配置好、代码运行错误、插件不完整或设置问题。其中,执行环境未配置好是最常见的问题,VSCode 是一个编辑器,它需要外部的语言环境,如Python、Node.js等,来正确运行代码。如…

    2024年4月3日
    10300
  • linux下载文件命令

    linux下载文件命令有:1、wget命令;2、curl命令;3、MyGet命令;4、scp命令;5、sz命令。wget命令用来从指定的URL下载文件。wget命令非常稳定,它在带宽很窄的情况下和不稳定的网络中有很强的适应性。 1、wget命令 大多数 Linux 发行版都预装了 wget。它在大多…

    2023年3月17日
    22.7K00
  • 研发资料管理系统

    研发资料管理系统的关键在于提高研究开发效率、保护知识产权及促进信息共享。主要的组成部分包括数据存储、访问控制、版本管理和协同工作功能。其中,访问控制**作为确保资料安全性的要点,需要实施细致的权限设置和用户身份验证机制。一般而言,该系统将授权不同的用户根据其职责和需要获取相应级别的信息。这一点关乎系…

    2024年1月9日
    17000

发表回复

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

400-800-1024

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

分享本页
返回顶部