`
shannon977
  • 浏览: 20358 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

配置、脚本和编程语言

阅读更多

配置、脚本和编程语言,看似很不相同,其实本质上是一样的东西。这点从Ant脚本可以看出来,它基于的XML是配置所采用的流行格式。同时Ant脚本里有量,有函数,能循环和逻辑判断,已经具备编程语言的基本要素了。

程序像一个水桶,边界条件的约束就像桶边,有了边才能盛水。编程就像箍桶。但通常我们不把桶做成三维密封的圆柱体,顶上留口,以便水进出。编程也一样,为灵活性考虑,我们通常会让某些条件开放着,留待部署时配置。我们通常对这种灵活性认识深刻。

程序又可被看作是一个数学命题。命题通常先题设,再推断。程序也有像题设一样的“边界条件”,比如用什么算法,内存组织,持久化策略,具体到数据库的url。编程就是用配置、脚本或语言,为所有条件给出具体约束,最后程序才能工作。所以这三者或都可以定义为定义程序边界条件的语法集合,区别只在简单复杂而已。这说明,这三者之间并非不可逾越。它们是什么,不在于组织形式并非XML文件就一定是配置文件,而在于语法集合本身如果希望用配置定义像算法内部实现一样复杂的流程,那么配置就会变成复杂的编程语言,即便它以XML的形式组织。

所以在实践中,有必要时时保持警惕,避免把配置定义得过于复杂。我曾经有两次开发经历,有把配置脚本化的倾向,最终还是抵挡住了这种诱惑。

不过于复杂的原因,我还是从成本来考虑的。

 

实现成本

学习使用成本

配置

配置导入模块

低。有限的参数,可以手工配置。

脚本

脚本解析器

高。复杂的语法集合,需要有界面辅助配置

语言

编译器

高。全集,需要有IDE

 

当然,我们也许会觉得这世上脚本和语言多得是,而且不乏人开发,多我一个也不多啊!还是用数学命题打比方吧。命题有公理、定理和推论等。世上发明公理定理的牛人是不辈出的。大多数人不过是拿着推论搞应用。我见过朴实的农民拿着厚厚的稿子来大学找教授的,但绝大多数是初中生证明哥德巴赫猜想似的例子。所以像你我这样的普通程序员,如果碰到了发明自己的脚本甚至语言的机会,提醒一下自己是不是幻觉,还是有现实意义的。当然配置脚本化这样极端的情况不会经常发生的,但基于此,处处提醒自己不要让配置太复杂,也有好处。

最后谈谈关于咋做的一些经验之谈。要避免让程序配置长得太过复杂,首先每次往文件里塞一条新的配置之前,都要先问问自己:这样做有必要吗?或者当配置复杂到将要超出自己控制的时候,就要选择“立定,向后转”,失控的标志通常就是配置需要定义流程控制,循环等。

对于模块和规模不大的程序而言,简单的配置+接口回调,可以用来抵挡配置脚本化的趋势。简单的边界条件用配置,复杂的则仍然在接口实现里用代码定义。这样对于使用者而言,学习配置格式的代价有限,而写接口实现代码的语言则应该是早为他们所熟悉的C/C++Java等。

分享到:
评论

相关推荐

    TCL+TCL脚本语言编程+TCL语言教程

    以下是对TCL脚本语言编程和TCL语言教程的一些关键知识点的详细说明: 1. **基本语法**:TCL的语法简洁明了,以空格和换行符作为语句分隔。命令通常由关键字和参数组成,不区分大小写。例如,`puts`命令用于打印输出...

    TCL脚本语言编程 pdf

    总的来说,《TCL脚本语言编程》是一本全面介绍TCL语言和expect扩展的实用指南,对于想要提升运维自动化能力的读者来说,它提供了丰富的学习资源。通过阅读本书,你不仅可以掌握TCL的基本语法,还能熟练运用expect...

    UR的脚本编程语言及示例大全

    UR机器人的编程主要使用URscript这种专用的脚本编程语言。URscript功能强大,能够方便地集成到机器人的控制系统中,使其可以根据用户需求完成一系列动作。 URscript语言为用户提供了丰富的控制命令,这些命令可以...

    SIMATIC WinCC Professional V14 SP1 - VB脚本和C脚本_编程参考.rar

    VB脚本是基于Microsoft的Visual Basic编程语言的一个轻量级、解释型的版本,广泛应用于Web开发和自动化任务。在SIMATIC WinCC中,VB脚本可以用来创建交互式的用户界面,响应用户的操作,处理数据,以及与PLC(可编程...

    TCL脚本语言编程_tcl_TCL校本编程_

    《TCL脚本语言编程》这本书可能是为初学者设计的,旨在帮助读者掌握TCL的基础知识和应用技巧。 TCL的核心特性包括简洁的语法、动态类型和内置的字符串处理能力。其语法结构相对简单,使得学习曲线较平缓。例如,...

    脚本语言编程(web课设报告)

    总的来说,脚本语言编程是Web开发的核心技能之一,VBScript和JavaScript作为两种常见的脚本语言,各有其特点和用途。通过此类实验,学生可以更好地理解和应用这些语言,提升自己的Web开发能力。

    脚本语言编程(web课程设计)

    4. **网页脚本编程与调试**:在HTML页面中嵌入VBScript和JavaScript代码,可以实现动态效果和用户交互。学生需要学会如何在Dreamweaver中编写和调试这些脚本,利用预览功能检查代码的正确性。 实验内容涵盖以下任务...

    TCL脚本语言编程资料

    随着时间的推移,TCL逐渐发展成为一个通用的编程语言,广泛应用于系统管理、GUI开发、网络设备配置、科学计算以及嵌入式系统等多个领域。 **1. TCL基本语法** TCL的语法非常简洁,变量声明无需类型,直接通过等号...

    易语言自动获取配置脚本生成脚本

    易语言是一种专为中国人设计的编程语言,它以简明直观的中文语法,降低了编程的门槛,使得更多非计算机专业的人也能快速上手编程。在本压缩包中,"易语言自动获取配置脚本生成脚本"是一个用易语言编写的程序,用于...

    TCL脚本语言编程

    在深入探讨TCL脚本语言编程之前,我们先来了解其基础概念。 1. **语法结构**:TCL的语法相对简单,主要由命令、变量、控制结构和函数组成。命令是TCL的核心,例如`puts`用于输出信息,`set`用于定义和赋值变量。TCL...

    脚本语言编程脚本语言编程

    脚本语言编程是Web开发中的基础技能,主要涉及两种在本实验中被提及的语言:VBScript和JavaScript。这两种语言在Web页面中常用于实现交互性和动态功能。 VBScript是一种微软开发的轻量级脚本语言,主要应用于...

    Windows Vbscript 脚本编程核心技术精解

    VBScript是一种轻量级的、解释型的编程语言,广泛应用于网页交互、系统管理和自动化任务执行等领域。 在Windows环境中,VBScript与WScript或CScript解释器配合,可以实现丰富的功能。通过学习VBScript,开发者能够...

    Windows2000脚本编程实用大全

    8. **实际应用案例**:书中可能包含了大量的实战示例,涵盖系统管理、用户配置、网络配置、性能监控等多个方面,帮助读者理解并掌握脚本编程的实际运用。 9. **故障排查与调试技巧**:介绍如何定位和解决脚本运行中...

    windows脚本编程

    学习Windows脚本编程,你需要掌握基本的脚本语言语法,理解如何利用WSH和其他脚本宿主执行脚本,以及熟悉WMI、ActiveXObject等高级技术。此外,了解如何调试脚本和解决运行时错误也非常重要。通过实践,你可以编写出...

    C#和R语言的混合编程案例

    ***技术:组件对象模型(Component Object Model,简称COM)是一种标准的互操作性规范,它允许不同的编程语言和组件之间的交互。COM的基础设施是COM对象,它封装了操作(方法)、数据(属性)和状态,并通过引用计数...

    lua脚本编程语言,需要的应该也是很迫切的

    从给定的文件标题、描述、标签以及部分内容中,我们可以提炼出关于Lua脚本编程语言的重要知识点,这些知识点覆盖了Lua的基本概念、特点、应用场景以及其与其他编程语言的关系。 ### Lua脚本编程语言简介 #### 核心...

    Windows2000脚本编程实用大全解密版

    脚本编程在Windows环境中,主要涉及的是批处理文件(Batch Scripting)和VBScript或JScript等更高级的脚本语言。Windows 2000系统中,这些脚本语言是系统管理的重要工具,能够自动化执行日常维护、系统配置和故障...

    Windows 脚本编程核心技术精解 CD

    《Windows 脚本编程核心技术精解》的光盘资源包含了一系列有关Windows脚本编程的实践教程和示例代码,是深入理解这一领域的宝贵资料。Windows脚本编程是一种利用脚本语言实现自动化任务的技术,主要应用于系统管理、...

    西门子WinCC_VBS_VBA脚本编程手册.rar

    通过VBS(Visual Basic Script)和VBA(Visual Basic for Applications)脚本编程,用户可以自定义WinCC的功能,实现更灵活、高效的系统控制。 VBS是一种轻量级的脚本语言,它基于Visual Basic语法,无需编译即可...

    sii9022 配置脚本

    【标题】"sii9022 配置脚本...总之,"sii9022 配置脚本"涉及到的核心技术是RFID设备的配置管理,包括理解RFID协议、硬件接口、编程语言以及实际的设备操作和测试。掌握这些知识对于实现高效、可靠的RFID系统至关重要。

Global site tag (gtag.js) - Google Analytics