`
summersmile
  • 浏览: 49229 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

如何轻松构建DSL(一)

阅读更多

编译原理相对来说都是很难的一门技术,但是在实际中却非常有用,很多时候,我们并不止是在编程的时候才与它打交道,对于很多系统级的软件来说,为了解决一个领域的问题,往往都会有自己的一套脚本语言,可以由使用者按照自己想要的方式去使用它,这样就让这个系统的功能不再是限定在你所开发的功能上,因为作为系统的开发者来说,你开发的功能肯定是有限的,但是一旦有了DSL,普通用户也可以贡献自己的智慧,来开发功能了,有点类似UGC的赶脚。

普通人最常接触到的DSL,我觉得应该是office的VBA,刚工作的时候做的第一个项目是一个VBA的项目,一开始的感觉是VBA那就是小孩子,小白,菜鸟用的编程语言,我这种专业的开发人员搞这个?后来在实际使用的过程中,感叹微软的Office的强大,你需要在office软件里做什么,你都可以用脚本记录下来,可以按照你想要的方式让office去工作,每一个行,列,公式,操作,都有对应的函数来做,各种丰富的脚本论坛,你可以借用前人的智慧,这种劳动在Office的使用者之间可以交换。所以,如果没有VBA,我们只能用鼠标来操作,却不能记录和保持传播,不能跨越时空的传递这种智慧,所以一个DSL对于一个系统软件来说,就如同文字对于人类的发展,有些文明是有语言但是没有文字的,这种文明就只能口耳相传,跟有文字的文明根本就不是一个level的,所以WPS跟office,那就不是一个级别的。

分享到:
评论

相关推荐

    groovy 一个不错的文档 实现dsl

    - **配置文件**: 使用Groovy作为配置语言,如Gradle构建脚本中的Groovy DSL。 - **测试框架**: 如Spock框架使用Groovy实现的BDD风格的测试DSL。 - **应用开发**: Groovy可以用来创建内部DSL,用于简化复杂系统的开发...

    Ruby-Jbuilder通过一个构建式DSL创建JSON结构

    Jbuilder是一个Ruby gem,它提供了一个简洁的Domain Specific Language (DSL),让开发者能够通过一种构造式的语法来构建复杂的JSON对象,避免了手动拼接字符串的繁琐。这个DSL使得编写和维护JSON序列化代码变得更加...

    Groovy DSL

    总之,Groovy作为一种强大的脚本语言,不仅具备与Java无缝集成的能力,还因其灵活的特性成为构建DSL的理想选择。通过减少代码量、提高代码的可读性和可维护性,Groovy为开发者带来了诸多便利。随着越来越多的企业和...

    RVcompose,可扩展kotlin dsl,用于使用recyclerview构建动态可重用ui组件.zip

    而`RVcompose`则是一个专为RecyclerView设计的开源项目,利用Kotlin的Domain Specific Language(DSL)来简化UI组件的构建过程,使其更加灵活和可扩展。下面将详细介绍`RVcompose`的核心概念、使用方法以及其带来的...

    Ruby-Skeptick一个通用的DSL用于构建和运行ImageMagick命令

    Ruby-Skeptick是一个强大的开发工具,专门为Ruby程序员设计,用于构建和执行ImageMagick命令。ImageMagick是一款广泛使用的开源跨平台图像处理库,能够处理各种图像格式,并提供了丰富的图像操作功能。Skeptick作为...

    xtext eclipse DSL

    Xtext还支持将现有的Ecore模型导入到DSL中,这样可以在已有的基础上构建新的DSL。 #### 九、语法混合(Grammar Mixins) 语法混合允许在不同的语法文件中复用相同的规则定义,这对于创建大型语言来说非常有用。 #...

    用于轻松测试REST服务的Java DSL.zip

    标题中的“用于轻松测试REST服务的Java DSL”指的是使用Java Domain Specific Language(DSL)来简化RESTful服务的测试过程。REST服务是Web应用程序常见的接口类型,用于交换数据。DSL是一种特定于领域的编程语言,...

    Python-Meson是一个跨平台的构建系统

    其简洁的DSL、高效的构建机制以及良好的生态系统支持,使得Meson成为现代软件工程中的一个优选构建解决方案。无论你是个人开发者还是大型团队,Meson都能帮助你更专注于代码本身,而不是构建流程。如果你正在寻找一...

    data2viz,一个具有全面dsl的多平台数据可视化库.zip

    7. **集成友好**:data2viz可以轻松地与现有的Kotlin项目集成,无论你是构建Web应用、桌面应用还是移动应用,都可以快速地引入这个库来提升数据可视化的质量。 总的来说,data2viz是一个强大的工具,它为开发者提供...

    Ruby-Main一个类工厂和DSL用于快速生成命令行程序

    DSL(领域特定语言)是一种为特定领域设计的简化编程语言,它使非程序员或不熟悉底层语言的开发者也能轻松地编写代码。在Main中,DSL使得定义命令行行为变得直观且富有表达力。例如,你可以这样定义一个简单的命令:...

    Simple-DSL:用Java编写简单的DSL的实用程序

    DSL的其余部分在很大程度上取决于被测系统,但是提供了许多模式,这些模式已被证明可以成功地构建经得起时间考验的DSL。 例子 一个简单的在交易所下订单的测试用例可能看起来像: package ...

    gradle构建工具下载

    Gradle是一款强大的构建自动化工具,尤其在Java和Android开发领域广泛应用。它采用了Groovy和Kotlin等动态语言,使得构建脚本更为灵活和简洁。在本文中,我们将深入探讨Gradle构建工具及其不同版本的特点,以及如何...

    Driftwood是一个DSL,使自动布局容易在iOS, tvOS和macOS.zip

    为了解决这一问题,"Driftwood"应运而生,它是一个专为这些平台设计的领域特定语言(DSL),旨在简化自动布局的使用。 DSL是一种专门为某一特定领域设计的语言,它可以提供更加直观和简洁的方式来表达该领域的任务...

    Java项目构建新型利器——Gradle

    随着现代软件开发的复杂性不断增加,构建自动化成为了一种必要,Java项目构建的新型利器——Gradle应运而生。Gradle是基于Java的下一代构建工具,它的出现改变了构建工具的格局,提供了更强的表现力和更好的可维护性...

    Gradle构建(war) web项目示例

    Gradle基于Groovy语言,采用领域特定语言(DSL)进行构建脚本编写,使得配置更加简洁易读。Gradle的任务(Task)是构建过程中的最小执行单元,它们可以被组织成任务链,形成构建生命周期。 在构建一个web项目时,...

    recyclical,一个Kotlin DSL API,使RecyclerViews更易于使用和安装。.zip

    为了解决这个问题,"recyclical"是一个Kotlin DSL(Domain Specific Language)库,它提供了简洁的API,让开发者能够更加容易地使用和安装RecyclerView。 "recyclical"项目的核心特性在于它的DSL语法,这种语法允许...

    DSL Engine-开源

    DSL Engine开源项目为开发者提供了一个平台,让他们可以更轻松地构建这样的自定义语言,提高代码的可读性、可维护性和效率。 元编程(Metaprogramming)是程序设计的一种高级技术,它是指在运行时或编译时能够处理...

    PyPI 官网下载 | kahmi-dsl-0.0.2.tar.gz

    开发者可以借助这个库,利用Python的强大功能和DSL的便利,轻松处理在分布式云环境中与kahmi系统相关的复杂任务。通过研究和使用这个库,可以提升开发效率,优化系统性能,并享受到云原生架构带来的诸多优势。

    构建自己的Java库

    创建一个GitHub或GitLab仓库来托管你的Java库,这样其他开发者可以更轻松地获取和贡献代码。 3. **API设计**:设计简洁、清晰的API至关重要。遵循Java的命名规范,使用有意义的类名、方法名,提供详细的Javadoc注释...

    android-gradle-dsl:针对Gradle的Android插件的DSL参考

    在Android开发中,DSL使得开发者能够轻松地定义应用的依赖、构建变体、资源处理等任务。 在Android Studio中,`build.gradle`文件就是使用Android-Gradle-DSL的地方。例如,我们可以在其中声明项目依赖: ```...

Global site tag (gtag.js) - Google Analytics