大疆编程为什么不用java开发

fiy 其他 10

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    大疆编程为什么不使用Java开发?

    一、历史原因
    大疆公司成立于2006年,当时Java并没有成为主流的编程语言,C++是主流的选择。因此,大疆最初选择了C++作为开发语言,用于开发无人机飞行控制系统。

    二、性能要求
    无人机飞行控制系统对性能要求非常高,需要实时处理大量的数据。而相比于Java,C++语言在性能方面具有一定的优势。C++是一种编译型语言,运行效率高,内存管理灵活,可以更好地满足实时性要求。因此,大疆选择了C++作为开发语言。

    三、资源和经验积累
    大疆在无人机领域有着丰富的经验和资源积累,团队成员多数是对C++有着深入了解的工程师。选择继续使用C++可以最大程度地发挥团队的技术优势和经验积累。

    四、生态系统支持
    Java作为一种非常流行的编程语言,拥有庞大的生态系统和强大的社区支持。然而,在无人机飞行控制系统领域,C++具有更多的相关库和工具,这些库和工具可以更好地满足大疆的开发需求。

    五、平台兼容性
    大疆的产品涵盖了多个平台,包括不同的操作系统和硬件设备。C++语言具有较好的跨平台性,可以更好地适应各种平台的需求。

    综上所述,大疆编程选择不使用Java开发主要是基于历史原因、性能要求、资源和经验积累、生态系统支持以及平台兼容性等因素的考虑。尽管Java是一种流行的编程语言,但在无人机飞行控制系统领域,C++更适合满足大疆的需求。

    1年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    大疆编程不使用Java开发的原因有以下几点:

    1. 性能问题:Java是一种解释型语言,相较于编译型语言(如C++),其性能较低。而对于无人机等需要实时响应的应用场景,性能是非常重要的因素。为了保证无人机的飞行控制和图像处理等功能的实时性和高效性,大疆选择了使用C++等编译型语言开发。

    2. 跨平台问题:Java虽然是一种跨平台的语言,但是在嵌入式系统中的兼容性较差。无人机的嵌入式系统通常使用精简的操作系统,如RTOS(Real-time Operating System),而Java虚拟机在这些系统上的支持并不完善。为了确保在各种嵌入式环境下能够稳定运行,大疆选择了使用更加适合嵌入式系统的编程语言。

    3. 内存管理问题:Java使用垃圾回收机制来管理内存,这种机制会引入一些不可控的延迟,而无人机等实时应用对延迟要求非常严格。此外,垃圾回收机制还会占用一定的系统资源,对于资源有限的嵌入式系统来说,这是不可接受的。因此,为了提高系统的响应速度和效率,大疆选择了使用不依赖垃圾回收机制的编程语言。

    4. 控制硬件问题:无人机作为一种物理设备,需要与各种硬件进行交互和控制,如电机、传感器等。而Java在直接控制硬件方面的支持相对较弱,无法满足大疆对于硬件控制的需求。相比之下,C++等编译型语言更加灵活和高效,能够更好地与硬件进行交互。

    5. 开发工具和生态系统问题:Java拥有非常丰富的开发工具和生态系统,但是对于无人机等特定领域的开发来说,并不一定能提供最佳的支持。大疆作为无人机行业的领军企业,需要根据自身的需求进行定制化开发,使用更加适合的工具和技术。因此,大疆选择了使用自己研发的DJI SDK进行无人机的编程开发。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    大疆编程不使用Java开发的原因有以下几个方面:

    1. 性能:Java是一种解释型语言,运行时需要通过Java虚拟机(JVM)来解释执行,因此相对于直接运行机器码的语言,如C++,Java的性能要略低一些。对于无人机这种对性能要求较高的应用场景,使用C++等编译型语言更能提供更高的性能。

    2. 实时性:无人机的飞行过程需要实时控制和响应,对于实时性要求较高的应用,C++等编译型语言更容易满足实时性的需求。而Java语言由于有垃圾回收机制等特性,可能会造成一些不可控的延迟,无法满足实时控制的要求。

    3. 硬件接口:无人机编程需要与硬件设备进行交互,包括控制飞行器、接收传感器数据等。而Java语言对硬件接口的支持相对较弱,很难直接操作底层硬件,因此不适合开发无人机控制程序。

    4. 开发工具和生态系统:Java语言的开发工具和生态系统非常强大,适用于开发各种类型的应用程序。但对于无人机编程来说,往往需要使用特定的开发工具和库来进行硬件控制和算法处理。相比之下,C++等编译型语言在无人机领域拥有更多的开发工具和库支持。

    综上所述,由于性能、实时性、硬件接口和开发工具等方面的考虑,大疆编程选择不使用Java开发无人机控制程序。而是选择更适合无人机应用场景的编译型语言,如C++等。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部