铁打的java_铁打的Java,流水的编程语言,后来居上的Python

原标题:铁打的Java,流水的编程语言,后来居上的Python

进行人工智能机器人研发,究竟应该选择哪种编程语言?

我相信这已经不是个例的疑问,而是所有要做人工智能的人员入门时相同的一个疑问。

毕竟,在学习一门编程语言时,你需要花费大量的时间以及精力,但如果你掌握了一门语言却又不发挥其真实的价值,那又有何用呢?

但直到今天也没有一个确切的答案出现。

如果你在 Stack Overflow、Reddit 或 Research Gate 等机器人专家或者社区论坛上提问“机器人最好的编程语言是什么?”

毋庸置疑,你将会收到不同的答案。

最多的推荐便是Python,其次是Java。

大多数人都会相信的“最好的入门级编程语言”的答案是“这将取决于哪一领域”。

其实最合理的答案,应该是它取决于你想开发什么类型的软件,以及你正在使用什么样的系统。

对于机器人科学家来说,最关键并不是特定的某种语言,而是建立“编程思维”。在很多方面,首先学习哪种编程语言并不重要,重要的是在通过编程思维来不断提高自身的技能。

扯得有点远,现在咱们来回归对于首选编程语言的选择。

世界上超过 1500 种编程语言可以学习。但在此,我们将介绍程序员在机器人编程中比较流行的语言,每种语言都有不同的优势,希望可以给予开发者提供一定的参考方向。

1.C / C ++

普适性稍微低一些,算是相对难一些的语言。

85c23a74fa160b60ec9746c120334954.png

机器人第一编程语言——C/C++!很多人都认为 C 和 C ++ 对新的机器人科学家来说是一个良好的开端。

其主要原因是如今有大量的硬件库都使用这两种语言。

它们适用于低级别的硬件,允许实时性能,是非常成熟的编程语言。

C / C ++ 编写的硬件库不像 Python 那样简单易用。使用 C 来执行类似功能,可能需要相当长的时间,并且需要更多的代码行。

虽然如此,但由于机器人极其依赖实时性能,所以 C 和 C ++ 是最接近机器人科学家心目中“标准语言”的编程语言。但是,就算如此,也并不能说C/C++一定比Python更适用于机器程序。

2. Python

众所周知,Python是最简单易用的高级语言。

4bb9a02839475dac035e121b1920a374.png

近年来,尤其是在机器人领域,Python 已经有了翻天覆地的变化。

如同 Java 一样,它也是一种解释性语言。但与 Java 不同的是,Python 的重点是易用性,Python 还有大量的免费库,这意味着当你需要实现一些基本的功能时不必“重新发明轮子”。而且由于它与 C / C ++ 代码之间可以进行简单的绑定,这就意味着代码繁重部分的性能可以植入这些语言,从而避免性能损失。

3. Java

作为一个电子工程师,我经常惊讶于一些软件工程课程将 Java 作为他们的第一编程语言。

2c9ad77e139824ef18f3707be85acbcf.png

Java 对程序员“掩盖”底层存储功能,这使得 Java 对程序的要求要比 C 语言对程序的要求更低一些,但这意味着你对底层代码的运行逻辑了解比较少。从软件工程的基础到探索机器人技术的未来,你很可能已经学习了 Java。

Java 是一种解释性语言,这意味着它不会被编译成机器代码。

相反,Java 虚拟机在运行时解释指令。使用 Java,理论上让你可以在不同的机器上运行相同的代码,这得感谢 Java 虚拟机。

在实践中,这不总是可行的,有时会导致代码运行缓慢。但是 Java 在一部分机器人学中非常流行,因此你也许需要它。

4. C#/ .NET

11ac35eb08b60e70b50a7044e04ec7a9.png

C# 是微软提供的一种限制性编程语言。这很大程度上是由微软机器人工程师工作室(Microsoft Robotics Studio Studio)提供的,微软机器人工程师工作室将其作为其基本语言。如果你使用这个框架,就必须学习 C#。尽管如此,想要长期地提高自身的编码能力,首先学习 C / C ++ 不失为一个好的选择,虽然是有难度的。

5. MATLAB

88dc70998d4d5682544e6e50539ec243.png

MATLAB、及其相关的开源语言(例如 Octave),是一些著名的机器人科学家用于调查数据和创建控制系统常用的语言。

此外,还有一个非常有名的 MATLAB 机器人工具箱。如果你需要分析数据,创建高级图表或执行控制系统,那就需要学习 MATLAB。

6. LISP

LISP 是世界上第二古老的编程语言(FORTRAN 更古老,但只差一年)。相比本文提到很多其它编程语言,它的应用并不广泛。不过在人工智能编程领域它还是相当重要的。ROS 的一部分是用 LISP 写的,虽然你不需要掌握这个来使用 ROS。

7. BASIC

462b630bf869b94c9e45f340eefe074d.png

BASIC 事实上,它们可以很好地运用于工业机器人编程上。BASIC 针对初学者而设计,这使它可以成为开发者简单的入门语言。

Pascal 旨在提高编程实践,还引入了一些类似于指针这样的构建,这使得它成为从 BASIC 晋升到更高级的其他语言的一个奠基石。如今,这两种语言对“日常应用”的程序语言来说有些过时了。但如果你准备进行一定程度的底层编码,或需要熟悉其他工业机器人语言时,那么了解它们会对你有所帮助。

总结

本文列举的机器人编程语言,并不意味着你需要全部掌握每一门。对于每位开发者而言,最重要的是要发现一种对自身来说很自然的语言,且适合你的机器人硬件。也需要一种语言,使你能够快速而有效地创建程序。

我的个人建议推荐学习 Python或Java。

因为 Python 是一门非常简单易懂的语言,有许多有效的库可供学习,而且功能非常强大。我听过也看过很多(官方经验丰富的)程序员可以在几天内学习会 Python,并且很快就应用到大部分编程需求中。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值