我的一部分高校的机器人技术团队,并有一些辩论有关语言使用的程序,我们的机器人。我们选择C之间(或者也许C++)和LabVIEW。有利弊,为每种语言。

C(++):

  • 广泛使用
  • 准备好为未来(最编程中的位置需要的基于文本的程序员。)
  • 我们可以扩大我们C codebase从去年
  • 可以让我们更好地了解什么是我们的机器人正在做的事情。

LabVIEW

  • 容易想象的程序流程(块和电线,而不是行代码)
  • 更易于教(所谓的...)
  • "编程的未来是图形。" (这样认为吗?)
  • 近Robolab背景下,一些新的成员。
  • 不需要密切知道发生了什么事情。简单地告诉模块找到的红色球,不需要知道如何。

这是一个非常困难的决定对我们来说,我们已经讨论了一段时间。根据这些优点对于每一种语言,并在经验,你已经有了, 什么你认为的更好的选择是什么? 记住,我们不是一定会用于纯粹的效率。我们也希望我们准备程序对于未来在方案编制。

也:

  • 你认为图形的语言,如LabVEIW是未来的编程?
  • 是个图形语言更容易了解,比文字的语言? 我认为他们应该是关于同样具有挑战性的学习。
  • 看到作为我们partailly植根于帮助人们了解, 多少我们应该依靠预先编写的模块,以及如何从我们应该试着写我们自己的? ("良好的程序员编写良好的代码,伟大的程序复制好的代码。" 但是不是值得被一个很好的编程员,第一次?)

谢谢你的意见!


编辑:我想强调这个问题的更多:队长认为,LabVIEW是更好地为其方便学习和教学。 是真的吗? 我认为,C可以教只是作为容易和初级任务仍然是围绕与C.我真的很想听听你的意见。 没有任何理由,打字的话{}应该是任何更难于建立一个"同时箱?" 不是它只是作为直观的,程序的流行,仅仅修改通过如果和循环,因为它直观的节目流通过线,只有修改通过如果和循环!?

再次感谢!


编辑:我只是意识到,这个瀑布下的主题为"语言的辩论。" 我希望这没关系,因为它是关于什么是最好的一个具体的分支的节目,与某些目标。如果这不是...我很抱歉...

有帮助吗?

解决方案

我来之前,我们的组(博士学位的科学家,很少编程的背景)已经试图实施一个LabVIEW上的应用和关闭近一年。代码是杂乱无章的,过于复杂(前端和后端)和最重要的是,没有工作。我是一个热衷编程员,但从未使用LabVIEW。小小的帮助来自一个LabVIEW师谁能帮助翻译文本progamming模式我就知道到LabVIEW概念有可能以代码的应用程序在一个星期。这里的要点是, 基本编码概念仍然必须学会、语言、甚至一个这样的LabVIEW,只是一个不同的方式表达他们.

LabVIEW是伟大的使用对于什么是最初设计为。即把数据卡的数据采集和它显示在屏幕上或许有一些小的操作。但是,编程 算法 是不容易我甚至建议,它是更加困难。例如,在大多数程序性语言的执行顺序一般是遵循行线、使用伪数学符号(即 y = x*x + x + 1)而LabVIEW会实现这一使用一系列VI是这不一定按照彼此(即从左到右)在画布上。

而且编程为职业生涯是多知道的技术细节的编码。能够有效地寻求帮助/搜索答案,编写可读的编码和使用遗留系统的代码是所有关键技能,这不可否认是更困难的形语言,例如LabVIEW。

我相信一些方面的图形程可以成为主流,使用子-对完全体现了'黑盒'主要的编程和也使用其他语言的抽象比如 雅虎管道 和苹果的自动化器,也许是一些今后图形语言将彻底改变我们的程序,但LabVIEW本身不是一个巨大的范式转变的语言设计,我们仍然有 while, for, if 流控制、转换、事件驱动式程序,即使对象。如果未来的真的会被书写在LabVIEW、C++编程人员不会有很多麻烦的过境。

作为一个postcript我说C/C++更适合的机器人,因为学生们将毫无疑问必须处理嵌入式系统和Fpga在某一点。低级方案编制知识(位、寄存器等。) 将是非常宝贵,为这种事情。

@乞丐 实际上LabVIEW是用很多工业,尤其是为控制系统。授予美国航天局不太可能使用其船上卫星系统软件,但随后发展空间系统是一个 个完全不同的球的游戏...

