特定领域语言与函数库

2024-05-05

这可能是主观的,我不知道:我有这个问题,我有点等同于“这个项目用什么语言?”问题,因为我似乎无法解决它。

我受委托为一个非常精通技术的社区(但不是程序员)写一本关于某个领域(比如说物理学的一个非常具体的分支)的书。这是一本关于他们日复一日使用的算法子集的书。

为此,考虑到我的听众,我一直在考虑定义 DSL 的想法,而不是让他们学习 X 语言,并以此角度讨论算法,而不是使用给定的语言或伪代码。

那么问题是:有哪些迹象表明您需要的是 DSL,而不是从成熟的通用语言调用的函数库?

Thanks.

EDIT:到目前为止有利于 DSL 的建议:

  • 避免通用语言的复杂性。
  • 让“程序员”在他/她的领域更有生产力。
  • 使语言概念对于编程新手来说非常直观。 (现在才想到这个)

  1. 你的观众是 非程序员。
  2. 你是 瞄准特定领域。
  3. 他们 需要完成工作。

我会选择 DSL 而不是通用语言。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

特定领域语言与函数库 的相关文章

  • 除了实际破解代码之外,了解 VM 实现的最佳方法是什么?

    我想了解有关虚拟机实现和优化的更多信息 现在 我正在 以很小的方式 使用 JRuby 做出贡献 并且还在使用我自己的在虚拟机中运行的类似 lisp 的语言实现进行游戏 编写 不过 我想获得有关使用虚拟机并设计它们的更多信息 除了阅读 使用现
  • DSL 的嵌入式脚本引擎

    我正在开发一个需要嵌入式 DSL 来满足其预期要求的项目 DSL 将基于用户定义的事件 这是所需语法的模型 user defined event 1 event body user defined event 2 event body 可能
  • 为什么通过 DSL 的 HttpSecurity 配置似乎与显式配置的工作方式不同?

    我费了很大的劲才写了一个 DSL 来配置HttpSecurity对于我的自定义身份验证机制 但我应用于它的大部分配置在应用程序运行时似乎并未生效 而当我在 web 应用程序中手动配置时 一切都运行良好 首先 手动配置 这导致我的EntryP
  • 常量的好处

    我知道关于常量的一大问题是 您不必遍历和更新到处使用该常量的代码 这很好 但假设您没有明确将其声明为常量 采用实际上不会更改的变量并将其设为常量有什么好处 这会节省处理和 或代码大小 等吗 基本上我有一个程序 编译器说某个特定变量没有更改
  • 如何连接多个queryDSL表

    我有一些表 我想使用 queryDSL 连接获取结果 但没有找到任何使用 queryDSL 进行多个连接的示例 我有这些表 账户表 accountId PK 电子邮件 密码 account profile 表 accountId PK fk
  • 对象方法调用不带括号

    导入后是否可以调用不带括号的对象方法 这是我的测试代码 基于本文 http www artima com scalazine articles package objects html马丁 奥德斯基 package gardening fr
  • 关于代码密度作为编程语言能力衡量标准的文章[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我记得看过一篇文章说这样的话 不同的编程语言引入的错误数量差异不大 但很大程度上取决于 SLOC 源代
  • 经典C++(带类的C)的调用/返回功能,哪些现代语言具有它?

    第 57 页C 的设计和演变 https rads stackoverflow com amzn click com 0201543303 Stroustrup 博士谈到了一个最初是 C with Classes 的一部分的功能 但它不是现
  • 客户端语言

    我不是网络程序员 所以请原谅我的无知 当谈到服务器端编程时 我们有很多可用的技术 例如 PHP ASP net JSP 等 然而 说到客户端脚本 我只听说过 JavaScript 和 AJAX 也许您还可以包含 Java Applet 因为
  • C# 程序员的 C++ [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我对 Java 和 C 的 OO 有很好的理解 而且我很幸运在我的工程课程中接触到了汇编程序和 C 的
  • 设计模式作为(缺失的)语言功能

    有时人们将设计模式称为缺少的编程语言功能 为了避免关于什么是设计模式的争论 假设我们只考虑原始的 GoF 模式 例如 单例模式在 Scala 中消失了 Scala 使用关键字支持单例对象object 关于这方面的资源很少 特别是设计模式是否
  • GoogleTalk 应用程序是用什么编程语言开发的?

    有谁知道 Google Talk 应用程序是用哪种编程语言开发的 是的 我询问的是 Windows 客户端应用程序 http www google ro talk http www google ro talk googletalk exe
  • 左/右旋转进位的实际用途

    循环左进位和循环右进位指令有哪些实际用途 在我的汇编课上 我们无法想出一个有用的好例子 如果要将位从一个操作数移出并移入另一个操作数 SHL EAX 1 move sign bit of EAX RCL EDX into LSB of ED
  • 静态/动态类型与静态/动态绑定

    大家这4个术语有什么区别 能举个例子吗 Static and dynamic是指解决某些编程元素的时间点的行话 Static表示解析是在程序构建时发生的 Dynamic表示解析是在程序运行时发生的 静态和动态打字 Typing指由于数据值之
  • ALGOL 曾经用于“主流”编程吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我知道ALGOL http en wikipedia org wiki ALGOL作为一种理论语言 该语言非常重要 并且根据维基百科 它也
  • const 变量悖论

    如果我有一些关于 C 的表达式 const int x 3 我可以说 x 是一个变量吗 这看起来很奇怪 因为 x 不是变量 因为我无法更改它 提前感谢您的任何解释 Edited附 感谢您的所有回答 我明白根据 C 的定义 我的问题的答案可能
  • 语言是如何以及为何形成的/是否有任何正在发展的语言表现出希望? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • grails 中的 log4j:如何登录文件?

    我的 grails config groovy 中有这个 log4j 配置 log4j error org codehaus groovy grails web servlet controllers org codehaus groovy
  • GPU的编程语言有哪些

    我读过一篇文章 指出 GPU 是超级计算的未来 我想知道在GPU上编程使用什么编程语言 OpenCL 是开放式跨平台解决方案 可在 GPU 和 CPU 上运行 另一个是 NVIDIA 为其 GPU 构建的 CUDA HLSL Cg 等少数几
  • 如何使用 javascript 更改文件扩展名

    有谁知道在 Javascript 中更改文件扩展名的简单方法吗 例如 我有一个带有 first docx 的变量 但我需要将其更改为 first html 这将改变字符串包含文件名 let file first docx file file

随机推荐

  • 扫描图像到可读文本

    我想知道是否有一种方法可以通过编写代码来将带有文本的扫描图像转换为可读文本 那可能吗 OCRTools http www ocrtools com是我用于 net 的 对于Java 我用过Aspire http asprise com pr
  • HIVE 执行错误,从 org.apache.hadoop.hive.ql.exec.DDLTask 返回代码 1

    我在创建配置单元数据库时收到以下错误 FAILED 执行错误 从 org apache hadoop hive ql exec DDLTask 返回代码 1 com facebook fb303 FacebookService Iface
  • 将内部联接和 where 子句添加到 INSERT INTO ON DUPLICATE KEY UPDATE

    我从 INSERT INTO ON DUPLICATE KEY UPDATE MySQL 语句开始 INSERT INTO Table1 field1 field2 VALUES 1 2 ON DUPLICATE KEY UPDATE fi
  • 角度模态弹出窗口中的范围问题

    我的页面上有一个模式弹出窗口 模式弹出窗口使用引导角度库 在模式的主体内部 我有一个带有 ng model 属性的文本框 按下 确定 按钮后 我想使用该文本框值
  • 有没有 C# 到 C 的转换工具? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道 C 与 NET Framework 不同 C 是一种符合 ECMA ECMA 334 和 ISO
  • 如何提取Python代码文件中使用的函数?

    我想创建代码文件中使用的所有函数的列表 例如 如果我们在名为 add random py 的文件中有以下代码 import numpy as np from numpy import linalg def foo print np rand
  • C++ 中的 Ofstream 数组

    我想要在我的项目中使用 41 个输出文件来在其上写入文本 首先创建一个字符串数组list为了命名这些输出文件 然后我尝试定义一个 ofstream 对象数组并使用list命名它们 但我收到此错误 outfile cannot be used
  • 重写 AngularJs DatePicker 弹出窗口以添加新标题

    这个问题说明了一切 我已经搜寻过高低 但没有找到办法 但是 在我破解模板之前 我想我会在这里问 只是为了说清楚 我希望能够在日期选择器的顶部添加一些文本 这是一个弹出窗口 如果这有什么区别的话 例如 你的生日是什么时候 如果您遵循本主题 有
  • 使列在引导程序中固定位置

    使用 Bootstrap 我有一个网格列 class col lg 3 我想将其放置在位置 固定 而另一个 col lg 9 是正常位置 可滚动页面 div class row div class col lg 3 Fixed conten
  • 为什么我在使用 MVC4 时会收到“无效的对象名称 'dbo.*'”错误?

    我收到此错误 对象名称 dbo ImageMetas 无效 在这一行 返回视图 db Images ToList 我的数据库上下文如下所示 public class GalleryContext DbContext public Galle
  • 如何检查多个变量是否等于同一值?

    如何比较多个项目 例如 我希望检查所有变量 A B 和 C 是否都等于字符 X 或所有三个变量都等于 O 如果其中 2 个为 X 1 个为 O 则应返回 false I tried if A B C X A B C O Do whateve
  • 如何在 VB.NET 中单击按钮切换表单语言?

    我想创建本地化应用程序并想要实现语言切换器 例如特殊按钮 我使用 Visual Studio 2010 Express VB NET 我创建了带有一个标签和一个按钮的简单测试应用程序 我将表单的属性 Localized 设置为 True 并
  • Cobertura 显示覆盖率 0%

    我使用 Cobertura 1 9 3 与 NetBeans 6 8 Ant 1 7 1 和 JDK 1 6 0 21 一起运行 WAR EJB JUnit 4 测试 当我改变线路时pathelement location build cl
  • HWND 创建时间

    我是这个社区的新手 在使用我的自动化脚本 1 时遇到一个问题 我想获取 HWND 的创建时间 我在从 FindWindowEx 检索到的数组中有一组 HWND 我想在数组中找到最后根据系统时间创建的 HWND 我对窗口钩子没有足够的了解 但
  • 将 csv 解析输出保存到变量

    我是使用 csv parse 的新手 项目 github 中的这个示例满足了我的需要 但有一个例外 我不想通过 console log 输出 而是想将数据存储在变量中 我尝试将 fs 行分配给变量然后返回data而不是记录它 但这只是返回了
  • 根据另一个输入限制闪亮的应用程序输入

    我有一个基本的闪亮应用程序可以评估A B library shiny ui lt fluidPage numericInput inputId A label A value 5 step 1 sliderInput inputId B l
  • 如何在 Android 上从后台线程显示 Toast?

    我怎样才能显示Toast http developer android com guide topics ui notifiers toasts html来自线程的消息 您可以通过调用Activity s runOnUiThread您线程中
  • Xcode -- 让force_load 使用相对路径

    某些库在链接到 Xcode 项目时需要 all load 链接器标志 但是 如果库之间存在符号冲突 这会导致链接器错误 解决方案是使用 force load 它可以有效地让您在某些库上使用 all load 但不能在其他库上使用 然而 这反
  • 通过 boost::python 将 C++ 对象传递给 python 函数

    我想在 C 应用程序中使用嵌入 python 并调用 python 脚本中定义的函数 该函数的参数是一个 C 对象 看我的代码 class Test public void f std cout lt lt sss lt
  • 特定领域语言与函数库

    这可能是主观的 我不知道 我有这个问题 我有点等同于 这个项目用什么语言 问题 因为我似乎无法解决它 我受委托为一个非常精通技术的社区 但不是程序员 写一本关于某个领域 比如说物理学的一个非常具体的分支 的书 这是一本关于他们日复一日使用的