0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

机器学习中最流行的10种编程语言

电子工程师 来源:工程师李察 2019-01-01 11:02 次阅读

在本文中,我们将会审视在机器人学习中最流行的10种编程语言,深入探讨它们各自的优缺点以及使用和弃用它们的原因。

这实际上是个很有道理的问题——毕竟,如果你从不付诸实践,那为什么要花大量的时间和精力去学习一种新的编程语言呢?如果作为一名机器人学新人,你当然会想学习一种确实对你的职业生涯很有用的编程语言。

不幸的是,如果你去问一屋子的机器人学专家,“什么是机器人学中最好编程语言?”,你永远不会得到一个直接的答案。

电气工程师会从工业机器人技术这个角度给出不同的答案。计算机视觉程序员给出的答案会跟认知机器人专家给出的不一样。而且,每个人都会对什么是最好的编程语言有自己的看法。对于一个新入行正在试图决定要先学哪种语言的机器人学者来说,这是一个相当无用的答案。即使这是最现实的回答——因为它的确取决于你想要开发的应用程序和你在使用的系统。

对于机器人专家来说,最重要的事情是开拓你的”编程思维”,而不是精通一种特定的编程语言。从很多方面来说,从哪种编程语言开始学习真的无关紧要。你学习的每种语言提升了你的编程思维,拥有了这种思维,去学习一种新编程语言的时候会容易不少。

世界上有1500多种编程语言,都要学的话是太多了。目前,在机器人学中有这10种最流行的编程语言——如果你喜欢的不在这里,请在留言区告诉大家。对于机器人学,每种编程语言有不同的优点。我只是部分地按照重要程度从低到高对它们进行了排序。

10、BASIC/Pascal

BASIC和Pascal是我最早学过的两种编程语言。不过这并不是我把它们列在这里的原因。对于几种工业机器人语言,它们是基础,下面说明一下。BASIC是为初学者设计的(BASIC是缩写,BeginnersAll-PurposeSymbolicInstructionCode),它让初学者可以从一种非常简单的编程语言开始学习。Pascal旨在鼓励好的编程习惯,还引入了结构,例如指针,这让Pascal成为从BASIC到更复杂语言的一块“敲门砖”。如今,这两种语言如果要说是好的“日常使用”程序语言,那是有点过时了。不过如果你准备做很多底层编码或是想要熟悉一下其它工业机器人编程语言,学习一下还是有用的。

9、工业机器人编程语言

几乎每一个机器人制造商都开发了他们自己专有的机器人编程语言,这成了工业机器人行业中的一个问题。通过学习Pascal,你会熟悉它们中的一部分。但是每次开始使用新的机器人时,你还得学习一种新的编程语言。

最近几年,ROS行业已经开始提供更标准化的替代语言给程序员。但是如果是一个技术人员,你仍然更可能不得不使用制造商的编程语言。

8、LISP

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

7、硬件描述语言(HDLs)

硬件描述语言一般是用来描述电气的编程方式。这些语言对于一些机器人专家来说是相当熟悉的,因为他们习惯FPGAs(FieldProgrammableGateArrays)编程。FPGAs能让你开发电子硬件而无需实际生产出一块硅芯片,对于一些开发来说,这是更快更简易的选择。如果你没有开发电子原型产品,你也许永远不会用HDLs。即便如此,还是有必要了解一下这种编程语言,因为它们和其它编程语言差别很大。一个重点:HDLs所有的操作是并发的,而不是基于处理器的编程语言的顺序操作。

6、Assembly

Assembly让你能在0和1数位上进行编程。基本上这是最底层的编程语言。就在最近,最底层的电子需要Assembly进行编程。随着Arduino和其它如微控制器的崛起,现在你可以使用C/C++在底层方便地编程了。这意味着Assembly对于大多数机器人专家来说也许会变得更不必要了。

5、MATLAB

MATLAB以及和它相关的开源资源,比如Octave,一些机器人工程师特别喜欢,它被用来分析数据和开发控制系统。还有一个非常流行的机器人工具箱——MATLAB。我知道一些仅仅使用MATLAB就能开发出整个机器人系统的专家。如果你想要分析数据,产生高级图像或是实施控制系统,你也许会想学习MATLAB。

4、C#/.NET

C#是微软提供的专用编程语言。我把C#/.NET放在这里,主要是因为微软机器人开发员工作包(Microsoft Robotics Developer Studio),这个包的主要开发语言是C#。如果你准备用这个系统,那么你很可能必须要用C#。

3、Java

作为一位电子工程师,我总是对一些计算机科学学位课程将Java作为第一种编程语言让学生们学习感到惊讶。Java对程序员隐藏了底层存储功能,这让它比起一些语言(如C语言)来说,编写要容易些,但这也意味着你会更少地理解底层代码的运行逻辑。如果你有计算机科学背景并转到机器人学(很多人是这样的,特别是在研究领域),你也许已经学过Java。像C#和MATLAB,Java是一种解释性语言,这意味着它不会被编译成机器代码。相反,Java虚拟机在运行时解释指令。使用Java,理论上让你可以在不同的机器上运行相同的代码,这得感谢Java虚拟机。在实践中,这不总是可行的,有时会导致代码运行缓慢。但是Java在一部分机器人学中非常流行,因此你也许需要它。

2、Python

近年来,学习Python的人有一个巨大的回潮,特别是在机器人领域。其中一个原因可能是Python(和C++)是ROS中两种主要的编程语言。与Java不同,Python的重点是易用性,Python不需要很多时间来做常规的事情,如定义和强制转换变量类型。这些在编程里面本是很平常的事。另外,Python还有大量的免费库,这意味着当你需要实现一些基本的功能时不必“重新发明轮子”。而且因为Python允许与C/C++代码进行简单的绑定。这就意味着代码繁重部分的性能可以植入这些语言,从而避免性能损失。随着越来越多的电子产品开始支持“开箱即用”Python(与RaspberryPi一道),我们可能会在机器人中看到更多Python。

