gpt4 book ai didi

robotics - 文本与图形编程语言

转载 作者:行者123 更新时间:2023-12-03 23:16:59 24 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改进这个问题?更新问题,以便 editing this post 提供事实和引用来回答它.

1年前关闭。




Improve this question




我是一个高中机器人团队的一员,关于使用哪种语言对我们的机器人进行编程存在一些争论。我们在 C(或者可能是 C++)和 LabVIEW 之间进行选择。每种语言都有优点。

C(++):

  • 广泛使用
  • 为 future 做好准备(大多数编程职位都需要基于文本的程序员。)
  • 我们可以扩展我们去年的 C 代码库
  • 让我们更好地了解我们的机器人在做什么。

  • LabVIEW
  • 更容易可视化程序流程( block 和连线,而不是代码行)
  • 更容易教(据说...)
  • “编程的 future 是图形化的。” (这样认为?)
  • 更接近一些新成员可能拥有的 Robolab 背景。
  • 不需要亲密地知道发生了什么。只需告诉模块找到红球,不需要知道如何。

  • 这对我们来说是一个非常艰难的决定,我们已经争论了一段时间。根据每种语言的专业人士以及您的经验, 你认为更好的选择是什么? 请记住,我们不一定要追求纯粹的效率。我们也希望让我们的程序员为 future 的编程做好准备。

    还:
  • 您认为 LabVEIW 等图形语言是编程的 future 吗?
  • 图形语言比文本语言更容易学习吗? 我认为他们应该同样具有学习挑战性。
  • 鉴于我们部分 Root 于帮助人们学习,我们应该在多大程度上依赖预先编写的模块,以及我们应该尝试自己编写多少? (“优秀的程序员写出优秀的代码,优秀的程序员复制优秀的代码。”但首先成为一名优秀的程序员不值得吗?)

  • 感谢您的建议!

    编辑:
    我想更强调这个问题:
    队长认为LabVIEW更易于学习和教学。 真的吗? 我认为 C 可以很容易地教授,初学者级别的任务仍然可以使用 C。我真的很想听听您的意见。 输入 while{} 是否比创建“while 框”更困难? 程序逐行流动,仅由 ifs 和 loops 修改,这不是很直观,因为程序流过线路很直观,仅由 ifs 和 loops 修改!?

    再次感谢!

    编辑:
    我刚刚意识到这属于“语言辩论”的主题。我希望它没问题,因为它是关于什么最适合特定的编程分支,有特定的目标。如果不是……对不起……

    最佳答案

    在我到达之前,我们的团队(博士科学家,几乎没有编程背景)已经尝试断断续续地实现一个 LabVIEW 应用程序将近一年。代码不整洁,太复杂(前端和后端),最重要的是,它不起作用。我是一个热心的程序员,但从未使用过 LabVIEW。在一位 LabVIEW 大师的帮助下,他可以帮助将我所知道的文本编程范例转化为 LabVIEW 概念,因此可以在一周内编写该应用程序。这里的重点是基本的编码概念仍然需要学习,这种语言,即使是像LabVIEW这样的语言,也只是表达它们的一种不同方式。

    LabVIEW 非常适合用于最初设计的用途。即从 DAQ 卡中获取数据并将其显示在屏幕上,可能需要在两者之间进行一些小的操作。然而,编程算法并不容易,我什至建议它更难。例如,在大多数过程语言中,执行顺序通常是逐行遵循的,使用伪数学符号(即 y = x*x + x + 1),而 LabVIEW 将使用一系列不一定相互遵循的 VI 来实现这一点(即从左到-右)在 Canvas 上。

    此外,作为职业的编程不仅仅是了解编码的技术。能够有效地寻求帮助/搜索答案、编写可读代码和使用遗留代码都是关键技能,这在 LabVIEW 等图形语言中无疑更加困难。

    我相信图形编程的某些方面可能会成为主流——子 VI 的使用完美体现了编程的“黑盒”原则,并且也用于其他语言抽象,例如 Yahoo Pipes和 Apple Automator——也许 future 的一些图形语言会彻底改变我们的编程方式,但 LabVIEW 本身并不是语言设计的大规模范式转变,我们仍然有 while, for, if流控制、类型转换、事件驱动编程,甚至对象。如果 future 真的会用LabVIEW来编写,C++程序员跨界就不会有太大麻烦了。

    作为附言,我想说 C/C++ 更适合机器人技术,因为毫无疑问,学生在某些时候必须处理嵌入式系统和 FPGA。低级编程知识(位、寄存器等)对于这类事情非常宝贵。

    @mendicant 实际上,LabVIEW 在工业中被大量使用,尤其是用于控制系统。授予 NASA 不太可能将其用于星载卫星系统,但随后用于空间系统的软件开发是 whole different ball game ...

    关于robotics - 文本与图形编程语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13678/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com