其他提示

我遇到了一些类似的情况的研究小组目前,我正在工作。这是一个生物物理学小组,并且我们正在使用LabVIEW所有的地方控制我们的仪器。工作绝对是伟大的:这很容易组装一个用户界面控制所有方面的文书,以查其地位和保存数据。

现在我已经停止自己写5页的夸大其词,因为对我来说LabVIEW已经是一场噩梦。让我而不是试着总结一些优点和缺点:

免责声明 我不是一个LabVIEW专家,我可能会说事情有偏见的日期,或只是简单的错误:)

LabVIEW利弊

  • 是的,这是 简单易学.许多博士在我们组似乎已经获得足够的技能破解掉几个星期内,或甚至更少。
  • 图书馆.这是一个主要点。你必须要仔细调查这对你自己的情况(我不知道你需要什么,如果有良好的LabVIEW图书馆用于它,或者如果有替代品的其他语言)。在我的情况下,找到,例如,一个很好,快速制图书馆在蟒蛇已经成为一个重要问题,这已经阻止我重写我们的一些程序在蟒蛇。
  • 你的学校可能已经安装和运行。

LabVIEW弊

  • 它也许是 简单易学。在任何情况下,似乎没有一个真正困扰学习最佳做法,使项目迅速成为一个完整的、不可弥补的混乱。当然,这也是必然要发生的与基于文本的语言如果你不小心,但是海事组织更难以做正确的事情在LabVIEW。
  • 有的往往是 主要问题在LabVIEW找到子-对 (甚至达到8.2版,我认为)。LabVIEW有其自己的方式知道在哪里可以找到图书馆和子-对,这使得它很容易完全打破你的软件。这使得大项目的一个痛苦的,如果你没有周围的人谁知道如何处理这个问题。
  • 越来越LabVIEW工作版本控制是一种痛苦.当然,这是可以做到的,但在任何情况下我会尽量不要使用内建VC。检查了 LVDiff 一LabVIEW差异的工具,但甚至不考虑合并。

(最后两点在一个团队工作上的一个项目的困难。这可能是重要的,在你的情况)

  • 这是个人,但我找到,许多算法只是不工作的时候编程。 这是一个烂摊子.
    • 一个例子是东西,是严格的顺序;这变得繁琐的很快。
    • 这是难以有一个概述的代码。
    • 如果您使用的子-VI的小任务(只是喜欢它的一个很好的做法使职能,执行一项小任务,并适合在一个屏幕上),可以不给他们的名字,但你必须绘制的图标,为他们每个人。这变得非常讨厌和烦琐的内只有几分钟,以使你变得非常诱惑 把东西中的一个子-VI。这是只太多的麻烦。顺便说一句:做一个真正的好标可以采取的一个专业小时。去尝试做一个独特的、立即可以理解的,可识别的图标为每个子-VI你写:)
  • 你必须腕骨隧道内的一个星期。保证。
  • @Brendan:听听,听!

总结发言

至于你的"我应该写我自己的模块"的问题:我不知道。取决于你的时间限制。不要把时间花在重新发明轮子,如果你没有。这太容易花天在编写低级别的代码然后意识到你已经运行的时间。如果这意味着你选择LabVIEW,去吧。

如果想要有简单的方法相结合LabVIEW,例如,C++,我喜欢听到关于它:这可能会给你的两个最好的世界,但我怀疑有。

但要确保你和你的团队上花费的时间学习最佳做法。看着对方的代码。学习彼此。写作用,可以理解的编码。并且具有有趣的!

请原谅我的冠冕堂皇的前卫和也许有点迂腐。这只是LabVIEW已经被一个 真的 噩梦我:)

我认为选择的LabVIEW或不涉及到是否你想要学习的程序在一个通常使用的语言作为一个适销对路的技能,或只是想得到的东西做。LabVIEW使你能够得到的东西做的非常迅速和富有成效。正如其他人已经观察到的,不会神奇地免费的,你不必了解你在做什么,很有可能创建一个邪恶的混乱,如果你不尽管有趣的是,最糟糕的例子不好的编码式在LabVIEW一般犯下的人都是经验丰富的一个文本的语言和拒绝以适应于如何LabVIEW工作,因为他们已经知道怎么程序,该死!'

