在传统语言中执行程序时可能执行的操作是否以命令形式给出?如果是这样,是否可以使用指示语气来构建程序?或者它们(表达式中的动作)已经在某些编程语言中使用,为代码增添了优雅和效率?
指示性语气表示真实存在、存在或将存在的动作(购买、阅读);指示语气中的动词有时态(现在、过去和将来)、人称(1,2 和 3)和数(单数或复数)形式;
更新。(Nepeyvoda N. N.,Skopin I. N. 编程基础。- 2003 年,第 113 页)
PS我没有马上引用出处,因为我没有直接引用它。我刚刚向 ruSO 发布了一个有趣的问题。
仍然用你自己发明的语言的例子来补充问题
“我正在读书”反映了当前状态 -> 欢迎使用状态机
“我读了这本书”的统计信息、数据库日志、系统历史、活动语义(可执行代码)都不是发明出来的,而应该是一种数据描述语言,根据它,例如可以得出某种逻辑结论:这样由于用户可以访问这些文件,我们将安排检查以查看他是否破坏了它们
“我要读一本书”或“我想读一本书”是规划系统、任务管理、财务分析和后勤的明确语言:“如果他们带我去上班,我可以把螺丝从八个变成五个taxi”,“myblin 包中有一个安全漏洞”,“明天应该运行检查磁盘”
命令式编程——显然是命令式的
还有一个声明式的——我们描述需要得到什么,开发系统构建一个满足指定条件和限制的1+解决方案(包括限制中的编程:变量有以下范围,满足这样的方程组,优化这些值,输出代码为主流平台/编程语言的整个现有矩阵生成,您可以在目标代码中使用以下库):它似乎类似于指示性情绪?
还有各种奇怪的混合声明式/命令式
通过规则集编程,例如,将有限状态机描述为一组规则、它们之间的转换条件、输入/输出接口、转换/进入/退出状态时执行的代码
数据转换语言:一组声明模板输入结构->输出结构+直接转换规则的功能部分
parser generators grammar description languages for parser generators:明确指示,还没有用于解析的初始数据,但元素之间可能的结构关系已经定义,但通常每个规则都补充了一段命令式或功能代码:究竟需要什么完成找到的元素,如何对它们进行分组或转换。
纯逻辑语言,如 Prolog
知识描述语言、语义网络、明斯基框架网络——包括一个活跃的部分,比如算法的一般描述,可以作为代码生成的模板,或者高阶算法:算法转换算法
是的,很可能是真的。既然所有(或大部分)编程语言都使用英文,那么:
如您所见,编程中的所有动词都只使用祈使语气(print、show、add 等)
您可以仅使用名词来编写程序,但根本没有指示语气中的命令。