问题标签 [graphical-language]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
robotics - 文本与图形编程语言
我是一个高中机器人团队的一员,关于使用哪种语言对我们的机器人进行编程存在一些争论。我们在 C(或者可能是 C++)和 LabVIEW 之间进行选择。每种语言都有优点。
C(++):
- 被广泛使用的
- 为未来做好准备(大多数编程职位都需要基于文本的程序员。)
- 我们可以从去年开始扩展我们的 C 代码库
- 让我们更好地了解我们的机器人在做什么。
LabVIEW
- 更容易可视化程序流程(块和连线,而不是代码行)
- 更容易教(据说......)
- “编程的未来是图形化的。” (也这样觉得?)
- 更接近一些新成员可能拥有的 Robolab 背景。
- 不需要亲密地知道发生了什么。只需告诉模块找到红球,不需要知道如何。
这对我们来说是一个非常艰难的决定,我们已经争论了一段时间。基于每种语言的这些优点,以及你所拥有的经验,你认为更好的选择是什么?请记住,我们不一定要追求纯粹的效率。我们也希望让我们的程序员为未来的编程做好准备。
还:
- 您认为 LabVEIW 等图形语言是编程的未来吗?
- 图形语言比文本语言更容易学习吗? 我认为他们应该同样具有学习挑战性。
- 鉴于我们部分植根于帮助人们学习,我们应该在多大程度上依赖预先编写的模块,以及我们应该尝试自己编写多少? (“优秀的程序员写出优秀的代码,优秀的程序员复制优秀的代码。”但首先成为一名优秀的程序员不值得吗?)
感谢您的建议!
编辑:我想更加强调这个问题:队长认为LabVIEW更好,因为它易于学习和教学。 真的吗? 我认为 C 可以很容易地教授,初学者级别的任务仍然可以使用 C。我真的很想听听您的意见。 输入 while{} 是否比创建“while 框”更困难? 程序逐行流动,仅由 ifs 和循环修改,这不是很直观,因为程序流过线路很直观,仅由 ifs 和循环修改!?
再次感谢!
编辑:我刚刚意识到这属于“语言辩论”的主题。我希望它没问题,因为它是关于什么最适合特定的编程分支,有特定的目标。如果不是……对不起……
scripting-languages - 易于使用、可能是图形化的脚本语言的灵感
我必须在我们的产品中实现一些脚本功能。脚本通常用于简单的事情,例如:
另一个非常常见的任务是让参数在一天中变化,最好使用一些带有可以在视觉上移动的设定点的线图等。
现在,我需要如何实现这一点的灵感。我们的客户今天使用的非常过时的工具只不过是一种图形化的基本方言:您不必以纯文本输入脚本,但可以拖动“IF”、“THEN”、“ELSE”、“Parameter”等符号,“当前时间”等,放到画布上,你必须知道和理解语法和语义。我认为我们可以做得更好。
我一直在寻找图形语言,但还没有找到一个引人注目的系统。
例如,有 Lego Mindstorm 语言,它非常简单,但非常针对自动化,并且不能很好地处理数学和逻辑。有labview,对于普通用户来说似乎有点太复杂了。有用于 PLC 的梯形图编程,但我的经验是它们也非常面向自动化并且不能很好地处理数学。有 Yahoo Pipes 和一些软件合成器的互连盒方法,但当需要数学时,它们也很麻烦,而且控制序列也不是很自然。然后是非常简单的向导式替代方案,例如 Outlook 和 Evolution 中的过滤器,但我认为它们不够灵活。
那么,您偶然发现并喜欢哪些图形语言?(我知道几乎没有程序员,包括我自己,喜欢这种语言,但我认为它们在这里是有目的的。)
programming-languages - 图形编程语言
在控制工程或仪器仪表中,我看到 Simulink 或 LabVIEW(G) 非常流行。在 ESL 设计中,我看到 Agilent SystemVue 越来越受欢迎。
如果您看到完善的编译器理论,几乎 100% 都是关于文本语言的。但是图形语言呢?
关于图形编程语言是否有任何值得注意的研究或讨论?按照
- 关于图形语言的理论 - 句法/语义分析和任何相关的
- 表现力(实际上,我在 SO 上问过一个关于它的问题 -你所说的编程语言的表现力是什么意思?)
- 图形语言的可能性
- ...
或者您如何看待图形编程语言?
yahoo - Yahoo Pipes:根据文本文件中的单词过滤提要中的项目
我有一个过滤 RSS 提要并删除包含我选择的“停用词”的任何项目的管道。目前我已经在管道编辑器中为每个停用词手动创建了一个过滤器,但更合乎逻辑的方法是从文件中读取它们。我已经弄清楚如何从文本文件中读取停用词,但是如何将过滤器运算符应用于提要,每个停用词一次?
文档明确指出不能在循环构造中应用运算符,但希望我在这里遗漏了一些东西。
typescript - Typescript 运行时类型检查
我正在尝试使用 TypeScript构建一个类似于Max、Grasshopper或Antimony的图形编程编辑器。
基本思想是,一个块代表一个函数,左边是输入,右边是输出,您可以将输入和输出与边连接在一起。
我现在面临的挑战是我想要一个块的类型安全的静态定义以及一些运行时类型自省,以防止用户将输入和输出连接到不匹配的类型。
最简单的起点就是将块定义为函数。例如:
但是,这种方法存在一些问题。
- 如何为块上的每个输入/输出生成标签?
- 如何在运行时验证用户是否将正确的类型附加到此块的输入之一?
我已经尝试对这种方法进行了一些改进,但我还没有完全成功:
我为内部类型系统创建了自己的别名,以便可以instanceof
在运行时使用。
然后我创建了一个具有定义输入、输出和评估函数的静态属性的类:
但是,我已经很不高兴我无法将输入和输出类型与评估定义联系起来。
我认为几乎可以解决我的问题的是,是否有某种方法可以在运行时内省函数的类型定义,即使它就像检查instanceof
a 类一样简单。
我希望一切都说得通——如果我需要澄清任何事情,请告诉我。
visual-studio-code - 图形 IDE 作为 VS 代码扩展
我正在研究开发图形 IDE 想法作为 VS Code 扩展的可能性。
主要问题是 VS Code API 主要针对源代码的文本表示,不直接支持图形表示。
例如,语言服务器 API(包括 LSP 和 LSIF)没有节点和边等图形概念。
因此,我决定用 C# 开发自己的语言服务器,并让我的 VS Code 语言扩展通过 GraphQL 而不是 LSP 与服务器通信。
我有一个具体的问题:
如何在不使用语言服务器 API 的情况下在后台运行我的 C# 语言服务器?
谢谢你。