这并不是意味着LabVIEW程序不适销对路的技能的课程;只是,它不是大众市场的作C++。

LabVIEW使得它非常容易管理不同的事情在并行的,这你可以在一个机器人控制的情况。竞争条件在代码,应该顺序不应该是一个问题(即如果他们是,你是做错了):有简单的技术,确保这些东西发生在正确的顺序,在必要的链subVI的使用错误的电线或其他数据,使用通知或排队,建设一个国家机构,甚至使用LabVIEW的序列中的结构,如果有必要的。再次,这是一个简单的情况下把时间了解的工具,可用LabVIEW以及它们如何工作。我不想抱怨具有使subVI标是很好的指导;你可以非常迅速地创建一个包含几句话的案文,也许有一背景色,并且这将对大多数的目的。

'有形的语言未来的方式'是红鲱鱼基于一个错误的二分法。有些事情很适合来形语言(并代码,用于实例);其他的事情满足文本语文要好得多。我不指望LabVIEW和图形程要么走,或采取世界各地。

顺便说一句,我会很惊讶如果美国宇航局 没有 使用LabVIEW在太空计划。最近有人描述的信息LabVIEW的邮件列表,他们如何使用LabVIEW开发和测试的封闭循环控制航班面致通过电机上的波音787,给人的印象是,LabVIEW被广泛使用的飞机的发展。它也是用于实时控制的 大型强子对撞机的!

最活跃的地方目前为取得进一步信息,帮助用LabVIEW,除了国家文书的'自己的网站和论坛,似乎是 熔岩.

这不会回答你的问题直接的,但是你可能想要考虑第三种选择的混合在一个解释的语言。 Lua, 例如,是 已经 使用 在机器人技术领域。这是快速、轻重和可配置的运行带固定点数而不是浮点,因为大多数微控制器没有一个FPU。 来回 是另一个替代具有类似的使用情况。

它应该是很容易编写一薄层界在C然后让学生宽松的解释的脚本。你甚至可以设定为允许代码要装的动态而无需重新编译和闪烁的灯芯片。这应该减少的迭代循环和让学生更好地学习,通过看到的结果更快。

我有偏见 反对 使用的视觉工具,如LabVIEW。我似乎总是碰到了什么东西,不会或不能工作的很喜欢我想要它做的。所以,我喜欢的绝对控制你的文字代码。

LabVIEW的其他强度(除了图书馆)是 并发.这是一个 数据流的语言, 这意味着在运行时能够处理并发给你。所以如果你做的事高并发和不想要办传统的同步、LabVIEW可以帮助你。

未来不属于以图形的语言为他们的立场今天。它属于谁可以拿出一个代表性数据(或另一种并发友好型的节目)是作为简单的图解方式,但是也parsable由程序员自己的工具。

有一个发表的研究报告的主题举办国家文书:

一个研究与图形文本编程教学DSP

它具体地说看起来在LabVIEW与MATLAB(而不是C)。

我认为图形语言的将永远是有限的,在表达相比的文本。比较试图通些符号(例如,REBUS或者手语),通信的使用的话。

为简单的任务,采用图形语言通常更容易,但对于更复杂的逻辑,我找到这种语言的图形的方式获得。

另一个辩论暗示在这个论点,是说明性程序与当务之急。声明通常是更好的东西在哪里你真的不需要细化的控制的东西怎么做。你的 可以 使用C++在一个声明的方式,但你会需要更多工作前,让它如此,而LABView的目的是作为一个声明的语言。

一张照片胜过千言万语,但如果一个图片表示了一千句话,你不需要和你不能改变,那么在这种情况下,一张照片毫无价值的。然而,可以创造数以千计的图片,使用的词语,指定的每一个细节,甚至领先者的重点明确。

LabVIEW让你得到的快速启动,和(正如其他人已经说)具有巨大的图书馆的代码这样做的各种试验,测量和控制有关的东西。

最大的一个失败LabVIEW,但是,是,你失去所有的工具是程序员编写自己。

你的代码存储如VIs。这些是不透明的,二进制文件。这意味着你的代码真的不是你的,这是LabVIEW。你不能书写自己的分析器,你不能写一个代码的发电机,你不能自动改变,通过宏或脚本。

很烂 当你有一个5000VI应用程序,需要一些小的调整,普遍适用。你的 选项是通过每六手,天堂帮助你如果你想改变一个VI关闭在一个角落里的某个地方。

