为什么C,C ++和LISP在嵌入式设备和机器人中如此盛行? [英] Why are C, C++, and LISP so prevalent in embedded devices and robots?

查看:151
本文介绍了为什么C,C ++和LISP在嵌入式设备和机器人中如此盛行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

似乎嵌入式设备和机器人最需要的软件语言技能是C,C ++和LISP。为什么没有更新的语言进入这些应用程序?

It seems that the software language skills most sought for embedded devices and robots are C, C++, and LISP. Why haven't more recent languages made inroads into these applications?

例如, Erlang 似乎特别好,适用于机器人应用程序,因为它使并发编程更容易,并允许热插拔代码。 Python 似乎很有用,如果没有其他原因,它不支持多种编程范例。我甚至很惊讶,Java没有进行一般的机器人编程。

For example, Erlang would seem particularly well-suited to robotic applications, since it makes concurrent programming easier and allows hot swapping of code. Python would seem to be useful, if for no other reason than its support of multiple programming paradigms. I'm even surprised that Java hasn't made a foray into general robotic programming.

我确定有一个论点是,一些较新的语言被解释,而不是编译 - 意味着编译语言更快,使用更少的计算资源。这是否仍然是这样,在我们可以在手机或SunSpot上放置Java虚拟机的时候? (并且不是LISP解释吗?)

I'm sure one argument would be, "Some newer languages are interpreted, not compiled" - implying that compiled languages are quicker and use fewer computational resources. Is this still the case, in a time when we can put a Java Virtual Machine on a cell phone or a SunSpot? (and isn't LISP interpreted anyway?)

推荐答案

我曾经构建了一个基于Java的机器人。垃圾收集在墙上。

I once built a robot based on Java. It garbage collected right into a wall.

如果要运行的进程不能显示(例如,基于Linux的系统),那么他们必须知道要获得某些高优先级进程,例如运动控制。所以要么你自己用低级语言C,或者你使用RTOS。

If you're going to have processes running that you can't micromanage (eg, a Linux based system) then they must know to yield to certain high priority processes like motion control. So either you do it yourself in a low level language like C, or you use an RTOS.

这篇关于为什么C,C ++和LISP在嵌入式设备和机器人中如此盛行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