
回复
我们知道操作系统至少需要一些非常低级的代码,这些代码在系统首次启动时运行,必须使用接近硬件的语言编写。
特斯拉有两个车辆操作系统 :
查看特斯拉公共 GitHub(其中仅包含一些项目,并且不是完全最新的),特斯拉使用了大量的 Ruby 和 Go,当然还有一些 C++,但是他们在 GitHub 上没有 Python 项目。
根据工作列表判,他们的“信息娱乐”系统似乎确实涉及一些 Python 代码(断),但 Python 似乎不太可能是它的主要语言。但这并不意味着他们不经常使用 Python。他们似乎经常将它用作内部系统的语言,包括一般业务和特定于他们工厂和建筑系统的事物,他们还使用 Python 进行机器学习开发工作(尽管实际部署在客户车辆上的机器学习被转移了到 C++),主要的做法是:Python 进行快速原型设计和训练机器学习模型,然后用 C++ 重新编码以提高效率。
他们也使用 javascrip,尤其是 React。并且他们开发移动应用程序,因此使用 Swift 和 Objective C 等语言用于 Apple 和 Android 的等效语言。他们在整个公司都有各种应用程序,尤其是网络应用程序,供一般业务使用,并且似乎很乐意使用最适合许多任务的任何语言。
信息娱乐系统及其外围设备(摄像头、音响系统等)基于 Linux (C)。用户界面组件是使用 C++ 中的 Qt 编写的。
一句话就是没有最最好的语言,只有最合适的语言,也没有绝对的标准,只有是适合自己的标准,他们摈弃了AutoSAR繁琐的标准,并重视对现有开源软件代码的重构。
文章转载自公众号:车端