是的,因为它是二进制的,你不能这样做diff/合并/补喜欢,你可以与文字的语言。这确实使工作与多于一个版本代码一个可怕的噩梦可维修性。

通过各种手段,利用LabVIEW如果你做的事很简单,或需要的原型,或者不计划保持你的代码。

如果你想要做到真正、可维护的编程,使用文字的语言。你可能会较慢开始,但你会很快在长期运行。

(哦,如果你需要的数据采集库,NI's got C++。网版本的那些,太。)

我第一次在这里发表:)是温柔的...

我来自一个嵌入的背景在汽车行业而现在我在国防工业。我可以告诉你,从经验C/C++和LabVIEW是真正不同的野兽不同目的的中心。C/C++总是用于嵌入式的工作在微控制器,因为它是紧凑和编译器/工具是很容易找到。LabVIEW另一方面是用来驱动测试系统(沿着与试验台作为一个序).大多数的测试设备,我们使用的是从NI使LabVIEW提供一个环境,在那里我们有的工具和所需的驱动程序的作业,随着支持我们想..

在条款易于学习,还有很多很多的资源有C/C++和许多网站奠定了设计考虑因素,例的算法,相当多的东西你以后免费提供的。用LabVIEW,用户社区可能不一样多种多样C/C++,它需要一点更多的努力来检查和比例代码(必须有正确的版本LabVIEW等)...我发现LabVIEW很容易上手,学会,但有一个讨厌如一些人所提到的在这里做的并行性和各种其他的事情,需要一位经验,在你成为意识到他们。

这样的结论之后这一切吗?我会说两种语言是值得的,在学习,因为他们真正地表示两个不同风格的程,这当然是值得以认识并精通两种。

哦,我的上帝,答案是很简单的。使用 LabView.

我编程的嵌入式系统10年来,我可以说,如果没有至少两个月的基础设施(非常小心的基础设施!), 你会不会作为有生产力的因为你是在第1天与 LabView.

如果你正在设计一个机器人可以出售和用于军事的,去吧,开始与C-这是一个很好的话。

否则,使用该系统,让你尝试的最各种在最短的时间量。那是 LabView.

我认为图形的语言可能的语言的未来。。...所有这些织MS Access开发人员在那里。总是会有一点纯粹是文字编码器。

就个人而言,我要问,什么是真正的快乐建立一个机器人如果这一切都为你做的?如果你只是一个'发现红色球模块在那里,看着它去了?什么自豪感你会有你的成就?就个人而言,我不会有多少。另外,会是什么教你的编码,或(非常重要的)方面的软件/硬件接口,是至关重要的机器人?

我不自称是一个专长领域,但问问你自己一件事:你认为美国航天局用LabVIEW码火星探测器?你认为任何人都真正突出在机器人技术使用LabView?

真的,如果你问我的话唯一的使用饼干的事情就像LabVIEW建立这个是要你准备是一些后院机器人制造商和没有更多。如果你想要的东西会给你的东西更像是行业经验,建立自己的'LabVIEW'类系统。建立你自己找到的球模块,或者你自己的后续行'模块。这将远远更困难的,但是它也将会更酷。D

我爱LabVIEW。我会强烈建议,特别是如果其他记得有用类似的东西。它需要一段时间的正常程序获得用到它,但结果的更好的如果你已经知道如何计划。

C/C++等于管理自己的记忆。你会游泳在存储器的链接,并担心他们。去用LabVIEW,并确保你读过的文件用LabVIEW并观看了比赛的条件。

学习语言是容易的。学习如何节目不是。这不会改变,即使它是一个图形的语言。所利用的图形语言是更容易些什么代码将做,而不是坐在那里并且破译一大堆的文本。

最重要的事情是不是语言,但编程的概念。它不应该的问题是什么语言学习程序,因为一点点精力你应该能的程序以及在任何一种语言。语言来来去去。

免责声明:我没有亲眼目睹LabVIEW,但我使用一些其他形语言,包括WebMethods流和建模的、动态的模拟的语言在大学并且,呃,麻省理工学院的暂:).

我的经验是,形语言可以做好的管道的一部分编程,但是那些我曾经使用积极的方式获得的algorithmics.如果你的算法是非常简单,这可能是确定。

另一方面,我不认为C++是伟大的情况。你会花更多时间追踪指针和存储管理问题比你做的有益的工作。

