人工智能机器人编程所用的语言是哪种
最近,像ROS行业已经开始为程序员提供更加标准化的替代语言选择。但是如果是一个技术人员,你仍然更可能不得不使用制造商的编程语言。
8.LISP
LISP是世界上第二古老的编程语言(FORTRAN更古老,但只差一年)。相比本文提到很多其它编程语言,它的应用并不广泛。不过在人工智能编程领域它还是相当重要的。ROS的一部分是用LISP写的,虽然你不需要掌握这个来使用ROS。
7.硬件描述语言(HDL)
硬件描述语言一般是用来描述电气的编程方式。这些语言对于一些机器人专家来说是非常常见,因为他们习惯FPGAs(FieldProgrammableGateArrays)编程。FPGAs能让你开发电子硬件而无需实际生产出一块硅芯片,对于一些开发来说,这是更快更简易的选择。如果你没有开发电子原型产品,你也许永远不会用HDLs。
即便如此,还是有必要了解一下这种编程语言,因为它们和其它编程语言差别很大。一个重点:HDLs所有的操作是并发的,而不是基于处理器的编程语言的顺序操作。
6.Assembly
Assembly使你能够在“1和0级”程序中进行编程。这是最底层的编程语言。在过去,大多数底层硬件需要在Assembly中进行编程。随着Arduino和其他类似微控制器的兴起,你现在可以利用C/C++在底层进行有效的编程,这意味着Assembly对于一般的机器人科学家来说,显然已不太重要。
5.MATLAB
MATLAB、及其相关的开源语言(例如Octave),是一些著名的机器人科学家用于调查数据和创建控制系统常用的语言。
此外,还有一个非常有名的MATLAB机器人工具箱。如果你需要分析数据,创建高级图表或执行控制系统,那就需要学习MATLAB。
4.C#/.NET
C#是微软提供的一种限制性编程语言。这很大程度上是由微软机器人工程师工作室(MicrosoftRoboticsStudioStudio)提供的,微软机器人工程师工作室将其作为其基本语言。如果你使用这个框架,就必须学习C#。尽管如此,想要长期地提高自身的编码能力,首先学习C/C++不失为一个好的选择。
3.Java
作为一个电子工程师,我经常惊讶于一些软件工程课程将Java作为他们的第一编程语言。
Java对程序员“掩盖”底层存储功能,这使得Java对程序的要求要比C语言对程序的要求更低一些,但这意味着你对底层代码的运行逻辑了解比较少。从软件工程的基础到探索机器人技术的未来,你很可能已经学习了Java。
像C#和MATLAB一样,Java是一种解释性语言,这意味着它不会被编译成机器代码。相反,Java虚拟机在运行时解释指令。使用Java,理论上让你可以在不同的机器上运行相同的代码,这得感谢Java虚拟机。在实践中,这不总是可行的,有时会导致代码运行缓慢。但是Java在一部分机器人学中非常流行,因此你也许需要它。
2.Python
近来,尤其是在机器人领域,Python已经有了翻天覆地的变化。其中一个原因是Python(和C++)是ROS中的两种主要编程语言。
如同Java一样,它也是一种解释性语言。但与Java不同的是,Python的重点是易用性。Python不需要很多时间来做常规的事情,如定义和强制转换变量类型。这些在编程里面本是很平常的事。另外,Python还有大量的免费库,这意味着当你需要实现一些基本的功能时不必“重新发明轮子”。而且由于它与C/C++代码之间可以进行简单的绑定,这就意味着代码繁重部分的性能可以植入这些语言,从而避免性能损失。
随着越来越多的电子产品开始支持“开箱即用”Python(与RaspberryPi一道),我们可能会在机器人中看到更多Python。
1.C/C++
机器人第一编程语言——C/C++!很多人都认为C和C++对新的机器人科学家来说是一个良好的开端。
为什么呢?
其主要原因是如今有大量的硬件库都使用这两种语言。它们适用于低级别的硬件,允许实时性能,是非常成熟的编程语言。现在,你可能会使用C++远超过C,因为C++具有更大的实用性。C++是C语言的扩展,从基础的C学起,你也会收获很多,特别是当你发现一个硬件库是用C编写的。但是C/C++编写的硬件库不像Python或MATLAB那样简单易用。使用C来执行类似的功能,可能需要相当长的时间,并且需要更多的代码行。尽管如此,由于机器人极其依赖实时性能,所以C和C++是最接近机器人科学家心目中“标准语言”的编程语言。
总结
本文列举了机器人十大热门编程语言,但这并不意味着你需要全部掌握每一门。对于每位开发者而言,最重要的是要发现一种对自身来说很自然的语言,且适合你的机器人硬件。也需要一种语言,使你能够快速而有效地创建程序。
我的个人建议先学习Python。因为Python是一门非常简单易懂的语言,有许多有效的库可供学习,而且功能非常强大。我听过也看过很多(官方经验丰富的)程序员可以在几天内学习会Python,并且很快就应用到大部分编程需求中。当你能明智地使用Python之后,我会建议学习C,由C++来牵引。因为你需要将它与机器人硬件驱动程序的巨大主导接口进行交互。返回搜狐,查看更多