`
netbabe
  • 浏览: 24583 次
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

一种软件理论分析的胡思乱想

阅读更多

软件从某种意义上说,就是以各种程序设计语言记载、并运行在遍布全球的计算基础设施上的人类思想。人类社会文明程度越高,对软件的依赖越大。人类的思想异化为软件,但我们自身却迷失在软件所营造的异度空间中。

        软件的逻辑就是以言行事的逻辑,软件程序操控着人造世界,我们就生活在其中。从语言学视角对软件进行分析,有助于我们脱离细节的牵绊,从纯理论看待这个极其复杂的怪物。我们可以借用语言学的语法、语义和语用,把这三个因素表征为三维的坐标系。
      (1)语义维度
        我们可以把各类计算模型安排在语义维度上,数学家和计算机科学家已经构造出五花八门的计算理论,比如自动机、图灵机、冯诺曼机、函数式模型、逻辑式模型、并发模型、项重写等等。有许多模型是图灵等价的。
       (2)语法维度 
        驱动着语法进展的是抽象的力量,抽象带来的语法糖虽然并没有增加计算模型的能力,但它大大提高了描述程序的效率、安全性和可读性。计算模型中控制、数据都可以进行抽象。抽象的基本手段是命名和参数化。历史上的结构化程序设计、面向对象程序设计是两次巨大的抽象语法维度的进展。
        (3)语用维度
         计算机语言语用一方面是语义、语法在计算机上实现范畴。另一方面就是软件以言行事的范畴,通过I/O操控外部世界。计算理论认为I/O是非本质的副作用的东西,但这却是人类为什么需要软件的原因。

        一、程序设计语言中的概念构造,可以比喻为这个理论三维空间中的点。
       例如类型构造,一般被认为是语法维度的东西。但是通过类型理论中curry-howard同态,却揭示出类型与逻辑的联系,由此丰富了语义模型。为了支持类型,语用维度必须在纯代码的基础上添加元语言信息。
      例如纯函数程序语言,以lambda演算作为语义模型。人们在函数程序语言中引入了continuation、monad等概念。这些构造有语法的形态,但也有语用上的内涵——I/O副作用,由此为函数程序操控世界打开了一扇门。

      二、底层的元语言编程行为,可以比喻为这个理论三维空间中的变换。
      传统的过程式程序设计的编译、解释,高级语言和低级语言的语义模型是一样的,主要属于语法维度的变换。但是函数程序语言、逻辑程序语言的处理,除了语法维度的变换,还多了语义模型的变换。由此导致在语用维度上,函数程序和逻辑程序的运行时间系统比过程式语言复杂,运行效率也有下降。
      程序员封装函数库的API设计,某种意义就是语言的设计。而极端者如DSL领域专用语言,就是从外部领域的语用内容直接向语法-语义平面的投射。
     lisp之所以被称为可编程的程序设计语言,在于在语法维度上增加对理论三维空间变换的变换,使其元语言编程能力极为强大。lisp的宏用作DSL设计,就是on lisp中鼓吹的自底向上的编程方式。

分享到:
评论

相关推荐

    胡思乱想成语.docx

    例如,在学习或工作中,如果一个人过于胡思乱想,可能会导致无法专注于手头的任务,从而影响效率和成果。在情感方面,胡思乱想可能导致不必要的焦虑和担忧,如担心恋人背叛等。 在成语接龙中,胡思乱想可以连接许多...

    胡思乱想.doc

    胡思乱想.doc

    matlab在语音信号分析与合成中的应用___书

    MATLAB(Matrix Laboratory)是一种强大的数值计算和可视化软件,广泛应用于科学计算、工程分析以及教学研究等多个领域。在语音信号处理方面,MATLAB提供了丰富的工具箱和函数,使得语音信号的分析、处理和合成变得...

    2020经典语句[参考].pdf

    软件开发中的需求分析、代码审查等环节,都需要良好的沟通技巧,确保团队成员在同一频道上。 4. 失败与挫折:开发过程中难免会遇到失败和挫折,如代码bug、项目延期等。关键是要从失败中吸取教训,通过反思和总结,...

    -----:IT 技术 的 胡思乱想

    Markdown是一种轻量级的标记语言,它的设计目标是使人们能更方便地写作,特别是对于非程序员来说。它通过简单的符号来表示文本格式,如`#`代表标题,`*`和`_`用于斜体和粗体,`>`用于引用等。Markdown的简洁和易读性...

    计算机经典名言.pdf

    计算机就跟⽐基尼⼀样,省去了⼈们许多的胡思乱想。这句话强调了计算机的影响,计算机可以改变我们的生活和工作方式。 知识点35: 软件的要求 在软件⾥⾯,我们鲜有有意义的需求。就算有,衡量成功的唯⼀尺度也取决...

    学术报告记录

    - **开题报告定义**:开题报告是一种文字形式的科研项目说明材料,旨在明确研究的目标、内容、方法等关键要素。 - **撰写意义**: - 明确研究方向:帮助研究者理清研究思路。 - 规划研究过程:指导后续研究工作的...

    2020继续教育《提高自身绩效路径与方法》最全面答案[借鉴].pdf

    升华是一种应对消极情绪的策略,即将负面情绪转化为积极的工作行动,提升工作效率。 莫特威德罗的周边绩效行为理论强调了员工超越本职工作的主动性、工作热情和遵守规章制度的重要性。管理者从技术角色转变为管理...

    brainscala:在 Scala 中胡思乱想!

    脑脊液 Brainfuck 在 Scala 中使用无限内存磁带! 使用sbt assembly构建 主要选项 -c将输入转换为文字字符串 -v打印详细输出(目前还没有) ...jni生成一个完整的 JNI 绑定到一个 gcc 的脚本,完整的模板类

    想太多_眼球先生

    作者对于自己“爱胡思乱想,爱钻牛角尖”的自我描述,表现了一种常见的心理焦虑状态。这种自我认知和反思的过程,是心理学领域研究的重要内容。 3. 生活的无常与选择 文章中提到“在这个世界,谁不是荒谬”,揭示了...

    初中语文经典美文我容易吃醋请真心待我

    4. **数据处理与分析**:“我喜欢在伤心的时候听歌,在开心的时候和朋友分享”,这种行为模式可以被视为个人数据的一种,对于大数据分析和推荐系统来说,理解并预测用户的这些行为可以帮助提供更个性化的服务。...

    四年级上册语文园地八.ppt

    首先,成语是一种固定搭配的词语,它们通常具有丰富的文化内涵和深刻的寓意。例如,“呼风唤雨”用来形容具有极大能力或影响力的人,而“出乎意料”表示事情的发生超出了人们的预期。在学习过程中,学生需要了解这些...

    提高自身绩效路径与方法试题库.doc

    3. 升华:这是一种心理防御机制,将负面情绪转化为积极的行为,例如将压力转化为创造力。 4. 周边绩效行为:除了基本工作任务之外,员工的主动性、热情和遵守规章制度也是评价绩效的重要指标。 5. 管理者的成长:...

    数理方程学习资料.zip

    5. 深入学习:探索更高级的主题,如稳定性分析、奇异性理论和偏微分方程的现代理论。 总之,数理方程是一门理论与实践紧密结合的学科,对理解自然界的各种现象至关重要。通过深入学习和实践,你可以更好地运用数学...

    比丘龙QQ表情加强版

    从网络搜集了一些,QQ好友给了一些,整理了起来做成一个eif格式表情包。

    《提高自身绩效路径与方法》题库[参照].pdf

    《提高自身绩效路径与方法》题库探讨了与软件开发相关的绩效管理问题,涵盖了组织结构、绩效评估、员工激励、创造性思维、工作设计等多个方面。以下是这些知识点的详细解析: 1. 组织结构的衡量维度包括复杂性、...

    冥想教程超详细.pdf

    冥想是一种提高自身意识集中力和提高意念力的方法,也是每个要学习意念的人必修的基础课。冥想教程可以分为四个部分,分别是冥想教程1、冥想教程2、冥想教程3和冥想教程4。 冥想教程1: 冥想教程1主要讲解了冥想的...

    创意商数测验试题.doc

    【创意商数测验试题】是一种评估个人创新能力的测试,由美国普林斯顿创造力研究所所长、心理学家尤金-劳德塞设计。这个测验通过一系列陈述,让受试者选择同意、没意见或不同意,以此来衡量个体在创新思维、应对挫折...

    提高自身绩效路径及方法试题库.doc

    平衡计分卡是一种战略管理工具,它寻求在财务、客户、内部流程和学习与成长四个维度之间实现平衡,以促进全面的组织发展。这种平衡是战略性的,旨在避免片面追求某一方面的指标。 专业技术人员的绩效特征包括难以...

Global site tag (gtag.js) - Google Analytics