如果你的机器人可以控制采用一个脚本语言(蟒蛇,红宝石,Perl,无论),那么我认为将是一个更好的选择。

然后还有混合的选项:

如果没有脚本的选择你的机器人,你有一个C++怪你的团队,然后再考虑具有怪胎写定地图C++库脚本语言。这将允许人与其他特色的节目的机器人更容易。绑定会做一个好的礼物给社会。

如果LabVIEW允许,使用它的图形语言要连在一起的模块编写的文字的语言。

你在高中。多少次你有工作在这个程序?有多少人在你的小组?他们知道C++或LabView了吗?

从你的问题,我看到你知道C++和大多数组没有。我还怀疑本集团领导人敏锐到足够的注意到,一些成员的团队可以被吓倒一种基于文本的编程语言。这是可以接受的,你在高中,而这些人 normies.我觉得,虽然正常的高中生就能够了解LabView更直观地比C++。我猜最高学校的学生,喜欢的人在一般情况下,都害怕的命令行。你有多少差别,但是对于他们来说,这是白天和黑夜。

你是正确的同样的概念可以应用LabView作C++。每个人都有其强项和弱点。关键是选择正确的工具。LabView是 设计用于此种应用程序.C++是更加通用的,并且可以应用于许多其他种类的问题。

我要建议LabView。给予适当的硬件,则可以建立和运行几乎的。你的团队可以花更多的时间 让机器人做你想要什么, ,这是什么焦点的这种活动应该的。

图形的语言不是未来的方案编制;他们有了一个可供选择,为了解决某些类型的问题,多年。编程的未来是一层一层的抽象离机器码。在未来,我们只想知道为什么我们浪费了所有这段时间编程"的语义"。

多少我们应该依靠预先编写的模块,以及如何从我们应该试着写我们自己的? 你不应该浪费时间重新发明轮子。如果有设备的司机可用Labview,使用它们。你可以学到很多的的复制代码类似于在功能和裁缝到你的需要-你会看到其他人如何解决类似的问题,并解释自己的解决方案之前,可以适当地将其应用到你的问题。如果你们一味复制代码机会获得它的工作很渺茫。你必须很好的,即使你复制代码。

好运!

我建议你使用LabVIEW为你可以得到下作出的机器人什么你想要做得更快和更容易。LabVIEW已经设计了这种心态。当然,C(++)是伟大的语言,但LabVIEW做什么,它应该做的事比什么都好。人们可以写很好的软件在LabVIEW,因为它提供充足的范围和支持。

有一个巨大的东西我找到负在采用LabVIEW对我的应用程序:组织设计的复杂性。作为一个physisist我找到Labview伟大的原型仪器控制和数学分析。没有语言中,你得到更快和更好的结果,然后在LabVIEW。我用LabView自1997年以来。自2005年以来,我换完全的。净框架,因为这是比较容易设计和维持。

在LabVIEW一个简单的"如果"的结构必须制定和使用的大量空间上你的图形设计。我刚刚发现我们的许多商业应用很难维持。更复杂的应用程序成了更多的困难于阅读。

我现在使用种语言的文本和我要好得多,在维护一切。如果你会比较C++LabVIEW我会用LabVIEW,但相比,C#它不会赢得

作为永诺,它依赖。

我使用LabVIEW由于约20年,现在并没有一个相当大的种工作,从简单数据采集到非常复杂化,从设备的控制测试序.如果它没有足够好的,我肯定会有交换。这就是说,我开始编码Fortran与punchcards和使用一个整体很多编程语言中的8位'机器',开始与Z80基础的。语言不等汇编的基础,从涡轮Pascal到C.

LabVIEW是一个重大改进,因为其广泛的图书馆数据采集和分析。一个有,但是,学习不同的paradigma.你肯定需要一个跟踪球;-))

我不要任何有关LabView(或多关于C/C++),但是..

你认为图形的语言,如LabVEIW是未来的编程?

没有...

是个图形语言更容易了解,比文字的语言?我认为他们应该是关于同样具有挑战性的学习。

更容易了解吗?没有,但他们 更容易解释和理解。

解释一种编程语言你要解释什么变量(这是令人惊讶的困难)。这不是一个问题flowgraph/节的编码工具,喜欢的乐高Mindstroms编程接口或石英的作曲家..