注:The Raspberry Pi Foundation:英国一个小型的慈善组织,成立的宗旨在于推广科技,而非以销售技术来营利。

1、C/C++

最后我们到了排名第1的机器人编程语言!许多人认为C和C++对新入行的机器人学家是一个很好的起点。为什么?因为很多硬件库都使用这两种语言。这两种语言允许与低级别的硬件进行交互,允许实时性能,是非常成熟的编程语言。现如今,你可能会使用C++比C多,因为前者具有更多的功能。C++基本上是C的一种延伸。首先学一点C会很有用,特别是当你发现一个硬件库是用C编写的。C/C++并不是像Python或MATLAB那样简单易用。同样用C来实现相同的功能会需要大量时间,也将需要更多行代码。但是,由于机器人非常依赖实时性能,C和C++是最接近我们机器人专家“标准语言”的编程语言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    206

    文章

    27033

    浏览量

    201399
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92388
  • 机器学习
    +关注

    关注

    66

    文章

    8122

    浏览量

    130558
收藏 人收藏

    评论

    相关推荐

    fpga用什么语言编程

    FPGA(现场可编程门阵列)的编程主要使用硬件描述语言(HDL),其中最常用的是Verilog HDL和VHDL。
    的头像 发表于 03-14 18:17 751次阅读

    Python编程语言属于什么语言

    、易于学习和理解的语言,强调代码的可读性和简洁性。Python的设计真正做到了"坚守一种方法",非常注重代码的正确性和一致性。这也是为什么Python非常受欢迎的主要原因之一。接下来,我将详细介绍Python的特点、用途、优势和历史。 作为高级
    的头像 发表于 11-22 14:31 642次阅读

    51单片机C语言编程入门学习资料

    电子发烧友网站提供《51单片机C语言编程入门学习资料.pdf》资料免费下载
    发表于 11-18 11:04 11次下载
    51单片机C<b class='flag-5'>语言</b><b class='flag-5'>编程</b>入门<b class='flag-5'>学习</b>资料

    51单片机C语言入门教程

    的选择之一。51 的编程语言常用的有二,一是汇编语言,一是 C
    发表于 09-28 08:01

    目前流行编程语言有哪些?如何选择

    普遍针对的是不同开发人员以及不同的开发用处,例如移动应用、游戏开发、web开发、分布式系统等。所以学习编程语言,最重要是找到最适合自己的语言,并融会贯通加以使用。
    的头像 发表于 09-21 14:45 724次阅读
    目前<b class='flag-5'>流行</b>的<b class='flag-5'>编程</b><b class='flag-5'>语言</b>有哪些?如何选择

    七种编程语言学习曲线

    程序员 Dobiasd 绘制七种编程语言学习曲线图。 这些语言是:JavaScript、Java、C++、Python、Lisp、Haskell、PHP
    的头像 发表于 08-29 17:18 516次阅读
    七种<b class='flag-5'>编程</b><b class='flag-5'>语言</b>的<b class='flag-5'>学习</b>曲线

    python数据挖掘与机器学习

    python数据挖掘与机器学习 Python是一个非常流行编程语言,被广泛用于数据挖掘和机器
    的头像 发表于 08-17 16:29 885次阅读

    python机器学习概述

    是一种非常流行编程语言,因为它具有非常强大的数据分析和科学计算库。Python可以被用来完成一系列的任务,包括机器学习、数据分析、图像处理
    的头像 发表于 08-17 16:11 764次阅读

    人工智能学习什么语言

    对于机器学习而言,编程语言是非常重要的,因为机器学习的实现需要大量的算法和模型。而
    的头像 发表于 08-14 14:40 551次阅读

    人工智能学什么编程语言

    人工智能学什么编程语言 人工智能是科技领域中最具前景的领域之一。自20世纪50年代以来,人工智能已经取得了长足的进步。然而,为了让人工智能更加智能化,语言也成为了一种非常关键的要素。因
    的头像 发表于 08-12 17:44 484次阅读

    人工智能学什么语言

    ,因为机器学习是人工智能的一个重要组成部分。 目前,许多编程语言都被用来开发AI应用程序。一些最受欢迎的编程
    的头像 发表于 08-12 16:58 445次阅读

    工业机器编程

    工业机器编程 工业机器人一般使用的编程语言主要有:基于图形化编程界面的
    发表于 06-26 14:03 611次阅读

    关于编程语言开发技术和AI的部分

    。本文主要介绍关于开发技术和 AI 的部分。 最流行编程语言 JavaScript 连续 11 年成为最流行编程
    的头像 发表于 06-26 09:45 332次阅读
    关于<b class='flag-5'>编程</b><b class='flag-5'>语言</b>开发技术和AI的部分

    学习上位机编程还是PLC编程

    编程方式。因此,我们可以直接学习上位机编程,而不需要先经过PLC编程学习。 虽然PLC编程
    发表于 05-09 14:23 3次下载
    先<b class='flag-5'>学习</b>上位机<b class='flag-5'>编程</b>还是PLC<b class='flag-5'>编程</b>

    语言进步推动人工智能发展

    早期的AI主要用在运行原始Lisp运算的专用硬件上,由Lisp(LISt处理器)编程语言提供支持。Lisp是最早的语言之一,在处理项目列表方面非常高效。随后通用机器变得
    的头像 发表于 05-09 10:19 372次阅读