例如, 这是一个相当复杂的乐高Mindstroms程序 -这是非常容易理解是什么在...但是,如果你想的机械运行的 INCREASEJITTER 方框5次、然后驱车前了10秒钟,然后尝试INCREASEJITTER循环了吗?事情开始变得混乱的非常快。。

石英的作曲家是一个伟大的虚伪了这一点,并为什么我不认为图形的语言都不会"的未来"

这使得它很容易要真正酷的东西(3D粒子的影响,有一个摄像机控制的亮度平均素从一个摄像头)..但令人难以置信的困难的事很容易的事情,比如迭代该元素自XML文件,或储存,平均素值到一文件。

看到作为我们partailly植根于帮助人们了解,有多少我们应该依靠预先编写的模块,以及如何从我们应该试着写我们自己的?("良好的程序员编写良好的代码,伟大的程序复制好的代码。" 但是不是值得被一个很好的编程员,第一次?)

对于学习,就轻松多了两解释和理解的一个形语言..

这就是说,我会推荐一个专门的基于文本的语言的语言作为一个进展。例如,对于图像 处理NodeBox.他们是"正常的"语言(处理Java、NodeBox是蟒)与非常专业的、易于使用(但非常强大的)框架根深蒂固的入他们。。

重要的是,他们都非常的交互式语文,你没有写数以百计的线只是为了得到一个圈子屏幕上..你只的类型 oval(100, 200, 10, 10) 和新闻运行按钮,它出现!这也使得它们非常容易证明和解释。

更多的机器人技术相关的,即使什么样的标志将是一个很好的介绍-你型的"正向1",并龟驱动的进一个盒子里..类型的"左90"和它变成90度..这涉及到的现实非常简单。你可以想象什么每一个指令将这样做,然后尝试,并且确认它真的工作的方式。

告诉他们莹找的东西,他们将拾取有益的东西,他们会学习,从C的方式,如果他们感兴趣或得进展到哪里他们需要一个"真正"的语言,他们将有所有的知识,而不是运行为语法错误和汇编的砖墙。。

看来,如果你正在尝试做好准备我们团队一个未来在程序,C(++)ma是更好的途径。承诺的一般程序语言,都建有些建筑模块似乎从来没有兑现,我开始不知道如果他们会的。看来,虽然它可以完成的具体问题领域,一旦你得到试图解决的许多一般性问题的文本基础编程语言是很难击败。

在同一时间,我有种类的买入的思想的可执行UML但似乎一旦你过去的对象关系的一些流程UML将是一个非常悲惨的方式建立一个应用程序。想象一下,试图线,它的所有达到一个图形用户界面。我不介意被证明是错误的,但迄今为止似乎不可能的,我们将可以点击和编程。

我开始用LabVIEW约2年前和现在使用它所有的时间,所以可能是有偏见但是发现它的理想的应用数据获取和控制都参与其中。

我们利用LabVIEW主要用于测试在我们采取连续的测量和控制气阀和吃的外壳。这涉及到两个数字和模拟的输入和输出信号分析程序和过程控制的所有运行,从一个图形用户界面。通过分解每个部分进入subVIs我们能够重新配置的试点和拖鼠标。

不完全一样C/C++但类似的执行情况的测量、控制和分析使用Visual BASIC出现复杂和难以维持通过比较.

我认为该进程的程更重要的是实际编码语言和你应该遵循的风格准则,对图形化编程语言。LabVIEW块图表显示的数据流动(数据流程),因此它应该很容易看到潜在的竞争条件虽然我从来没有过任何问题。如果你有一C的代码然后建设成为一个dll将允许LabVIEW称呼它。

有一定的优点到这两种选择;然而,由于你的领域是教育的经验,我认为,一个C/C++的解决方案将最有利于学生。图形程将始终是一个选项,而只是不提供的功能中的一个优雅的方式,这将使它更有效地使用于文本编程,用于低一级的方案编制。这不是一件坏事-整点抽象的是允许一个新的理解和视的一个问题领域。我相信许多人可能会感到失望的图形程虽然是,对于任何特定程序,增量增加从方案编制的C图形是不近相同,从大会C

知识的图形程将有益于今后的任何程序确定的。可能有机会在今后,只需要知识的图形程以及或许一些你的学生可以从中受益的一些早期的经验。另一方面,一个坚实的基础在基础编程的概念提供了一个文本的办法将受益 所有 你的学生和当然,必须更好地回答。

队长认为,LabVIEW 是更好地为其方便学习和 教学。是真的吗?

我怀疑这将是适用于任何一种语言,或者范式。LabView可以肯定会更容易为人与电子工程背景;制作计划中它是"简单"的绘画线。然后再一次,这些人可能已经暴露程。

一个重要的差异--除了从图形是,LV是基于需求(流量)方案编制。你开始的结果,并告诉什么是需要得到它。传统的编程往往是必要的(会的其他方式圆)。

一些语言可以提供两个。我造一个多图书馆为卢最近(道)它可用于基于需求的编程在无必要的环境。我知道有成功运行的机器人大多是在Lua出有(疯狂的Ivan 在Lua哦六)。

你有没有看一看Microsoft机器人技术工作室吗?http://msdn.microsoft.com/en-us/robotics/default.aspx

它允许视节目(唱):http://msdn.microsoft.com/en-us/library/bb483047.aspx 以及现代语言等。我鼓励你至少看一看的教程。

我抱怨针对Labview(和Matlab在这方面)是如果你计划入代码以外的任何其他x86(和Labview的工具,把Labview对武器),那么你就必须把多少马力的问题,你可以,因为这是效率低下。

Labview是一个伟大的原型工具:许多图书馆,便于串在一起块,也许一点很难做到的先进的算法,但是有可能的框为什么你想要做的。你可以得到的功能,迅速完成。但如果你认为你可以把这六只是把它放在一个装置你是错误的。例如,如果你做加法框在Labview你有两个输入和一种输出。什么是记忆的使用是什么?三个变量的数据?两个?在C或C++你知道,因为你可以写 z=x+yx+=y 你知道到底是什么代码是做什么的存储器的情况。存储器的使用可以钉快特别是因为(正如其他人已经指出的)Labview是高度平行的。所以准备投入更多的RAM比你想象在这个问题。和更多的处理能力。

总之,Labview是伟大的快速成型的但你失去了太多的控制在其他情况。如果你的工作与大量数据的或有限的存/处理能力后使用基于文本的编程语言,所以你可以控制什么。

人们总是比较labview用C++和日"哦labview是高级别和它有这么多建立在功能试图获取数据做一个dfft和显示的数据,它很容易在labview尝试在C++".

神话1:这是难以得到任何东西做C++其因为其如此之低的水平和labview有许多事情已经实施。问题是如果你正在发展一个机器人系统在C++你必须使用图书馆喜欢开源,pcl..等等,你会更聪明如果你使用一个软件框架,设计用于建筑机械系统,如ROS(机器人操作系统)。因此需要使用全套工具。事实上有更高水平的可用工具当使用,ROS+python/c++与库,例如开源和pcl。我已经使用labview机器人技术和坦率地通常用算法像比较方案是不存在和它的不像你可以使用其他库容易了。

Myth2:是很容易理解的图形化编程语言

它取决于有关情况。当你的编码一个复杂的算法的形元将占用了宝贵的画面的空间,并将难以了解的方法。了解labview码你有读过一个领域是O(n^2)的复杂性,在代码你只读。

什么如果你有平行系统。ROS实现了一个曲线基础架构的基础上subcriber/发布消息的实施使用回调和其很容易具有多个程序的运行和连通。具有个人并行分离,使它更易于调试。例如逐步通过平行labview代码是一场噩梦,因为控制流量的跳跃形成一个地方到另一个地方。在罗斯你不明确'画出你的archietecture像在labview,但是你仍然可以看到它我的运行命令ros运行rqt_graph(这将显示所有连接节点)

"编程的未来是图形。" (这样认为吗?)

我希望不会,当前实施的labview不允许编码使用的基于文本的方法和图形的方法。(有mathscript,然而,这是令人难以置信的缓慢)

其难以调试因为你不能隐藏的并行性很容易。

它很难读labview代码,因为在那里,你有看过这么多的区域。

Labview是伟大的数据aq和信号处理,但不是机器人技术实验,因为最高级别组件的像摔(同时进行定位和测绘),指云注册,指云处理等。即使他们加入这些组成部分和它们很容易将像在ROS,因为labview是专有的和昂贵的,他们将永远保持与开源社区。

在摘要如果labview是未来电子机械我改变我的职业生涯的路径投资银行...如果我不能享受我的工作我可以赚一些钱,并退休。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top